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.
|
java.util.Vector |
getExternalPSKs()
Return the
external PSKs to offer in the 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 |
notifySelectedPSK(TlsPSK selectedPSK) |
void |
notifyServerVersion(ProtocolVersion selectedVersion) |
void |
notifySessionID(byte[] sessionID)
Notifies the client of the session_id sent in the ServerHello.
|
void |
notifySessionToResume(TlsSession session)
Notifies the client of the session that will be offered in ClientHello for resumption, if any.
|
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, getMaxCertificateChainLength, getMaxHandshakeMessageSize, getProtocolVersions, getPskKeyExchangeModes, getRenegotiationPolicy, notifyAlertRaised, notifyAlertReceived, notifyCloseHandle, notifyHandshakeBeginning, notifyHandshakeComplete, notifySecureRenegotiation, requiresCloseNotify, requiresExtendedMasterSecret, shouldCheckSigAlgOfPeerCerts, shouldUseExtendedMasterSecret, shouldUseExtendedPadding, shouldUseGMTUnixTimevoid 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()java.util.Vector getExternalPSKs()
external PSKs to offer in the ClientHello.
Note that this will only be called when TLS 1.3 or higher is amongst the
offered protocol versions.Vector of TlsPSKExternal instances, or null if none
should be offered.boolean isFallback()
java.util.Hashtable getClientExtensions()
throws java.io.IOException
java.io.IOExceptionjava.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.void notifyServerVersion(ProtocolVersion selectedVersion) throws java.io.IOException
java.io.IOExceptionvoid notifySessionToResume(TlsSession session)
getSessionToResume() or null if that
session was unusable.
NOTE: the actual negotiated session_id is notified by notifySessionID(byte[]).session - The TlsSession representing the resumable session to
be offered for this connection, or null if there is none.notifySessionID(byte[])void notifySessionID(byte[] sessionID)
sessionID - TlsContext.getSession()void notifySelectedCipherSuite(int selectedCipherSuite)
void notifySelectedPSK(TlsPSK selectedPSK) throws java.io.IOException
java.io.IOExceptionvoid processServerExtensions(java.util.Hashtable serverExtensions)
throws java.io.IOException
serverExtensions - (Integer -> byte[])java.io.IOExceptionvoid processServerSupplementalData(java.util.Vector serverSupplementalData)
throws java.io.IOException
java.io.IOExceptionTlsPSKIdentity getPSKIdentity() throws java.io.IOException
java.io.IOExceptionTlsSRPIdentity getSRPIdentity() throws java.io.IOException
java.io.IOExceptionTlsDHGroupVerifier getDHGroupVerifier() throws java.io.IOException
java.io.IOExceptionTlsSRPConfigVerifier getSRPConfigVerifier() throws java.io.IOException
java.io.IOExceptionTlsAuthentication getAuthentication() throws java.io.IOException
java.io.IOExceptionjava.util.Vector getClientSupplementalData()
throws java.io.IOException
java.io.IOExceptionvoid 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