using System; using System.IO; namespace Org.BouncyCastle.Tls { /// Base interface to provide TLS authentication credentials. public interface TlsAuthentication { /// Called by the protocol handler to report the server certificate. /// /// Note: this method is responsible for certificate verification and validation. /// /// the server certificate received. /// void NotifyServerCertificate(TlsServerCertificate serverCertificate); /// Return client credentials in response to server's certificate request. /// /// The returned value may be null, or else it MUST implement exactly one of /// , , or /// , depending on the key exchange that was negotiated and the details of /// the . /// /// details of the certificate request. /// a object or null for no client authentication. /// TlsCredentials GetClientCredentials(CertificateRequest certificateRequest); } }