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

Org.BouncyCastle.Tls.AbstractTlsClient

Base class for a TLS client.
namespace Org.BouncyCastle.Tls { public abstract class AbstractTlsClient : AbstractTlsPeer, TlsClient, TlsPeer { protected TlsClientContext m_context; protected ProtocolVersion[] m_protocolVersions; protected int[] m_cipherSuites; protected IList<int> m_supportedGroups; protected IList<SignatureAndHashAlgorithm> m_supportedSignatureAlgorithms; protected IList<SignatureAndHashAlgorithm> m_supportedSignatureAlgorithmsCert; protected AbstractTlsClient(TlsCrypto crypto); protected virtual bool AllowUnexpectedServerExtension(int extensionType, byte[] extensionData); protected virtual IList<int> GetNamedGroupRoles(); protected virtual void CheckForUnexpectedServerExtension(IDictionary<int, byte[]> serverExtensions, int extensionType); protected virtual byte[] GetNewConnectionID(); public virtual TlsPskIdentity GetPskIdentity(); public virtual TlsSrpIdentity GetSrpIdentity(); public virtual TlsDHGroupVerifier GetDHGroupVerifier(); public virtual TlsSrpConfigVerifier GetSrpConfigVerifier(); protected virtual IList<X509Name> GetCertificateAuthorities(); protected virtual IList<ProtocolName> GetProtocolNames(); protected virtual CertificateStatusRequest GetCertificateStatusRequest(); protected virtual IList<CertificateStatusRequestItemV2> GetMultiCertStatusRequest(); protected virtual IList<ServerName> GetSniServerNames(); protected virtual IList<int> GetSupportedGroups(IList<int> namedGroupRoles); protected virtual IList<SignatureAndHashAlgorithm> GetSupportedSignatureAlgorithms(); protected virtual IList<SignatureAndHashAlgorithm> GetSupportedSignatureAlgorithmsCert(); protected virtual IList<TrustedAuthority> GetTrustedCAIndication(); protected virtual short[] GetAllowedClientCertificateTypes(); protected virtual short[] GetAllowedServerCertificateTypes(); public virtual void Init(TlsClientContext context); public virtual TlsSession GetSessionToResume(); public virtual IList<TlsPskExternal> GetExternalPsks(); public virtual bool IsFallback(); public virtual IDictionary<int, byte[]> GetClientExtensions(); public virtual IList<int> GetEarlyKeyShareGroups(); public virtual bool ShouldUseCompatibilityMode(); public virtual void NotifyServerVersion(ProtocolVersion serverVersion); public virtual void NotifySessionToResume(TlsSession session); public virtual void NotifySessionID(byte[] sessionID); public virtual void NotifySelectedCipherSuite(int selectedCipherSuite); public virtual void NotifySelectedPsk(TlsPsk selectedPsk); public virtual void ProcessServerExtensions(IDictionary<int, byte[]> serverExtensions); public virtual void ProcessServerSupplementalData(IList<SupplementalDataEntry> serverSupplementalData); public abstract TlsAuthentication GetAuthentication(); public virtual IList<SupplementalDataEntry> GetClientSupplementalData(); public virtual void NotifyNewSessionTicket(NewSessionTicket newSessionTicket); } }