diff options
Diffstat (limited to 'Crypto/src/crypto/tls/TlsAuthentication.cs')
-rw-r--r-- | Crypto/src/crypto/tls/TlsAuthentication.cs | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/Crypto/src/crypto/tls/TlsAuthentication.cs b/Crypto/src/crypto/tls/TlsAuthentication.cs new file mode 100644 index 000000000..9aea5e449 --- /dev/null +++ b/Crypto/src/crypto/tls/TlsAuthentication.cs @@ -0,0 +1,31 @@ +using System; +using System.IO; + +namespace Org.BouncyCastle.Crypto.Tls +{ + public interface TlsAuthentication + { + /// <summary> + /// Called by the protocol handler to report the server certificate. + /// </summary> + /// <remarks> + /// This method is responsible for certificate verification and validation + /// </remarks> + /// <param name="serverCertificate">The server <see cref="Certificate"/> received</param> + /// <exception cref="IOException"></exception> + void NotifyServerCertificate(Certificate serverCertificate); + + /// <summary> + /// Return client credentials in response to server's certificate request + /// </summary> + /// <param name="certificateRequest"> + /// A <see cref="CertificateRequest"/> containing server certificate request details + /// </param> + /// <returns> + /// A <see cref="TlsCredentials"/> to be used for client authentication + /// (or <c>null</c> for no client authentication) + /// </returns> + /// <exception cref="IOException"></exception> + TlsCredentials GetClientCredentials(CertificateRequest certificateRequest); + } +} |