package org.bouncycastle.crypto.tls;

import java.io.IOException;

Base interface to provide TLS authentication credentials.
/** * 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
Params:
  • serverCertificate – the server certificate received
Throws:
/** * Called by the protocol handler to report the server certificate * Note: this method is responsible for certificate verification and validation * * @param serverCertificate the server certificate received * @throws IOException */
void notifyServerCertificate(Certificate serverCertificate) throws IOException;
Return client credentials in response to server's certificate request
Params:
  • certificateRequest – details of the certificate request
Throws:
Returns:a TlsCredentials object or null for no client authentication
/** * Return client credentials in response to server's certificate request * * @param certificateRequest details of the certificate request * @return a TlsCredentials object or null for no client authentication * @throws IOException */
TlsCredentials getClientCredentials(CertificateRequest certificateRequest) throws IOException; }