public override MSI.IMonoSslStream CreateSslStream ( Stream innerStream, bool leaveInnerStreamOpen, MSI.MonoTlsSettings settings = null) { var sslStream = CreateSslStreamImpl (innerStream, leaveInnerStreamOpen, settings); return new MonoSslStreamImpl (sslStream); }
public override MSI.IMonoSslStream CreateSslStream ( Stream innerStream, bool leaveInnerStreamOpen, MSI.MonoTlsSettings settings = null) { var impl = new Private.LegacySslStream (innerStream, leaveInnerStreamOpen, this, settings); return new Private.MonoSslStreamImpl (impl); }
internal HttpListener (X509Certificate2 certificate, IMonoTlsProvider tlsProvider, MSI.MonoTlsSettings tlsSettings) : this () { this.certificate = certificate; this.tlsProvider = tlsProvider; this.tlsSettings = tlsSettings; }
public MobileAuthenticatedStream (Stream innerStream, bool leaveInnerStreamOpen, MSI.MonoTlsSettings settings, MSI.MonoTlsProvider provider) : base (innerStream, leaveInnerStreamOpen) { Settings = settings; Provider = provider; readBuffer = new BufferOffsetSize2 (16834); writeBuffer = new BufferOffsetSize2 (16384); }
public IMonoSslStream CreateSslStream ( Stream innerStream, bool leaveInnerStreamOpen, MSI.MonoTlsSettings settings) { var sslStream = provider.CreateSslStream (innerStream, leaveInnerStreamOpen, settings); var monoSslStreamImpl = sslStream as MonoSslStreamImpl; if (monoSslStreamImpl != null) return monoSslStreamImpl.Impl; return new MonoSslStreamWrapper (sslStream); }
MSI.IMonoTlsContext IMonoTlsProvider.CreateTlsContext ( string hostname, bool serverMode, MSI.TlsProtocols protocolFlags, X509Certificate serverCertificate, X509CertificateCollection clientCertificates, bool remoteCertRequired, bool checkCertName, bool checkCertRevocationStatus, MSI.MonoEncryptionPolicy encryptionPolicy, MSI.MonoTlsSettings settings) { return CreateTlsContextImpl ( hostname, serverMode, protocolFlags, serverCertificate, clientCertificates, remoteCertRequired, encryptionPolicy, settings); }
internal override bool ValidateCertificate ( MSI.ICertificateValidator2 validator, string targetHost, bool serverMode, X509CertificateCollection certificates, bool wantsChain, ref X509Chain chain, ref MSI.MonoSslPolicyErrors errors, ref int status11) { if (wantsChain) chain = SystemCertificateValidator.CreateX509Chain (certificates); var xerrors = (SslPolicyErrors)errors; var result = SystemCertificateValidator.Evaluate (validator.Settings, targetHost, certificates, chain, ref xerrors, ref status11); errors = (MSI.MonoSslPolicyErrors)xerrors; return result; }
internal static HttpListener CreateHttpListener (X509Certificate certificate, MSI.MonoTlsProvider provider, MSI.MonoTlsSettings settings) { lock (locker) { var internalProvider = provider != null ? new Private.MonoTlsProviderWrapper (provider) : null; return new HttpListener (certificate, internalProvider, settings); } }
internal static HttpWebRequest CreateHttpsRequest (Uri requestUri, MSI.MonoTlsProvider provider, MSI.MonoTlsSettings settings) { lock (locker) { var internalProvider = provider != null ? new Private.MonoTlsProviderWrapper (provider) : null; return new HttpWebRequest (requestUri, internalProvider, settings); } }
internal static void InstallProvider (MSI.MonoTlsProvider provider) { lock (locker) { currentProvider = new Private.MonoTlsProviderWrapper (provider); } }
internal override MSI.IMonoTlsContext CreateTlsContext ( string hostname, bool serverMode, MSI.TlsProtocols protocolFlags, X509Certificate serverCertificate, X509CertificateCollection clientCertificates, bool remoteCertRequired, MSI.MonoEncryptionPolicy encryptionPolicy, MSI.MonoTlsSettings settings) { return CreateTlsContextImpl ( hostname, serverMode, (MSI.TlsProtocols)protocolFlags, serverCertificate, clientCertificates, remoteCertRequired, (MSI.MonoEncryptionPolicy)encryptionPolicy, settings); }
protected abstract MSI.IMonoTlsContext CreateTlsContextImpl ( string hostname, bool serverMode, MSI.TlsProtocols protocolFlags, X509Certificate serverCertificate, X509CertificateCollection clientCertificates, bool remoteCertRequired, MSI.MonoEncryptionPolicy encryptionPolicy, MSI.MonoTlsSettings settings);
internal static LocalCertificateSelectionCallback MonoToPublic (MSI.MonoLocalCertificateSelectionCallback callback) { if (callback == null) return null; return (s, t, lc, rc, ai) => callback (t, lc, rc, ai); }
protected abstract IMonoSslStream CreateSslStreamImpl ( Stream innerStream, bool leaveInnerStreamOpen, MSI.MonoTlsSettings settings);
public MonoTlsProviderWrapper (MSI.MonoTlsProvider provider) { this.provider = provider; }
internal IMonoSslStream CreateSslStream (Stream innerStream, bool ownsStream, MSI.MonoRemoteCertificateValidationCallback callback) { lock (registry) { if (tlsProvider == null) tlsProvider = MonoTlsProviderFactory.GetProviderInternal (); if (tlsSettings == null) tlsSettings = new MSI.MonoTlsSettings (); if (tlsSettings.RemoteCertificateValidationCallback == null) tlsSettings.RemoteCertificateValidationCallback = callback; return tlsProvider.CreateSslStream (innerStream, ownsStream, tlsSettings); } }
public MonoSslStreamWrapper (MSI.IMonoSslStream impl) { this.impl = impl; }
internal static LocalCertSelectionCallback MonoToInternal (MSI.MonoLocalCertificateSelectionCallback callback) { if (callback == null) return null; return (t, lc, rc, ai) => callback (t, (XX509CertificateCollection)(object)lc, rc, ai); }
internal static RemoteCertValidationCallback MonoToInternal (MSI.MonoRemoteCertificateValidationCallback callback) { if (callback == null) return null; return (h, c, ch, e) => callback (h, c, (XX509Chain)(object)ch, (MSI.MonoSslPolicyErrors)e); }
IMonoSslStream IMonoTlsProvider.CreateSslStream ( Stream innerStream, bool leaveInnerStreamOpen, MSI.MonoTlsSettings settings) { return CreateSslStreamImpl (innerStream, leaveInnerStreamOpen, settings); }
internal static RemoteCertificateValidationCallback MonoToPublic (MSI.MonoRemoteCertificateValidationCallback callback) { if (callback == null) return null; return (t, c, ch, e) => callback (null, c, ch, (MSI.MonoSslPolicyErrors)e); }