private void InitializeSSLSocket(IServerSSLConnectionSettings aSettings) { ((ElServerSSLSocket)fDataSocket).OnCertificateValidate += new SBServer.TSBCertificateValidateEvent(OnSecureServerCertificateValidate); if (aSettings != null) { if (aSettings.get_OnCertificateValidate() != null) { this.OnCertificateValidate += aSettings.get_OnCertificateValidate(); } for (short i = SBConstants.Unit.SB_SUITE_FIRST; i < SBConstants.Unit.SB_SUITE_LAST; i++) { set_CipherSuites(i, aSettings.get_CipherSuites(i)); } this.CertStorage = aSettings.CertStorage; this.Versions = aSettings.Versions; this.ClientAuthentication = aSettings.ClientAuthentication; this.ClientCertStorage = aSettings.ClientCertStorage; this.ForceCertificateChain = aSettings.ForceCertificateChain; this.SessionPool = aSettings.SessionPool; } }
} } public class ServerSSLConnection : SSLConnection { public ServerSSLConnection(System.Net.Sockets.Socket aSocket, IServerSSLConnectionSettings aSettings) { fDataSocket = new ElServerSSLSocket(aSocket); InitializeSSLSocket(aSettings); ((ElServerSSLSocket)DataSocket).OpenSSLSession(); } private void InitializeSSLSocket(IServerSSLConnectionSettings aSettings) { ((ElServerSSLSocket)fDataSocket).OnCertificateValidate += new SBServer.TSBCertificateValidateEvent(OnSecureServerCertificateValidate); if (aSettings != null) { if (aSettings.get_OnCertificateValidate() != null) this.OnCertificateValidate += aSettings.get_OnCertificateValidate();
} private void OnSecureClientCertificateChoose(object Sender, SBX509.TElX509Certificate[] Certificates, ref int CertificateIndex) { if (OnCertificateChoose != null)
public ServerSSLConnection(System.Net.Sockets.Socket aSocket, IServerSSLConnectionSettings aSettings) { fDataSocket = new ElServerSSLSocket(aSocket); InitializeSSLSocket(aSettings); ((ElServerSSLSocket)DataSocket).OpenSSLSession(); }