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

AbstractTlsClient

Base class for a TLS client.
protected int[] m_cipherSuites

protected IList<int> m_supportedGroups

protected AbstractTlsClient(TlsCrypto crypto)

protected virtual bool AllowUnexpectedServerExtension(int extensionType, byte[] extensionData)

protected virtual void CheckForUnexpectedServerExtension(IDictionary<int, byte[]> serverExtensions, int extensionType)

protected virtual short[] GetAllowedClientCertificateTypes()

protected virtual short[] GetAllowedServerCertificateTypes()

public virtual IDictionary<int, byte[]> GetClientExtensions()

public virtual IList<int> GetEarlyKeyShareGroups()

protected virtual IList<int> GetNamedGroupRoles()

protected virtual IList<ProtocolName> GetProtocolNames()

public virtual TlsPskIdentity GetPskIdentity()

public virtual TlsSession GetSessionToResume()

protected virtual IList<ServerName> GetSniServerNames()

public virtual TlsSrpIdentity GetSrpIdentity()

protected virtual IList<int> GetSupportedGroups(IList<int> namedGroupRoles)

The default GetClientExtensions implementation calls this to determine which named groups to include in the supported_groups extension for the ClientHello.

public virtual void Init(TlsClientContext context)

public virtual bool IsFallback()

public virtual void NotifyNewSessionTicket(NewSessionTicket newSessionTicket)

public virtual void NotifySelectedCipherSuite(int selectedCipherSuite)

public virtual void NotifySelectedPsk(TlsPsk selectedPsk)

public virtual void NotifyServerVersion(ProtocolVersion serverVersion)

public virtual void NotifySessionID(byte[] sessionID)

public virtual void NotifySessionToResume(TlsSession session)

public virtual void ProcessServerExtensions(IDictionary<int, byte[]> serverExtensions)

public virtual void ProcessServerSupplementalData(IList<SupplementalDataEntry> serverSupplementalData)