internal HttpListener(X509Certificate certificate, MonoTlsProvider tlsProvider, MonoTlsSettings tlsSettings) : this() { this.certificate = certificate; this.tlsProvider = tlsProvider; this.tlsSettings = tlsSettings; }
public UnityTlsStream(Stream innerStream, bool leaveInnerStreamOpen, SslStream owner, MonoTlsSettings settings, MobileTlsProvider provider) : base(innerStream, leaveInnerStreamOpen, owner, settings, provider) { }
public override IMonoSslStream CreateSslStream( Stream innerStream, bool leaveInnerStreamOpen, MonoTlsSettings settings = null) { return(new AppleTlsStream(innerStream, leaveInnerStreamOpen, settings, this)); }
public override Instrumentation CreateInstrument(TestContext ctx, MonoTlsSettings settings) { return(null); }
public LegacySslStream(Stream innerStream, bool leaveInnerStreamOpen, MonoTlsProvider provider, MonoTlsSettings settings) : base(innerStream, leaveInnerStreamOpen) { this.provider = provider; this.settings = settings; this.certificateValidator = ChainValidationHelper.GetDefaultValidator(provider, settings); }
public override IMonoSslStream CreateSslStream( Stream innerStream, bool leaveInnerStreamOpen, MonoTlsSettings settings = null) { return(SslStream.CreateMonoSslStream(innerStream, leaveInnerStreamOpen, this, settings)); }
/* * This is a hack which is used in SslStream - see ReferenceSources/SslStream.cs for details. */ internal static ChainValidationHelper CloneWithCallbackWrapper(MonoTlsProvider provider, ref MonoTlsSettings settings, ServerCertValidationCallbackWrapper wrapper) { var helper = (ChainValidationHelper)settings.CertificateValidator; if (helper == null) { helper = new ChainValidationHelper(provider, settings, true, null, wrapper); } else { helper = new ChainValidationHelper(helper, provider, settings, wrapper); } settings = helper.settings; return(helper); }
internal SslStream(Stream innerStream, bool leaveInnerStreamOpen, MonoTlsProvider provider, MonoTlsSettings settings) : base(innerStream, leaveInnerStreamOpen) { this.provider = provider; impl = provider.CreateSslStreamInternal(this, innerStream, leaveInnerStreamOpen, settings); }
internal static IMonoSslStream CreateMonoSslStream(Stream innerStream, bool leaveInnerStreamOpen, MonoTlsProvider provider, MonoTlsSettings settings) { var sslStream = new SslStream(innerStream, leaveInnerStreamOpen, provider, settings); return(sslStream.Impl); }
internal override MNS.MobileAuthenticatedStream CreateSslStream( SslStream sslStream, Stream innerStream, bool leaveInnerStreamOpen, MonoTlsSettings settings) { return(new AppleTlsStream(innerStream, leaveInnerStreamOpen, sslStream, settings, this)); }
internal SslStream(Stream innerStream, bool leaveInnerStreamOpen, MonoTlsProvider provider, MonoTlsSettings settings) : base(innerStream, leaveInnerStreamOpen) { this.provider = provider; this.settings = settings.Clone(); explicitSettings = true; impl = provider.CreateSslStreamInternal(this, innerStream, leaveInnerStreamOpen, settings); }
public override MobileAuthenticatedStream CreateSslStream(SslStream sslStream, Stream innerStream, bool leaveInnerStreamOpen, MonoTlsSettings settings) { return(new UnityTlsStream(innerStream, leaveInnerStreamOpen, sslStream, settings, this)); }
public UserSettings(MonoTlsSettings settings) { this.settings = settings; settings.UserSettings = this; }
public MobileAuthenticatedStream(Stream innerStream, bool leaveInnerStreamOpen, MonoTlsSettings settings, AppleTlsProvider provider) : base(innerStream, leaveInnerStreamOpen) { Settings = settings; Provider = provider; readBuffer = new BufferOffsetSize(new byte [16384], 0, 0); writeBuffer = new BufferOffsetSize(new byte [16384], 0, 0); }
protected override IMonoSslStream CreateSslStreamImpl( Stream innerStream, bool leaveInnerStreamOpen, MonoTlsSettings settings) { return(new LegacySslStream(innerStream, leaveInnerStreamOpen, this, settings)); }
public LegacySslStream(Stream innerStream, bool leaveInnerStreamOpen, SslStream owner, MonoTlsProvider provider, MonoTlsSettings settings) : base(innerStream, leaveInnerStreamOpen) { SslStream = owner; Provider = provider; certificateValidator = ChainValidationHelper.GetInternalValidator(provider, settings); }
public LegacySslStream(Stream innerStream, bool leaveInnerStreamOpen, MonoTlsSettings settings) : base(innerStream, leaveInnerStreamOpen) { this.settings = settings; this.certificateValidator = settings.CertificateValidator; }
internal static void SetupCertificateStore(MonoBtlsX509Store store, MonoTlsSettings settings, bool server) { /* * In server-mode, we only add certificates which are explicitly trusted via * MonoTlsSettings.TrustAnchors. * * MonoTlsSettings.CertificateSearchPaths is ignored on Android. * */ #if MONODROID AddTrustedRoots(store, settings, server); if (!server) { SetupDefaultCertificateStore(store); } return; #else if (server || settings?.CertificateSearchPaths == null) { AddTrustedRoots(store, settings, server); if (!server) { SetupDefaultCertificateStore(store); } return; } foreach (var path in settings.CertificateSearchPaths) { switch (path) { case "@default": AddTrustedRoots(store, settings, server); AddUserStore(store); AddMachineStore(store); break; case "@trusted": AddTrustedRoots(store, settings, server); break; case "@user": AddUserStore(store); break; case "@machine": AddMachineStore(store); break; default: if (path.StartsWith("@pem:")) { var realPath = path.Substring(5); if (Directory.Exists(realPath)) { store.AddDirectoryLookup(realPath, MonoBtlsX509FileType.PEM); } break; } else if (path.StartsWith("@der:")) { var realPath = path.Substring(5); if (Directory.Exists(realPath)) { store.AddDirectoryLookup(realPath, MonoBtlsX509FileType.ASN1); } break; } throw new NotSupportedException(string.Format("Invalid item `{0}' in MonoTlsSettings.CertificateSearchPaths.", path)); } } #endif }
internal override IMonoSslStream CreateSslStreamInternal( SslStream sslStream, Stream innerStream, bool leaveInnerStreamOpen, MonoTlsSettings settings) { return(new AppleTlsStream(innerStream, leaveInnerStreamOpen, sslStream, settings, this)); }
public override IMonoSslStream CreateSslStream( Stream innerStream, bool leaveInnerStreamOpen, MonoTlsSettings settings = null) { return(new MobileAuthenticatedStream(innerStream, leaveInnerStreamOpen, settings, this)); }
internal static ICertificateValidator GetDefaultValidator(MonoTlsProvider provider, MonoTlsSettings settings) { if (settings == null) { return(new ChainValidationHelper(provider, null, false, null, null)); } if (settings.CertificateValidator != null) { return(settings.CertificateValidator); } return(new ChainValidationHelper(provider, settings, false, null, null)); }
internal static void SetupCertificateStore(MonoBtlsX509Store store, MonoTlsSettings settings, bool server) { if (settings?.CertificateSearchPaths == null) { AddTrustedRoots(store, settings, server); } #if MONODROID SetupCertificateStore(store); return; #else if (settings?.CertificateSearchPaths == null) { SetupCertificateStore(store); return; } foreach (var path in settings.CertificateSearchPaths) { if (string.Equals(path, "@default", StringComparison.Ordinal)) { AddTrustedRoots(store, settings, server); AddUserStore(store); AddMachineStore(store); } else if (string.Equals(path, "@user", StringComparison.Ordinal)) { AddUserStore(store); } else if (string.Equals(path, "@machine", StringComparison.Ordinal)) { AddMachineStore(store); } else if (string.Equals(path, "@trusted", StringComparison.Ordinal)) { AddTrustedRoots(store, settings, server); } else if (path.StartsWith("@pem:", StringComparison.Ordinal)) { var realPath = path.Substring(5); if (Directory.Exists(realPath)) { store.AddDirectoryLookup(realPath, MonoBtlsX509FileType.PEM); } } else if (path.StartsWith("@der:", StringComparison.Ordinal)) { var realPath = path.Substring(5); if (Directory.Exists(realPath)) { store.AddDirectoryLookup(realPath, MonoBtlsX509FileType.ASN1); } } else { if (Directory.Exists(path)) { store.AddDirectoryLookup(path, MonoBtlsX509FileType.PEM); } } } #endif }