public interface TlsClient extends TlsPeer
Modifier and Type | Method and Description |
---|---|
TlsAuthentication |
getAuthentication() |
java.util.Hashtable |
getClientExtensions() |
java.util.Vector |
getClientSupplementalData() |
TlsDHGroupVerifier |
getDHGroupVerifier() |
java.util.Vector |
getEarlyKeyShareGroups()
If this client is offering TLS 1.3 or higher, this method may be called to determine for which
groups a key share should be included in the initial ClientHello.
|
TlsPSKIdentity |
getPSKIdentity() |
TlsSession |
getSessionToResume()
Return the session this client wants to resume, if any.
|
TlsSRPConfigVerifier |
getSRPConfigVerifier() |
TlsSRPIdentity |
getSRPIdentity() |
void |
init(TlsClientContext context) |
boolean |
isFallback() |
void |
notifyNewSessionTicket(NewSessionTicket newSessionTicket)
RFC 5077 3.3.
|
void |
notifySelectedCipherSuite(int selectedCipherSuite) |
void |
notifyServerVersion(ProtocolVersion selectedVersion) |
void |
notifySessionID(byte[] sessionID)
Notifies the client of the session_id sent in the ServerHello.
|
void |
processServerExtensions(java.util.Hashtable serverExtensions)
The TlsClientProtocol implementation validates that any server extensions received correspond
to client extensions sent.
|
void |
processServerSupplementalData(java.util.Vector serverSupplementalData) |
allowLegacyResumption, cancel, getCipherSuites, getCrypto, getHandshakeTimeoutMillis, getHeartbeat, getHeartbeatPolicy, getKeyExchangeFactory, getProtocolVersions, getRenegotiationPolicy, notifyAlertRaised, notifyAlertReceived, notifyCloseHandle, notifyHandshakeBeginning, notifyHandshakeComplete, notifySecureRenegotiation, requiresExtendedMasterSecret, shouldCheckSigAlgOfPeerCerts, shouldUseExtendedMasterSecret, shouldUseExtendedPadding, shouldUseGMTUnixTime
void init(TlsClientContext context)
TlsSession getSessionToResume()
TlsSession
representing the resumable session to be used for this
connection, or null to use a new session.SessionParameters.getPeerCertificate()
boolean isFallback()
java.util.Hashtable getClientExtensions() throws java.io.IOException
java.io.IOException
java.util.Vector getEarlyKeyShareGroups()
getClientExtensions()
will be ignored. The protocol
will then add a suitable key_share extension to the ClientHello extensions.Vector
of named group
values, possibly empty or null.java.io.IOException
void notifyServerVersion(ProtocolVersion selectedVersion) throws java.io.IOException
java.io.IOException
void notifySessionID(byte[] sessionID)
sessionID
- TlsContext.getSession()
void notifySelectedCipherSuite(int selectedCipherSuite)
void processServerExtensions(java.util.Hashtable serverExtensions) throws java.io.IOException
serverExtensions
- (Integer -> byte[])java.io.IOException
void processServerSupplementalData(java.util.Vector serverSupplementalData) throws java.io.IOException
java.io.IOException
TlsPSKIdentity getPSKIdentity() throws java.io.IOException
java.io.IOException
TlsSRPIdentity getSRPIdentity() throws java.io.IOException
java.io.IOException
TlsDHGroupVerifier getDHGroupVerifier() throws java.io.IOException
java.io.IOException
TlsSRPConfigVerifier getSRPConfigVerifier() throws java.io.IOException
java.io.IOException
TlsAuthentication getAuthentication() throws java.io.IOException
java.io.IOException
java.util.Vector getClientSupplementalData() throws java.io.IOException
java.io.IOException
void notifyNewSessionTicket(NewSessionTicket newSessionTicket) throws java.io.IOException
This method will be called (only) when a NewSessionTicket handshake message is received. The ticket is opaque to the client and clients MUST NOT examine the ticket under the assumption that it complies with e.g. RFC 5077 4. Recommended Ticket Construction.
newSessionTicket
- The ticket.java.io.IOException