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> ();
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);
}
}