summary refs log tree commit diff
path: root/crypto/src/tls/TlsCredentialedAgreement.cs
blob: 354a17754b75487895cfda5747bae3fc0d0988c2 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
using System;
using System.IO;

using Org.BouncyCastle.Tls.Crypto;

namespace Org.BouncyCastle.Tls
{
    /// <summary>Support interface for generating a secret based on the credentials sent by a TLS peer.</summary>
    public interface TlsCredentialedAgreement
        : TlsCredentials
    {
        /// <summary>Calculate an agreed secret based on our credentials and the public key credentials of our peer.
        /// </summary>
        /// <param name="peerCertificate">public key certificate of our TLS peer.</param>
        /// <returns>the agreed secret.</returns>
        /// <exception cref="IOException">in case of an exception on generation of the secret.</exception>
        TlsSecret GenerateAgreement(TlsCertificate peerCertificate);
    }
}