<PackageReference Include="BouncyCastle.Cryptography" Version="2.3.0" />

Org.BouncyCastle.Tls.AbstractTlsKeyExchange

public abstract class AbstractTlsKeyExchange : TlsKeyExchange
Base class for supporting a TLS key exchange implementation.
namespace Org.BouncyCastle.Tls { public abstract class AbstractTlsKeyExchange : TlsKeyExchange { protected readonly int m_keyExchange; protected TlsContext m_context; public virtual bool RequiresServerKeyExchange { get; } public virtual bool RequiresCertificateVerify { get; } protected AbstractTlsKeyExchange(int keyExchange); public virtual void Init(TlsContext context); public abstract void SkipServerCredentials(); public abstract void ProcessServerCredentials(TlsCredentials serverCredentials); public virtual void ProcessServerCertificate(Certificate serverCertificate); public virtual byte[] GenerateServerKeyExchange(); public virtual void SkipServerKeyExchange(); public virtual void ProcessServerKeyExchange(Stream input); public virtual short[] GetClientCertificateTypes(); public virtual void SkipClientCredentials(); public abstract void ProcessClientCredentials(TlsCredentials clientCredentials); public virtual void ProcessClientCertificate(Certificate clientCertificate); public abstract void GenerateClientKeyExchange(Stream output); public virtual void ProcessClientKeyExchange(Stream input); public abstract TlsSecret GeneratePreMasterSecret(); } }