public HttpsClientStream(Stream stream, X509CertificateCollectionMono clientCertificates, HttpWebRequest request, byte [] buffer) : base(stream, request.Address.Host, false, (Mono.Security.Protocol.Tls.SecurityProtocolType) ServicePointManager.SecurityProtocol, clientCertificates) { // this constructor permit access to the WebRequest to call // ICertificatePolicy.CheckValidationResult _request = request; _status = 0; if (buffer != null) { InputBuffer.Write(buffer, 0, buffer.Length); } // also saved from reflection base.CheckCertRevocationStatus = ServicePointManager.CheckCertificateRevocationList; ClientCertSelection += delegate(X509CertificateCollectionMono clientCerts, X509CertificateMono serverCertificate, string targetHost, X509CertificateCollectionMono serverRequestedCertificates) { return(((clientCerts == null) || (clientCerts.Count == 0)) ? null : clientCerts [0]); }; PrivateKeySelection += delegate(X509CertificateMono certificate, string targetHost) { X509Certificate2Mono cert = (certificate as X509Certificate2Mono); return((cert == null) ? null : cert.PrivateKey); }; }
internal X509CertificateMono RaiseLocalCertificateSelection(X509CertificateCollectionMono certificates, X509CertificateMono remoteCertificate, string targetHost, X509CertificateCollectionMono requestedCertificates) { return(OnLocalCertificateSelection(certificates, remoteCertificate, targetHost, requestedCertificates)); }
internal X509CertificateMono RaiseClientCertificateSelection( X509CertificateCollectionMono clientCertificates, X509CertificateMono serverCertificate, string targetHost, X509CertificateCollectionMono serverRequestedCertificates) { return(base.RaiseLocalCertificateSelection(clientCertificates, serverCertificate, targetHost, serverRequestedCertificates)); }
public SslClientStream( Stream stream, string targetHost, X509CertificateCollectionMono clientCertificates) : this( stream, targetHost, false, SecurityProtocolType.Default, clientCertificates) { }
public ClientContext( SslClientStream stream, SecurityProtocolType securityProtocolType, string targetHost, X509CertificateCollectionMono clientCertificates) : base(securityProtocolType) { this.sslStream = stream; this.ClientSettings.Certificates = clientCertificates; this.ClientSettings.TargetHost = targetHost; }
internal override X509CertificateMono OnLocalCertificateSelection(X509CertificateCollectionMono clientCertificates, X509CertificateMono serverCertificate, string targetHost, X509CertificateCollectionMono serverRequestedCertificates) { if (this.ClientCertSelection != null) { return(this.ClientCertSelection( clientCertificates, serverCertificate, targetHost, serverRequestedCertificates)); } return(null); }
public SslClientStream( Stream stream, string targetHost, bool ownsStream, SecurityProtocolType securityProtocolType, X509CertificateCollectionMono clientCertificates) : base(stream, ownsStream) { if (targetHost == null || targetHost.Length == 0) { throw new ArgumentNullException("targetHost is null or an empty string."); } this.context = new ClientContext( this, securityProtocolType, targetHost, clientCertificates); this.protocol = new ClientRecordProtocol(innerStream, (ClientContext)this.context); }
internal abstract X509CertificateMono OnLocalCertificateSelection(X509CertificateCollectionMono clientCertificates, X509CertificateMono serverCertificate, string targetHost, X509CertificateCollectionMono serverRequestedCertificates);
/* * public SecurityCompressionType CompressionMethod * { * get { return this.compressionMethod; } * set * { * if (value != SecurityCompressionType.None) * { * throw new NotSupportedException("Specified compression method is not supported"); * } * this.compressionMethod = value; * } * } */ #endregion #region Constructors public TlsClientSettings() { // this.compressionMethod = SecurityCompressionType.None; this.certificates = new X509CertificateCollectionMono(); this.targetHost = String.Empty; }
internal override X509CertificateMono OnLocalCertificateSelection(X509CertificateCollectionMono clientCertificates, X509CertificateMono serverCertificate, string targetHost, X509CertificateCollectionMono serverRequestedCertificates) { throw new NotSupportedException(); }