using System; using System.Security.Cryptography.X509Certificates; using Mono.Security.Protocol.Tls.Handshake; using Mono.Security.X509; namespace Mono.Security.Protocol.Tls { // Token: 0x02000096 RID: 150 internal class ServerContext : Context { // Token: 0x0600056E RID: 1390 RVA: 0x0001F8D8 File Offset: 0x0001DAD8 public ServerContext(SslServerStream stream, SecurityProtocolType securityProtocolType, global::System.Security.Cryptography.X509Certificates.X509Certificate serverCertificate, bool clientCertificateRequired, bool requestClientCertificate) : base(securityProtocolType) { this.sslStream = stream; this.clientCertificateRequired = clientCertificateRequired; this.request_client_certificate = requestClientCertificate; Mono.Security.X509.X509Certificate x509Certificate = new Mono.Security.X509.X509Certificate(serverCertificate.GetRawCertData()); base.ServerSettings.Certificates = new Mono.Security.X509.X509CertificateCollection(); base.ServerSettings.Certificates.Add(x509Certificate); base.ServerSettings.UpdateCertificateRSA(); base.ServerSettings.CertificateTypes = new ClientCertificateType[1]; base.ServerSettings.CertificateTypes[0] = ClientCertificateType.RSA; Mono.Security.X509.X509CertificateCollection trustedRootCertificates = X509StoreManager.TrustedRootCertificates; string[] array = new string[trustedRootCertificates.Count]; int num = 0; foreach (Mono.Security.X509.X509Certificate x509Certificate2 in trustedRootCertificates) { array[num++] = x509Certificate2.IssuerName; } base.ServerSettings.DistinguisedNames = array; } // Token: 0x1700015F RID: 351 // (get) Token: 0x0600056F RID: 1391 RVA: 0x0001F9E4 File Offset: 0x0001DBE4 public SslServerStream SslStream { get { return this.sslStream; } } // Token: 0x17000160 RID: 352 // (get) Token: 0x06000570 RID: 1392 RVA: 0x0001F9EC File Offset: 0x0001DBEC public bool ClientCertificateRequired { get { return this.clientCertificateRequired; } } // Token: 0x17000161 RID: 353 // (get) Token: 0x06000571 RID: 1393 RVA: 0x0001F9F4 File Offset: 0x0001DBF4 public bool RequestClientCertificate { get { return this.request_client_certificate; } } // Token: 0x040002BC RID: 700 private SslServerStream sslStream; // Token: 0x040002BD RID: 701 private bool request_client_certificate; // Token: 0x040002BE RID: 702 private bool clientCertificateRequired; } }