final class ServerHandshaker
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 java.security.cert.X509Certificate[] |
certs |
(package private) sun.security.ssl.CipherSuite |
cipherSuite |
(package private) boolean |
clientHelloDelivered |
private sun.security.ssl.ProtocolVersion |
clientRequestedVersion |
(package private) byte[] |
clientVerifyData |
(package private) sun.security.ssl.RandomCookie |
clnt_random |
(package private) sun.security.ssl.SSLSocketImpl |
conn |
private static int |
customizedDHKeySize |
(package private) static sun.security.ssl.Debug |
debug |
private sun.security.ssl.DHCrypt |
dh |
private byte |
doClientAuth |
private sun.security.ssl.ECDHCrypt |
ecdh |
(package private) boolean |
enableNewSession |
(package private) sun.security.ssl.SSLEngineImpl |
engine |
(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 static java.security.AlgorithmConstraints |
legacyAlgorithmConstraints |
private boolean |
needClientVerify |
(package private) sun.security.ssl.HandshakeOutStream |
output |
(package private) java.util.Collection<sun.security.ssl.SignatureAndHashAlgorithm> |
peerSupportedSignAlgs |
(package private) sun.security.ssl.SignatureAndHashAlgorithm |
preferableSignatureAlgorithm |
(package private) boolean |
preferLocalCipherSuites |
private java.security.PrivateKey |
privateKey |
(package private) sun.security.ssl.ProtocolVersion |
protocolVersion |
(package private) static boolean |
rejectClientInitiatedRenego |
private sun.security.ssl.EllipticCurvesExtension |
requestedCurves |
(package private) boolean |
requestedToUseEMS |
(package private) boolean |
resumingSession |
(package private) boolean |
secureRenegotiation |
(package private) boolean |
serverHelloRequested |
(package private) java.util.List<javax.net.ssl.SNIServerName> |
serverNames |
(package private) byte[] |
serverVerifyData |
private java.lang.Object |
serviceCreds |
(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 |
private java.security.PrivateKey |
tempPrivateKey |
private java.security.PublicKey |
tempPublicKey |
(package private) static boolean |
useExtendedMasterSecret |
private static boolean |
useLegacyEphemeralDHKeys |
private static boolean |
useSmartEphemeralDHKeys |
Constructor and Description |
---|
ServerHandshaker(sun.security.ssl.SSLEngineImpl engine,
sun.security.ssl.SSLContextImpl context,
sun.security.ssl.ProtocolList enabledProtocols,
byte clientAuth,
sun.security.ssl.ProtocolVersion activeProtocolVersion,
boolean isInitialHandshake,
boolean secureRenegotiation,
byte[] clientVerifyData,
byte[] serverVerifyData) |
ServerHandshaker(sun.security.ssl.SSLSocketImpl socket,
sun.security.ssl.SSLContextImpl context,
sun.security.ssl.ProtocolList enabledProtocols,
byte clientAuth,
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() |
(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() |
private void |
chooseCipherSuite(sun.security.ssl.HandshakeMessage.ClientHello mesg) |
private void |
clientCertificate(sun.security.ssl.HandshakeMessage.CertificateMsg mesg) |
private void |
clientCertificateVerify(sun.security.ssl.HandshakeMessage.CertificateVerify mesg) |
private void |
clientFinished(sun.security.ssl.HandshakeMessage.Finished mesg) |
private void |
clientHello(sun.security.ssl.HandshakeMessage.ClientHello mesg) |
private javax.crypto.SecretKey |
clientKeyExchange(sun.security.ssl.DHClientKeyExchange mesg) |
private javax.crypto.SecretKey |
clientKeyExchange(sun.security.ssl.ECDHClientKeyExchange mesg) |
private javax.crypto.SecretKey |
clientKeyExchange(sun.security.ssl.KerberosClientKeyExchange mesg) |
private javax.crypto.SecretKey |
clientKeyExchange(sun.security.ssl.RSAClientKeyExchange mesg) |
(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() |
(package private) sun.security.ssl.Handshaker.DelegatedTask<?> |
getTask() |
(package private) void |
handshakeAlert(byte description) |
(package private) boolean |
isDone() |
(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 message_len) |
(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) |
(package private) void |
setAlgorithmConstraints(java.security.AlgorithmConstraints arg0) |
(package private) void |
setCipherSuite(sun.security.ssl.CipherSuite arg0) |
(package private) void |
setClientAuth(byte clientAuth) |
(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) |
private void |
setupEphemeralDHKeys(boolean export,
java.security.Key key) |
private boolean |
setupEphemeralECDHKeys() |
private boolean |
setupEphemeralRSAKeys(boolean export) |
private boolean |
setupKerberosKeys()
Retrieve the Kerberos key for the specified server principal
from the JAAS configuration file.
|
private boolean |
setupPrivateKeyAndChain(java.lang.String algorithm)
Retrieve the server key and certificate for the specified algorithm
from the KeyManager and set the instance variables.
|
private void |
setupStaticECDHKeys() |
(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) boolean |
trySetCipherSuite(sun.security.ssl.CipherSuite suite)
Set the given CipherSuite, if possible.
|
(package private) void |
warningSE(byte arg0) |
private byte doClientAuth
private java.security.cert.X509Certificate[] certs
private java.security.PrivateKey privateKey
private java.lang.Object serviceCreds
private boolean needClientVerify
private java.security.PrivateKey tempPrivateKey
private java.security.PublicKey tempPublicKey
private sun.security.ssl.DHCrypt dh
private sun.security.ssl.ECDHCrypt ecdh
private sun.security.ssl.ProtocolVersion clientRequestedVersion
private sun.security.ssl.EllipticCurvesExtension requestedCurves
sun.security.ssl.SignatureAndHashAlgorithm preferableSignatureAlgorithm
private static final boolean useSmartEphemeralDHKeys
private static final boolean useLegacyEphemeralDHKeys
private static final int customizedDHKeySize
private static final java.security.AlgorithmConstraints legacyAlgorithmConstraints
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
ServerHandshaker(sun.security.ssl.SSLSocketImpl socket, sun.security.ssl.SSLContextImpl context, sun.security.ssl.ProtocolList enabledProtocols, byte clientAuth, sun.security.ssl.ProtocolVersion activeProtocolVersion, boolean isInitialHandshake, boolean secureRenegotiation, byte[] clientVerifyData, byte[] serverVerifyData)
ServerHandshaker(sun.security.ssl.SSLEngineImpl engine, sun.security.ssl.SSLContextImpl context, sun.security.ssl.ProtocolList enabledProtocols, byte clientAuth, sun.security.ssl.ProtocolVersion activeProtocolVersion, boolean isInitialHandshake, boolean secureRenegotiation, byte[] clientVerifyData, byte[] serverVerifyData)
void setClientAuth(byte clientAuth)
void processMessage(byte type, int message_len) throws java.io.IOException
java.io.IOException
private void clientHello(sun.security.ssl.HandshakeMessage.ClientHello mesg) throws java.io.IOException
java.io.IOException
private void chooseCipherSuite(sun.security.ssl.HandshakeMessage.ClientHello mesg) throws java.io.IOException
java.io.IOException
boolean trySetCipherSuite(sun.security.ssl.CipherSuite suite)
private boolean setupEphemeralRSAKeys(boolean export)
private void setupEphemeralDHKeys(boolean export, java.security.Key key)
private boolean setupEphemeralECDHKeys()
private void setupStaticECDHKeys()
private boolean setupPrivateKeyAndChain(java.lang.String algorithm)
private boolean setupKerberosKeys()
private javax.crypto.SecretKey clientKeyExchange(sun.security.ssl.KerberosClientKeyExchange mesg) throws java.io.IOException
java.io.IOException
private javax.crypto.SecretKey clientKeyExchange(sun.security.ssl.DHClientKeyExchange mesg) throws java.io.IOException
java.io.IOException
private javax.crypto.SecretKey clientKeyExchange(sun.security.ssl.ECDHClientKeyExchange mesg) throws java.io.IOException
java.io.IOException
private void clientCertificateVerify(sun.security.ssl.HandshakeMessage.CertificateVerify mesg) throws java.io.IOException
java.io.IOException
private void clientFinished(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()
void handshakeAlert(byte description) throws javax.net.ssl.SSLProtocolException
javax.net.ssl.SSLProtocolException
private javax.crypto.SecretKey clientKeyExchange(sun.security.ssl.RSAClientKeyExchange mesg) throws java.io.IOException
java.io.IOException
private void clientCertificate(sun.security.ssl.HandshakeMessage.CertificateMsg mesg) throws java.io.IOException
java.io.IOException
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