public class TlsClientProtocol extends TlsProtocol
Modifier and Type | Field and Description |
---|---|
protected TlsAuthentication |
authentication |
protected CertificateRequest |
certificateRequest |
protected java.util.Hashtable |
clientExtensions |
protected TlsKeyExchange |
keyExchange |
protected int[] |
offeredCipherSuites |
protected short[] |
offeredCompressionMethods |
protected int |
selectedCipherSuite |
protected short |
selectedCompressionMethod |
protected TlsClient |
tlsClient |
protected org.bouncycastle.crypto.tls.TlsClientContextImpl |
tlsClientContext |
connection_state, CS_CERTIFICATE_REQUEST, CS_CERTIFICATE_VERIFY, CS_CLIENT_CERTIFICATE, CS_CLIENT_CHANGE_CIPHER_SPEC, CS_CLIENT_FINISHED, CS_CLIENT_HELLO, CS_CLIENT_KEY_EXCHANGE, CS_CLIENT_SUPPLEMENTAL_DATA, CS_SERVER_CERTIFICATE, CS_SERVER_CHANGE_CIPHER_SPEC, CS_SERVER_FINISHED, CS_SERVER_HELLO, CS_SERVER_HELLO_DONE, CS_SERVER_KEY_EXCHANGE, CS_SERVER_SESSION_TICKET, CS_SERVER_SUPPLEMENTAL_DATA, CS_START, expectSessionTicket, EXT_RenegotiationInfo, EXT_SessionTicket, recordStream, secure_renegotiation, secureRandom, securityParameters
Constructor and Description |
---|
TlsClientProtocol(java.io.InputStream input,
java.io.OutputStream output) |
TlsClientProtocol(java.io.InputStream input,
java.io.OutputStream output,
java.security.SecureRandom secureRandom) |
Modifier and Type | Method and Description |
---|---|
void |
connect(TlsClient tlsClient)
Initiates a TLS handshake in the role of client
|
protected org.bouncycastle.crypto.tls.AbstractTlsContext |
getContext() |
protected TlsPeer |
getPeer() |
protected void |
handleChangeCipherSpecMessage() |
protected void |
handleHandshakeMessage(short type,
byte[] data) |
protected void |
handleSupplementalData(java.util.Vector serverSupplementalData) |
protected void |
receiveNewSessionTicketMessage(java.io.ByteArrayInputStream buf) |
protected void |
receiveServerHelloMessage(java.io.ByteArrayInputStream buf) |
protected void |
sendCertificateVerifyMessage(byte[] data) |
protected void |
sendClientHelloMessage() |
protected void |
sendClientKeyExchangeMessage() |
arrayContains, arrayContains, assertEmpty, close, completeHandshake, createRandomBlock, createRenegotiationInfo, createVerifyData, establishMasterSecret, failWithError, flush, getInputStream, getOutputStream, getPRFAlgorithm, handleClose, handleWarningMessage, processFinishedMessage, processRecord, raiseAlert, raiseWarning, readApplicationData, readExtensions, readSupplementalDataMessage, safeReadRecord, safeWriteRecord, sendCertificateMessage, sendChangeCipherSpecMessage, sendFinishedMessage, sendSupplementalDataMessage, writeData, writeExtensions, writeSupplementalData
protected TlsClient tlsClient
protected org.bouncycastle.crypto.tls.TlsClientContextImpl tlsClientContext
protected int[] offeredCipherSuites
protected short[] offeredCompressionMethods
protected java.util.Hashtable clientExtensions
protected int selectedCipherSuite
protected short selectedCompressionMethod
protected TlsKeyExchange keyExchange
protected TlsAuthentication authentication
protected CertificateRequest certificateRequest
public TlsClientProtocol(java.io.InputStream input, java.io.OutputStream output)
public TlsClientProtocol(java.io.InputStream input, java.io.OutputStream output, java.security.SecureRandom secureRandom)
public void connect(TlsClient tlsClient) throws java.io.IOException
tlsClient
- java.io.IOException
- If handshake was not successful.protected org.bouncycastle.crypto.tls.AbstractTlsContext getContext()
getContext
in class TlsProtocol
protected TlsPeer getPeer()
getPeer
in class TlsProtocol
protected void handleChangeCipherSpecMessage() throws java.io.IOException
handleChangeCipherSpecMessage
in class TlsProtocol
java.io.IOException
protected void handleHandshakeMessage(short type, byte[] data) throws java.io.IOException
handleHandshakeMessage
in class TlsProtocol
java.io.IOException
protected void handleSupplementalData(java.util.Vector serverSupplementalData) throws java.io.IOException
java.io.IOException
protected void receiveNewSessionTicketMessage(java.io.ByteArrayInputStream buf) throws java.io.IOException
java.io.IOException
protected void receiveServerHelloMessage(java.io.ByteArrayInputStream buf) throws java.io.IOException
java.io.IOException
protected void sendCertificateVerifyMessage(byte[] data) throws java.io.IOException
java.io.IOException
protected void sendClientHelloMessage() throws java.io.IOException
java.io.IOException
protected void sendClientKeyExchangeMessage() throws java.io.IOException
java.io.IOException