Package org.conscrypt
Class ClientHandshakeImpl
java.lang.Object
org.conscrypt.HandshakeProtocol
org.conscrypt.ClientHandshakeImpl
public class ClientHandshakeImpl extends HandshakeProtocol
Client side handshake protocol implementation.
Handshake protocol operates on top of the Record Protocol.
It is responsible for session negotiating.
The implementation processes inbound server handshake messages,
creates and sends respond messages. Outbound messages are supplied
to Record Protocol. Detected errors are reported to the Alert protocol.
-
Field Summary
Fields inherited from class org.conscrypt.HandshakeProtocol
certificateRequest, certificateVerify, changeCipherSpecReceived, clientCert, clientFinished, clientHello, clientKeyExchange, delegatedTaskErr, delegatedTasks, engineOwner, FINISHED, io_stream, isResuming, NEED_TASK, NEED_UNWRAP, needSendHelloRequest, nonBlocking, NOT_HANDSHAKING, parameters, preMasterSecret, recordProtocol, serverCert, serverFinished, serverHello, serverHelloDone, serverKeyExchange, session, socketOwner, status -
Method Summary
Modifier and Type Method Description protected voidmakeFinished()Creates and sends Finished messagevoidreceiveChangeCipherSpec()Processes ChangeCipherSpec messagevoidstart()Starts handshakevoidunwrap(byte[] bytes)Processes inbound handshake messagesvoidunwrapSSLv2(byte[] bytes)Processes SSLv2 Hello message.Methods inherited from class org.conscrypt.HandshakeProtocol
clearMessages, computerMasterSecret, computerReferenceVerifyDataSSLv3, computerReferenceVerifyDataTLS, computerVerifyDataSSLv3, computerVerifyDataTLS, fatalAlert, fatalAlert, fatalAlert, getRSAKeyLength, getSession, getStatus, getTask, send, sendChangeCipherSpec, sendHelloRequest, sendWarningAlert, setRecordProtocol, shutdown, stop, unexpectedMessage, verifyFinished, wrap
-
Method Details
-
start
public void start()Starts handshake- Specified by:
startin classHandshakeProtocol
-
unwrap
public void unwrap(byte[] bytes)Processes inbound handshake messages- Specified by:
unwrapin classHandshakeProtocol- Parameters:
bytes-
-
unwrapSSLv2
public void unwrapSSLv2(byte[] bytes)Processes SSLv2 Hello message. SSLv2 client hello message message is an unexpected message for client side of handshake protocol. See TLS 1.0 spec., E.1. Version 2 client hello- Specified by:
unwrapSSLv2in classHandshakeProtocol- Parameters:
bytes-
-
makeFinished
protected void makeFinished()Creates and sends Finished message -
receiveChangeCipherSpec
public void receiveChangeCipherSpec()Processes ChangeCipherSpec message
-