Org.BouncyCastle.Tls.AbstractTlsKeyExchange
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();
}
}