public override MSI.IMonoTlsContext CreateTlsContext( string hostname, bool serverMode, MSI.TlsProtocols protocolFlags, SSCX.X509Certificate serverCertificate, PSSCX.X509CertificateCollection clientCertificates, bool remoteCertRequired, MSI.MonoEncryptionPolicy encryptionPolicy, MSI.MonoTlsSettings settings) { TlsConfiguration config; if (serverMode) { var cert = (PSSCX.X509Certificate2)serverCertificate; var monoCert = new MX.X509Certificate(cert.RawData); config = new TlsConfiguration((TlsProtocols)protocolFlags, (MSI.MonoTlsSettings)settings, monoCert, cert.PrivateKey); if (remoteCertRequired) { config.AskForClientCertificate = true; } } else { config = new TlsConfiguration((TlsProtocols)protocolFlags, (MSI.MonoTlsSettings)settings, hostname); } return(new TlsContextWrapper(config, serverMode)); }
internal MonoNewTlsStream(Stream innerStream, bool leaveOpen, MSI.MonoTlsProvider provider, MSI.MonoTlsSettings settings) : base(innerStream, leaveOpen, EncryptionPolicy.RequireEncryption, provider, settings) { }
internal MonoNewTlsStream(Stream innerStream, MSI.MonoTlsProvider provider, MSI.MonoTlsSettings settings) : this(innerStream, false, provider, settings) { }
public override MSI.MonoSslStream CreateSslStream( Stream innerStream, bool leaveInnerStreamOpen, MSI.MonoTlsSettings settings = null) { return(MonoNewTlsStreamFactory.CreateSslStream(innerStream, leaveInnerStreamOpen, this, settings)); }