blob: 32228ed64c49571172fab47b5c29f440a178abbc (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
|
using System;
using System.IO;
namespace Org.BouncyCastle.Tls
{
/// <summary>Base interface to provide TLS authentication credentials.</summary>
public interface TlsAuthentication
{
/// <summary>Called by the protocol handler to report the server certificate.</summary>
/// <remarks>
/// Note: this method is responsible for certificate verification and validation.
/// </remarks>
/// <param name="serverCertificate">the server certificate received.</param>
/// <exception cref="IOException"/>
void NotifyServerCertificate(TlsServerCertificate serverCertificate);
/// <summary>Return client credentials in response to server's certificate request.</summary>
/// <remarks>
/// The returned value may be null, or else it MUST implement <em>exactly one</em> of
/// <see cref="TlsCredentialedAgreement"/>, <see cref="TlsCredentialedDecryptor"/>, or
/// <see cref="TlsCredentialedSigner"/>, depending on the key exchange that was negotiated and the details of
/// the <see cref="CertificateRequest"/>.
/// </remarks>
/// <param name="certificateRequest">details of the certificate request.</param>
/// <returns>a <see cref="TlsCredentials"/> object or null for no client authentication.</returns>
/// <exception cref="IOException"/>
TlsCredentials GetClientCredentials(CertificateRequest certificateRequest);
}
}
|