org.bouncycastle.crypto.tls
Class AbstractTlsClient
java.lang.Object
org.bouncycastle.crypto.tls.AbstractTlsPeer
org.bouncycastle.crypto.tls.AbstractTlsClient
- All Implemented Interfaces:
- TlsClient, TlsPeer
- Direct Known Subclasses:
- DefaultTlsClient, PSKTlsClient, SRPTlsClient
public abstract class AbstractTlsClient
- extends AbstractTlsPeer
- implements TlsClient
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
cipherFactory
protected TlsCipherFactory cipherFactory
context
protected TlsClientContext context
supportedSignatureAlgorithms
protected java.util.Vector supportedSignatureAlgorithms
selectedCipherSuite
protected int selectedCipherSuite
selectedCompressionMethod
protected short selectedCompressionMethod
AbstractTlsClient
public AbstractTlsClient()
AbstractTlsClient
public AbstractTlsClient(TlsCipherFactory cipherFactory)
init
public void init(TlsClientContext context)
- Specified by:
init
in interface TlsClient
getClientHelloRecordLayerVersion
public ProtocolVersion getClientHelloRecordLayerVersion()
- RFC 5246 E.1. "TLS clients that wish to negotiate with older servers MAY send any value
{03,XX} as the record layer version number. Typical values would be {03,00}, the lowest
version number supported by the client, and the value of ClientHello.client_version. No
single value will guarantee interoperability with all old servers, but this is a complex
topic beyond the scope of this document."
- Specified by:
getClientHelloRecordLayerVersion
in interface TlsClient
getClientVersion
public ProtocolVersion getClientVersion()
- Specified by:
getClientVersion
in interface TlsClient
getClientExtensions
public java.util.Hashtable getClientExtensions()
throws java.io.IOException
- Specified by:
getClientExtensions
in interface TlsClient
- Throws:
java.io.IOException
getMinimumVersion
public ProtocolVersion getMinimumVersion()
notifyServerVersion
public void notifyServerVersion(ProtocolVersion serverVersion)
throws java.io.IOException
- Specified by:
notifyServerVersion
in interface TlsClient
- Throws:
java.io.IOException
getCompressionMethods
public short[] getCompressionMethods()
- Specified by:
getCompressionMethods
in interface TlsClient
notifySessionID
public void notifySessionID(byte[] sessionID)
- Specified by:
notifySessionID
in interface TlsClient
notifySelectedCipherSuite
public void notifySelectedCipherSuite(int selectedCipherSuite)
- Specified by:
notifySelectedCipherSuite
in interface TlsClient
notifySelectedCompressionMethod
public void notifySelectedCompressionMethod(short selectedCompressionMethod)
- Specified by:
notifySelectedCompressionMethod
in interface TlsClient
notifySecureRenegotiation
public void notifySecureRenegotiation(boolean secureRenegotiation)
throws java.io.IOException
- Specified by:
notifySecureRenegotiation
in interface TlsClient
- Throws:
java.io.IOException
processServerExtensions
public void processServerExtensions(java.util.Hashtable serverExtensions)
throws java.io.IOException
- Specified by:
processServerExtensions
in interface TlsClient
- Throws:
java.io.IOException
processServerSupplementalData
public void processServerSupplementalData(java.util.Vector serverSupplementalData)
throws java.io.IOException
- Specified by:
processServerSupplementalData
in interface TlsClient
- Throws:
java.io.IOException
getClientSupplementalData
public java.util.Vector getClientSupplementalData()
throws java.io.IOException
- Specified by:
getClientSupplementalData
in interface TlsClient
- Throws:
java.io.IOException
getCompression
public TlsCompression getCompression()
throws java.io.IOException
- Specified by:
getCompression
in interface TlsClient
- Throws:
java.io.IOException
notifyNewSessionTicket
public void notifyNewSessionTicket(NewSessionTicket newSessionTicket)
throws java.io.IOException
- Description copied from interface:
TlsClient
- 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.
- Specified by:
notifyNewSessionTicket
in interface TlsClient
- Parameters:
newSessionTicket
- The ticket.
- Throws:
java.io.IOException
notifyHandshakeComplete
public void notifyHandshakeComplete()
throws java.io.IOException
- Specified by:
notifyHandshakeComplete
in interface TlsClient
- Throws:
java.io.IOException