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);
}
}