#if !BESTHTTP_DISABLE_ALTERNATE_SSL && (!UNITY_WEBGL || UNITY_EDITOR) #pragma warning disable using System; using System.IO; using BestHTTP.SecureProtocol.Org.BouncyCastle.Tls.Crypto; namespace BestHTTP.SecureProtocol.Org.BouncyCastle.Tls { /// A generic interface for key exchange implementations in (D)TLS. public interface TlsKeyExchange { void Init(TlsContext context); /// void SkipServerCredentials(); /// void ProcessServerCredentials(TlsCredentials serverCredentials); /// void ProcessServerCertificate(Certificate serverCertificate); bool RequiresServerKeyExchange { get; } /// byte[] GenerateServerKeyExchange(); /// void SkipServerKeyExchange(); /// void ProcessServerKeyExchange(Stream input); short[] GetClientCertificateTypes(); /// void SkipClientCredentials(); /// void ProcessClientCredentials(TlsCredentials clientCredentials); /// void ProcessClientCertificate(Certificate clientCertificate); /// void GenerateClientKeyExchange(Stream output); /// void ProcessClientKeyExchange(Stream input); bool RequiresCertificateVerify { get; } /// TlsSecret GeneratePreMasterSecret(); } } #pragma warning restore #endif