Bouncy Castle Cryptography 1.50

org.bouncycastle.crypto.tls
Interface TlsClient

All Superinterfaces:
TlsPeer
All Known Implementing Classes:
AbstractTlsClient, DefaultTlsClient, LegacyTlsClient, PSKTlsClient, SRPTlsClient

public interface TlsClient
extends TlsPeer


Method Summary
 TlsAuthentication getAuthentication()
           
 int[] getCipherSuites()
           
 java.util.Hashtable getClientExtensions()
           
 ProtocolVersion getClientHelloRecordLayerVersion()
           
 java.util.Vector getClientSupplementalData()
           
 ProtocolVersion getClientVersion()
           
 short[] getCompressionMethods()
           
 TlsKeyExchange getKeyExchange()
           
 TlsSession getSessionToResume()
          Return the session this client wants to resume, if any.
 void init(TlsClientContext context)
           
 void notifyNewSessionTicket(NewSessionTicket newSessionTicket)
          RFC 5077 3.3.
 void notifySelectedCipherSuite(int selectedCipherSuite)
           
 void notifySelectedCompressionMethod(short selectedCompressionMethod)
           
 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)
           
 void processServerSupplementalData(java.util.Vector serverSupplementalData)
           
 
Methods inherited from interface org.bouncycastle.crypto.tls.TlsPeer
getCipher, getCompression, notifyAlertRaised, notifyAlertReceived, notifyHandshakeComplete, notifySecureRenegotiation
 

Method Detail

init

void init(TlsClientContext context)

getSessionToResume

TlsSession getSessionToResume()
Return the session this client wants to resume, if any. Note that the peer's certificate chain for the session (if any) may need to be periodically revalidated.

Returns:
A TlsSession representing the resumable session to be used for this connection, or null to use a new session.
See Also:
SessionParameters.getPeerCertificate()

getClientHelloRecordLayerVersion

ProtocolVersion getClientHelloRecordLayerVersion()

getClientVersion

ProtocolVersion getClientVersion()

getCipherSuites

int[] getCipherSuites()

getCompressionMethods

short[] getCompressionMethods()

getClientExtensions

java.util.Hashtable getClientExtensions()
                                        throws java.io.IOException
Throws:
java.io.IOException

notifyServerVersion

void notifyServerVersion(ProtocolVersion selectedVersion)
                         throws java.io.IOException
Throws:
java.io.IOException

notifySessionID

void notifySessionID(byte[] sessionID)
Notifies the client of the session_id sent in the ServerHello.

Parameters:
sessionID -
See Also:
TlsContext#getResumableSession()}

notifySelectedCipherSuite

void notifySelectedCipherSuite(int selectedCipherSuite)

notifySelectedCompressionMethod

void notifySelectedCompressionMethod(short selectedCompressionMethod)

processServerExtensions

void processServerExtensions(java.util.Hashtable serverExtensions)
                             throws java.io.IOException
Throws:
java.io.IOException

processServerSupplementalData

void processServerSupplementalData(java.util.Vector serverSupplementalData)
                                   throws java.io.IOException
Throws:
java.io.IOException

getKeyExchange

TlsKeyExchange getKeyExchange()
                              throws java.io.IOException
Throws:
java.io.IOException

getAuthentication

TlsAuthentication getAuthentication()
                                    throws java.io.IOException
Throws:
java.io.IOException

getClientSupplementalData

java.util.Vector getClientSupplementalData()
                                           throws java.io.IOException
Throws:
java.io.IOException

notifyNewSessionTicket

void notifyNewSessionTicket(NewSessionTicket newSessionTicket)
                            throws java.io.IOException
RFC 5077 3.3. NewSessionTicket Handshake Message

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.

Parameters:
newSessionTicket - The ticket.
Throws:
java.io.IOException

Bouncy Castle Cryptography 1.50