You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
29 lines
1.1 KiB
29 lines
1.1 KiB
8 months ago
|
#if !BESTHTTP_DISABLE_ALTERNATE_SSL && (!UNITY_WEBGL || UNITY_EDITOR)
|
||
|
#pragma warning disable
|
||
|
using System;
|
||
|
using System.IO;
|
||
|
|
||
|
namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Tls.Crypto
|
||
|
{
|
||
|
/// <summary>Base interface for ephemeral key agreement calculator.</summary>
|
||
|
public interface TlsAgreement
|
||
|
{
|
||
|
/// <summary>Generate an ephemeral key pair, returning the encoding of the public key.</summary>
|
||
|
/// <returns>a byte encoding of the public key.</returns>
|
||
|
/// <exception cref="IOException"/>
|
||
|
byte[] GenerateEphemeral();
|
||
|
|
||
|
/// <summary>Pass in the public key for the peer to the agreement calculator.</summary>
|
||
|
/// <param name="peerValue">a byte encoding of the peer public key.</param>
|
||
|
/// <exception cref="IOException"/>
|
||
|
void ReceivePeerValue(byte[] peerValue);
|
||
|
|
||
|
/// <summary>Calculate the agreed secret based on the calculator's current state.</summary>
|
||
|
/// <returns>the calculated secret.</returns>
|
||
|
/// <exception cref="IOException"/>
|
||
|
TlsSecret CalculateSecret();
|
||
|
}
|
||
|
}
|
||
|
#pragma warning restore
|
||
|
#endif
|