final class ClientHandshaker
extends java.lang.Object
Modifier and Type | Class and Description |
---|---|
(package private) class |
sun.security.ssl.Handshaker.DelegatedTask<E> |
Modifier and Type | Field and Description |
---|---|
(package private) sun.security.ssl.ProtocolVersion |
activeProtocolVersion |
(package private) java.security.AlgorithmConstraints |
algorithmConstraints |
(package private) static boolean |
allowLegacyHelloMessages |
(package private) static boolean |
allowLegacyMasterSecret |
(package private) static boolean |
allowLegacyResumption |
(package private) static boolean |
allowUnsafeRenegotiation |
private static boolean |
allowUnsafeServerCertChange |
private static int |
ALTNAME_DNS |
private static int |
ALTNAME_IP |
private sun.security.ssl.HandshakeMessage.CertificateRequest |
certRequest |
(package private) sun.security.ssl.CipherSuite |
cipherSuite |
(package private) boolean |
clientHelloDelivered |
(package private) byte[] |
clientVerifyData |
(package private) sun.security.ssl.RandomCookie |
clnt_random |
(package private) sun.security.ssl.SSLSocketImpl |
conn |
(package private) static sun.security.ssl.Debug |
debug |
private sun.security.ssl.DHCrypt |
dh |
private sun.security.ssl.ECDHCrypt |
ecdh |
(package private) boolean |
enableNewSession |
private static boolean |
enableSNIExtension |
(package private) sun.security.ssl.SSLEngineImpl |
engine |
private java.security.PublicKey |
ephemeralServerKey |
(package private) boolean |
handshakeActivated |
(package private) boolean |
handshakeFinished |
(package private) sun.security.ssl.HandshakeHash |
handshakeHash |
(package private) sun.security.ssl.HandshakeStateManager |
handshakeState |
(package private) java.lang.String |
identificationProtocol |
(package private) sun.security.ssl.HandshakeInStream |
input |
(package private) boolean |
invalidated |
(package private) boolean |
isInitialHandshake |
(package private) sun.security.ssl.CipherSuite.KeyExchange |
keyExchange |
private sun.security.ssl.ProtocolVersion |
maxProtocolVersion |
(package private) sun.security.ssl.HandshakeOutStream |
output |
(package private) java.util.Collection<sun.security.ssl.SignatureAndHashAlgorithm> |
peerSupportedSignAlgs |
(package private) boolean |
preferLocalCipherSuites |
(package private) sun.security.ssl.ProtocolVersion |
protocolVersion |
(package private) static boolean |
rejectClientInitiatedRenego |
private java.util.List<javax.net.ssl.SNIServerName> |
requestedServerNames |
(package private) boolean |
requestedToUseEMS |
private java.security.cert.X509Certificate[] |
reservedServerCerts |
(package private) boolean |
resumingSession |
(package private) boolean |
secureRenegotiation |
private java.math.BigInteger |
serverDH |
(package private) boolean |
serverHelloRequested |
private java.security.PublicKey |
serverKey |
private boolean |
serverKeyExchangeReceived |
(package private) java.util.List<javax.net.ssl.SNIServerName> |
serverNames |
private boolean |
serverNamesAccepted |
(package private) byte[] |
serverVerifyData |
(package private) sun.security.ssl.SSLSessionImpl |
session |
(package private) java.util.Collection<javax.net.ssl.SNIMatcher> |
sniMatchers |
(package private) sun.security.ssl.SSLContextImpl |
sslContext |
(package private) sun.security.ssl.RandomCookie |
svr_random |
(package private) static boolean |
useExtendedMasterSecret |
Constructor and Description |
---|
ClientHandshaker(sun.security.ssl.SSLEngineImpl engine,
sun.security.ssl.SSLContextImpl context,
sun.security.ssl.ProtocolList enabledProtocols,
sun.security.ssl.ProtocolVersion activeProtocolVersion,
boolean isInitialHandshake,
boolean secureRenegotiation,
byte[] clientVerifyData,
byte[] serverVerifyData) |
ClientHandshaker(sun.security.ssl.SSLSocketImpl socket,
sun.security.ssl.SSLContextImpl context,
sun.security.ssl.ProtocolList enabledProtocols,
sun.security.ssl.ProtocolVersion activeProtocolVersion,
boolean isInitialHandshake,
boolean secureRenegotiation,
byte[] clientVerifyData,
byte[] serverVerifyData) |
Modifier and Type | Method and Description |
---|---|
(package private) void |
activate(sun.security.ssl.ProtocolVersion arg0) |
(package private) boolean |
activated() |
private void |
alpnSelected(sun.security.ssl.HandshakeMessage.ServerHello mesg) |
(package private) void |
calculateConnectionKeys(javax.crypto.SecretKey arg0) |
(package private) void |
calculateKeys(javax.crypto.SecretKey arg0,
sun.security.ssl.ProtocolVersion arg1) |
(package private) void |
checkThrown() |
(package private) void |
fatalSE(byte arg0,
java.lang.String arg1) |
(package private) void |
fatalSE(byte arg0,
java.lang.String arg1,
java.lang.Throwable arg2) |
(package private) void |
fatalSE(byte arg0,
java.lang.Throwable arg1) |
(package private) java.security.AccessControlContext |
getAccSE() |
(package private) sun.security.ssl.CipherSuiteList |
getActiveCipherSuites() |
(package private) sun.security.ssl.ProtocolList |
getActiveProtocols() |
(package private) byte[] |
getClientVerifyData() |
(package private) java.lang.String |
getEndpointIdentificationAlgorithmSE() |
(package private) java.lang.String |
getHostAddressSE() |
(package private) java.lang.String |
getHostSE() |
(package private) sun.security.ssl.HandshakeMessage |
getKickstartMessage() |
(package private) int |
getLocalPortSE() |
(package private) java.util.Collection<sun.security.ssl.SignatureAndHashAlgorithm> |
getLocalSupportedSignAlgs() |
(package private) java.util.Collection<sun.security.ssl.SignatureAndHashAlgorithm> |
getPeerSupportedSignAlgs() |
(package private) int |
getPortSE() |
(package private) byte[] |
getServerVerifyData() |
(package private) sun.security.ssl.SSLSessionImpl |
getSession() |
private static java.util.Collection<java.lang.String> |
getSubjectAltNames(java.util.Collection<java.util.List<?>> subjectAltNames,
int type) |
(package private) sun.security.ssl.Handshaker.DelegatedTask<?> |
getTask() |
(package private) void |
handshakeAlert(byte description) |
(package private) boolean |
isDone() |
private static boolean |
isEquivalent(java.util.Collection<java.lang.String> thisSubAltNames,
java.util.Collection<java.lang.String> prevSubAltNames) |
private static boolean |
isIdentityEquivalent(java.security.cert.X509Certificate thisCert,
java.security.cert.X509Certificate prevCert) |
(package private) boolean |
isNegotiable(sun.security.ssl.CipherSuite arg0) |
(package private) static boolean |
isNegotiable(sun.security.ssl.CipherSuiteList arg0,
sun.security.ssl.CipherSuite arg1) |
(package private) boolean |
isNegotiable(sun.security.ssl.ProtocolVersion arg0) |
(package private) boolean |
isSecureRenegotiation() |
(package private) void |
kickstart() |
(package private) sun.security.ssl.Authenticator |
newReadAuthenticator() |
(package private) sun.security.ssl.CipherBox |
newReadCipher() |
(package private) sun.security.ssl.Authenticator |
newWriteAuthenticator() |
(package private) sun.security.ssl.CipherBox |
newWriteCipher() |
(package private) void |
process_record(sun.security.ssl.InputRecord arg0,
boolean arg1) |
(package private) void |
processLoop() |
(package private) void |
processMessage(byte type,
int messageLen) |
(package private) void |
receiveChangeCipherSpec() |
(package private) sun.security.ssl.ProtocolVersion |
selectProtocolVersion(sun.security.ssl.ProtocolVersion arg0) |
private void |
sendChangeCipherAndFinish(boolean finishedTag) |
(package private) void |
sendChangeCipherSpec(sun.security.ssl.HandshakeMessage.Finished arg0,
boolean arg1) |
private void |
serverCertificate(sun.security.ssl.HandshakeMessage.CertificateMsg mesg) |
private void |
serverFinished(sun.security.ssl.HandshakeMessage.Finished mesg) |
private void |
serverHello(sun.security.ssl.HandshakeMessage.ServerHello mesg) |
private void |
serverHelloDone(sun.security.ssl.HandshakeMessage.ServerHelloDone mesg) |
private void |
serverHelloRequest(sun.security.ssl.HandshakeMessage.HelloRequest mesg) |
private void |
serverKeyExchange(sun.security.ssl.HandshakeMessage.DH_ServerKeyExchange mesg) |
private void |
serverKeyExchange(sun.security.ssl.HandshakeMessage.ECDH_ServerKeyExchange mesg) |
private void |
serverKeyExchange(sun.security.ssl.HandshakeMessage.RSA_ServerKeyExchange mesg) |
(package private) void |
setAlgorithmConstraints(java.security.AlgorithmConstraints arg0) |
(package private) void |
setCipherSuite(sun.security.ssl.CipherSuite arg0) |
(package private) void |
setEnabledCipherSuites(sun.security.ssl.CipherSuiteList arg0) |
(package private) void |
setEnabledProtocols(sun.security.ssl.ProtocolList arg0) |
(package private) void |
setEnableSessionCreation(boolean arg0) |
(package private) void |
setHandshakeSessionSE(sun.security.ssl.SSLSessionImpl arg0) |
(package private) void |
setIdentificationProtocol(java.lang.String arg0) |
(package private) void |
setPeerSupportedSignAlgs(java.util.Collection<sun.security.ssl.SignatureAndHashAlgorithm> arg0) |
(package private) void |
setSNIMatchers(java.util.Collection<javax.net.ssl.SNIMatcher> arg0) |
(package private) void |
setSNIServerNames(java.util.List<javax.net.ssl.SNIServerName> arg0) |
(package private) void |
setUseCipherSuitesOrder(boolean arg0) |
(package private) void |
setVersion(sun.security.ssl.ProtocolVersion arg0) |
(package private) boolean |
started() |
(package private) boolean |
taskOutstanding() |
(package private) static void |
throwSSLException(java.lang.String arg0,
java.lang.Throwable arg1) |
(package private) void |
warningSE(byte arg0) |
private static final int ALTNAME_DNS
private static final int ALTNAME_IP
private java.security.PublicKey serverKey
private java.security.PublicKey ephemeralServerKey
private java.math.BigInteger serverDH
private sun.security.ssl.DHCrypt dh
private sun.security.ssl.ECDHCrypt ecdh
private sun.security.ssl.HandshakeMessage.CertificateRequest certRequest
private boolean serverKeyExchangeReceived
private sun.security.ssl.ProtocolVersion maxProtocolVersion
private static final boolean enableSNIExtension
private static final boolean allowUnsafeServerCertChange
private java.util.List<javax.net.ssl.SNIServerName> requestedServerNames
private boolean serverNamesAccepted
private java.security.cert.X509Certificate[] reservedServerCerts
sun.security.ssl.ProtocolVersion protocolVersion
sun.security.ssl.ProtocolVersion activeProtocolVersion
boolean secureRenegotiation
byte[] clientVerifyData
byte[] serverVerifyData
boolean isInitialHandshake
java.lang.String identificationProtocol
java.security.AlgorithmConstraints algorithmConstraints
java.util.Collection<sun.security.ssl.SignatureAndHashAlgorithm> peerSupportedSignAlgs
java.util.List<javax.net.ssl.SNIServerName> serverNames
java.util.Collection<javax.net.ssl.SNIMatcher> sniMatchers
sun.security.ssl.SSLSocketImpl conn
sun.security.ssl.SSLEngineImpl engine
sun.security.ssl.HandshakeHash handshakeHash
sun.security.ssl.HandshakeInStream input
sun.security.ssl.HandshakeOutStream output
sun.security.ssl.SSLContextImpl sslContext
sun.security.ssl.RandomCookie clnt_random
sun.security.ssl.RandomCookie svr_random
sun.security.ssl.SSLSessionImpl session
sun.security.ssl.HandshakeStateManager handshakeState
boolean clientHelloDelivered
boolean serverHelloRequested
boolean handshakeActivated
boolean handshakeFinished
sun.security.ssl.CipherSuite cipherSuite
sun.security.ssl.CipherSuite.KeyExchange keyExchange
boolean resumingSession
boolean enableNewSession
boolean preferLocalCipherSuites
static final sun.security.ssl.Debug debug
static final boolean allowUnsafeRenegotiation
static final boolean allowLegacyHelloMessages
static final boolean rejectClientInitiatedRenego
static final boolean useExtendedMasterSecret
static final boolean allowLegacyResumption
static final boolean allowLegacyMasterSecret
boolean requestedToUseEMS
boolean invalidated
ClientHandshaker(sun.security.ssl.SSLSocketImpl socket, sun.security.ssl.SSLContextImpl context, sun.security.ssl.ProtocolList enabledProtocols, sun.security.ssl.ProtocolVersion activeProtocolVersion, boolean isInitialHandshake, boolean secureRenegotiation, byte[] clientVerifyData, byte[] serverVerifyData)
ClientHandshaker(sun.security.ssl.SSLEngineImpl engine, sun.security.ssl.SSLContextImpl context, sun.security.ssl.ProtocolList enabledProtocols, sun.security.ssl.ProtocolVersion activeProtocolVersion, boolean isInitialHandshake, boolean secureRenegotiation, byte[] clientVerifyData, byte[] serverVerifyData)
void processMessage(byte type, int messageLen) throws java.io.IOException
java.io.IOException
private void serverHelloRequest(sun.security.ssl.HandshakeMessage.HelloRequest mesg) throws java.io.IOException
java.io.IOException
private void serverHello(sun.security.ssl.HandshakeMessage.ServerHello mesg) throws java.io.IOException
java.io.IOException
private void alpnSelected(sun.security.ssl.HandshakeMessage.ServerHello mesg) throws java.io.IOException
java.io.IOException
private void serverKeyExchange(sun.security.ssl.HandshakeMessage.RSA_ServerKeyExchange mesg) throws java.io.IOException, java.security.GeneralSecurityException
java.io.IOException
java.security.GeneralSecurityException
private void serverKeyExchange(sun.security.ssl.HandshakeMessage.DH_ServerKeyExchange mesg) throws java.io.IOException
java.io.IOException
private void serverKeyExchange(sun.security.ssl.HandshakeMessage.ECDH_ServerKeyExchange mesg) throws java.io.IOException
java.io.IOException
private void serverHelloDone(sun.security.ssl.HandshakeMessage.ServerHelloDone mesg) throws java.io.IOException
java.io.IOException
private void serverFinished(sun.security.ssl.HandshakeMessage.Finished mesg) throws java.io.IOException
java.io.IOException
private void sendChangeCipherAndFinish(boolean finishedTag) throws java.io.IOException
java.io.IOException
sun.security.ssl.HandshakeMessage getKickstartMessage() throws javax.net.ssl.SSLException
javax.net.ssl.SSLException
void handshakeAlert(byte description) throws javax.net.ssl.SSLProtocolException
javax.net.ssl.SSLProtocolException
private void serverCertificate(sun.security.ssl.HandshakeMessage.CertificateMsg mesg) throws java.io.IOException
java.io.IOException
private static boolean isIdentityEquivalent(java.security.cert.X509Certificate thisCert, java.security.cert.X509Certificate prevCert)
private static java.util.Collection<java.lang.String> getSubjectAltNames(java.util.Collection<java.util.List<?>> subjectAltNames, int type)
private static boolean isEquivalent(java.util.Collection<java.lang.String> thisSubAltNames, java.util.Collection<java.lang.String> prevSubAltNames)
void fatalSE(byte arg0, java.lang.String arg1) throws java.io.IOException
java.io.IOException
void fatalSE(byte arg0, java.lang.Throwable arg1) throws java.io.IOException
java.io.IOException
void fatalSE(byte arg0, java.lang.String arg1, java.lang.Throwable arg2) throws java.io.IOException
java.io.IOException
void warningSE(byte arg0)
java.lang.String getHostSE()
java.lang.String getHostAddressSE()
int getPortSE()
int getLocalPortSE()
java.security.AccessControlContext getAccSE()
java.lang.String getEndpointIdentificationAlgorithmSE()
void setVersion(sun.security.ssl.ProtocolVersion arg0)
void setEnabledProtocols(sun.security.ssl.ProtocolList arg0)
void setEnabledCipherSuites(sun.security.ssl.CipherSuiteList arg0)
void setAlgorithmConstraints(java.security.AlgorithmConstraints arg0)
java.util.Collection<sun.security.ssl.SignatureAndHashAlgorithm> getLocalSupportedSignAlgs()
void setPeerSupportedSignAlgs(java.util.Collection<sun.security.ssl.SignatureAndHashAlgorithm> arg0)
java.util.Collection<sun.security.ssl.SignatureAndHashAlgorithm> getPeerSupportedSignAlgs()
void setIdentificationProtocol(java.lang.String arg0)
void setSNIServerNames(java.util.List<javax.net.ssl.SNIServerName> arg0)
void setSNIMatchers(java.util.Collection<javax.net.ssl.SNIMatcher> arg0)
void setUseCipherSuitesOrder(boolean arg0)
void activate(sun.security.ssl.ProtocolVersion arg0) throws java.io.IOException
java.io.IOException
void setCipherSuite(sun.security.ssl.CipherSuite arg0)
boolean isNegotiable(sun.security.ssl.CipherSuite arg0)
static final boolean isNegotiable(sun.security.ssl.CipherSuiteList arg0, sun.security.ssl.CipherSuite arg1)
boolean isNegotiable(sun.security.ssl.ProtocolVersion arg0)
sun.security.ssl.ProtocolVersion selectProtocolVersion(sun.security.ssl.ProtocolVersion arg0)
sun.security.ssl.CipherSuiteList getActiveCipherSuites()
sun.security.ssl.ProtocolList getActiveProtocols()
void setEnableSessionCreation(boolean arg0)
sun.security.ssl.CipherBox newReadCipher() throws java.security.NoSuchAlgorithmException
java.security.NoSuchAlgorithmException
sun.security.ssl.CipherBox newWriteCipher() throws java.security.NoSuchAlgorithmException
java.security.NoSuchAlgorithmException
sun.security.ssl.Authenticator newReadAuthenticator() throws java.security.NoSuchAlgorithmException, java.security.InvalidKeyException
java.security.NoSuchAlgorithmException
java.security.InvalidKeyException
sun.security.ssl.Authenticator newWriteAuthenticator() throws java.security.NoSuchAlgorithmException, java.security.InvalidKeyException
java.security.NoSuchAlgorithmException
java.security.InvalidKeyException
boolean isDone()
sun.security.ssl.SSLSessionImpl getSession()
void setHandshakeSessionSE(sun.security.ssl.SSLSessionImpl arg0)
boolean isSecureRenegotiation()
byte[] getClientVerifyData()
byte[] getServerVerifyData()
void process_record(sun.security.ssl.InputRecord arg0, boolean arg1) throws java.io.IOException
java.io.IOException
void processLoop() throws java.io.IOException
java.io.IOException
boolean activated()
boolean started()
void kickstart() throws java.io.IOException
java.io.IOException
void sendChangeCipherSpec(sun.security.ssl.HandshakeMessage.Finished arg0, boolean arg1) throws java.io.IOException
java.io.IOException
void receiveChangeCipherSpec() throws java.io.IOException
java.io.IOException
void calculateKeys(javax.crypto.SecretKey arg0, sun.security.ssl.ProtocolVersion arg1)
void calculateConnectionKeys(javax.crypto.SecretKey arg0)
static void throwSSLException(java.lang.String arg0, java.lang.Throwable arg1) throws javax.net.ssl.SSLException
javax.net.ssl.SSLException
sun.security.ssl.Handshaker.DelegatedTask<?> getTask()
boolean taskOutstanding()
void checkThrown() throws javax.net.ssl.SSLException
javax.net.ssl.SSLException