示例#1
0
 public ClientSSLConnection(
     RemObjects.InternetPack.Core.Binding aBinding,
     IClientSSLConnectionSettings aSettings
     )
     : base(new Socket(aBinding.AddressFamily, aBinding.SocketType, aBinding.Protocol))
 {
     fDataSocket        = new ElClientSSLSocket();
     fDataSocket.Socket = base.Socket;
     InitializeSSLSocket(aSettings);
     ((ElClientSSLSocket)fDataSocket).Connect(new IPEndPoint(aBinding.Address, aBinding.Port));
 }
示例#2
0
 public ClientSSLConnection(
     System.Net.Sockets.Socket aSocket,
     IPEndPoint remoteEndPoint,
     IClientSSLConnectionSettings aSettings
     )
     : base(aSocket)
 {
     fDataSocket        = new ElClientSSLSocket();
     fDataSocket.Socket = aSocket;
     InitializeSSLSocket(aSettings);
     ((ElClientSSLSocket)fDataSocket).Connect(remoteEndPoint);
 }
示例#3
0
        private void InitializeSSLSocket(IClientSSLConnectionSettings aSettings)
        {
            ((ElClientSSLSocket)fDataSocket).OnCertificateValidate += new SBClient.TSBValidateCertificateEvent(OnSecureClientCertificateValidate);
            ((ElClientSSLSocket)fDataSocket).OnCertificateNeeded   += new SBClient.TSBCertificateNeededEvent(OnSecureClientCertificateNeeded);
            ((ElClientSSLSocket)fDataSocket).OnCertificateNeededEx += new SBClient.TSBCertificateNeededExEvent(OnSecureClientCertificateNeededEx);
            ((ElClientSSLSocket)fDataSocket).OnCertificateChoose   += new SBClient.TSBChooseCertificateEvent(OnSecureClientCertificateChoose);

            if (aSettings != null)
            {
                if (aSettings.get_OnCertificateValidate() != null)
                {
                    this.OnCertificateValidate += aSettings.get_OnCertificateValidate();
                }
                if (aSettings.get_OnCertificateNeeded() != null)
                {
                    this.OnCertificateNeeded += aSettings.get_OnCertificateNeeded();
                }
                if (aSettings.get_OnCertificateNeededEx() != null)
                {
                    this.OnCertificateNeededEx += aSettings.get_OnCertificateNeededEx();
                }
                if (aSettings.get_OnCertificateChoose() != null)
                {
                    this.OnCertificateChoose += aSettings.get_OnCertificateChoose();
                }

                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;
            }
        }
示例#4
0
			IClientSSLConnectionSettings aSettings
			)
			: base(new Socket(aBinding.AddressFamily, aBinding.SocketType, aBinding.Protocol))
		{
			fDataSocket = new ElClientSSLSocket();
			fDataSocket.Socket = base.Socket;
			InitializeSSLSocket(aSettings);
			((ElClientSSLSocket)fDataSocket).Connect(new IPEndPoint(aBinding.Address, aBinding.Port));
		}

		private void InitializeSSLSocket(IClientSSLConnectionSettings aSettings)
		{
			((ElClientSSLSocket)fDataSocket).OnCertificateValidate += new SBClient.TSBValidateCertificateEvent(OnSecureClientCertificateValidate);
			((ElClientSSLSocket)fDataSocket).OnCertificateNeeded += new SBClient.TSBCertificateNeededEvent(OnSecureClientCertificateNeeded);
			((ElClientSSLSocket)fDataSocket).OnCertificateNeededEx += new SBClient.TSBCertificateNeededExEvent(OnSecureClientCertificateNeededEx);
            ((ElClientSSLSocket)fDataSocket).OnCertificateChoose += new SBClient.TSBChooseCertificateEvent(OnSecureClientCertificateChoose);
			
			if (aSettings != null)
			{
				if (aSettings.get_OnCertificateValidate() != null)
					this.OnCertificateValidate += aSettings.get_OnCertificateValidate();
				if (aSettings.get_OnCertificateNeeded() != null)
					this.OnCertificateNeeded += aSettings.get_OnCertificateNeeded();
				if (aSettings.get_OnCertificateNeededEx() != null)
					this.OnCertificateNeededEx += aSettings.get_OnCertificateNeededEx();
				if (aSettings.get_OnCertificateChoose() != null)
示例#5
0
			IClientSSLConnectionSettings aSettings
			) 
			: base(aSocket)
		{
			fDataSocket = new ElClientSSLSocket();
			fDataSocket.Socket = aSocket;
			InitializeSSLSocket(aSettings);
			((ElClientSSLSocket)fDataSocket).Connect(remoteEndPoint);
		}

		public ClientSSLConnection(
示例#6
0
			get 
			{
				return DataSocket.Connected;
			}
		}
		#endregion
	}

	public class ClientSSLConnection : SSLConnection
	{
		public ClientSSLConnection(
			System.Net.Sockets.Socket aSocket,