APIdia Launch Partner
Top Description Inners Fields Constructors Methods
sun.security.ssl

pack-priv final Class ClientHello

extends Object
Class Inheritance
Imports
java.io.IOException, java.nio.ByteBuffer, java.security.SecureRandom, java.security.cert.X509Certificate, java.text.MessageFormat, java.util.*, javax.net.ssl.SSLException, .SSLHandshakeException, .SSLPeerUnverifiedException, .SSLProtocolException, sun.security.ssl.SSLHandshake.HandshakeMessage, .SupportedVersionsExtension.CHSupportedVersionsSpec

Pack of the ClientHello handshake message.

Nested and Inner Type Summary

Modifier and TypeClass and Description
private static class
ClientHello.ClientHelloConsumer

The "ClientHello" handshake message consumer.

private static class
ClientHello.ClientHelloKickstartProducer

The "ClientHello" handshake message kick-start producer.

pack-priv static class
ClientHello.ClientHelloMessage

The ClientHello handshake message.

private static class
private static class
ClientHello.D12ClientHelloConsumer

The "ClientHello" handshake message consumer for DTLS 1.2 and previous DTLS protocol versions.

private static class
ClientHello.D13ClientHelloConsumer

The "ClientHello" handshake message consumer for DTLS 1.3.

private static class
ClientHello.T12ClientHelloConsumer

The "ClientHello" handshake message consumer for TLS 1.2 and prior SSL/TLS protocol versions.

private static class
ClientHello.T13ClientHelloConsumer

The "ClientHello" handshake message consumer for TLS 1.3.

Field Summary

Modifier and TypeField and Description
private static final HandshakeConsumer
private static final HandshakeConsumer
pack-priv static final SSLConsumer
pack-priv static final HandshakeProducer
pack-priv static final SSLProducer
private static final HandshakeConsumer
private static final HandshakeConsumer

Constructor Summary

AccessConstructor and Description
pack-priv

Method Summary

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

d12HandshakeConsumerback to summary
private static final HandshakeConsumer d12HandshakeConsumer
d13HandshakeConsumerback to summary
private static final HandshakeConsumer d13HandshakeConsumer
handshakeConsumerback to summary
pack-priv static final SSLConsumer handshakeConsumer
handshakeProducerback to summary
pack-priv static final HandshakeProducer handshakeProducer
kickstartProducerback to summary
pack-priv static final SSLProducer kickstartProducer
t12HandshakeConsumerback to summary
private static final HandshakeConsumer t12HandshakeConsumer
t13HandshakeConsumerback to summary
private static final HandshakeConsumer t13HandshakeConsumer

Constructor Detail

ClientHelloback to summary
pack-priv ClientHello()
sun.security.ssl back to summary

private final Class ClientHello.ClientHelloConsumer

extends Object
implements SSLConsumer
Class Inheritance
All Implemented Interfaces
sun.security.ssl.SSLConsumer

The "ClientHello" handshake message consumer.

Constructor Summary

AccessConstructor and Description
private

Method Summary

Modifier and TypeMethod and Description
public void
private ProtocolVersion
negotiateProtocol(ServerHandshakeContext context, int clientHelloVersion)

private ProtocolVersion
negotiateProtocol(ServerHandshakeContext context, int[] clientSupportedVersions)

private void
Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Constructor Detail

ClientHelloConsumerback to summary
private ClientHelloConsumer()

Method Detail

consumeback to summary
public void consume(ConnectionContext context, ByteBuffer message) throws IOException

Implements sun.security.ssl.SSLConsumer.consume.

Annotations
@Override
negotiateProtocolback to summary
private ProtocolVersion negotiateProtocol(ServerHandshakeContext context, int clientHelloVersion) throws SSLException
negotiateProtocolback to summary
private ProtocolVersion negotiateProtocol(ServerHandshakeContext context, int[] clientSupportedVersions) throws SSLException
onClientHelloback to summary
private void onClientHello(ServerHandshakeContext context, ClientHello.ClientHelloMessage clientHello) throws IOException
sun.security.ssl back to summary

private final Class ClientHello.ClientHelloKickstartProducer

extends Object
implements SSLProducer
Class Inheritance
All Implemented Interfaces
sun.security.ssl.SSLProducer

The "ClientHello" handshake message kick-start producer.

Constructor Summary

AccessConstructor and Description
private

Method Summary

Modifier and TypeMethod and Description
public byte[]
Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Constructor Detail

ClientHelloKickstartProducerback to summary
private ClientHelloKickstartProducer()

Method Detail

produceback to summary
public byte[] produce(ConnectionContext context) throws IOException

Implements sun.security.ssl.SSLProducer.produce.

Annotations
@Override
sun.security.ssl back to summary

pack-priv final Class ClientHello.ClientHelloMessage

extends HandshakeMessage
Class Inheritance

The ClientHello handshake message. See RFC 5264/4346/2246/6347 for the specifications.

Field Summary

Modifier and TypeField and Description
pack-priv final int[]
pack-priv final List<CipherSuite>
pack-priv final RandomCookie
pack-priv final int
pack-priv final byte[]
private byte[]
pack-priv final SSLExtensions
private final boolean
private static final byte[]
pack-priv final SessionId
Inherited from sun.security.ssl.SSLHandshake.HandshakeMessage:
handshakeContext

Constructor Summary

AccessConstructor and Description
pack-priv
ClientHelloMessage(HandshakeContext handshakeContext, int clientVersion, SessionId sessionId, List<CipherSuite> cipherSuites, SecureRandom generator)

pack-priv
ClientHelloMessage(HandshakeContext handshakeContext, ByteBuffer m, SSLExtension[] supportedExtensions)

Method Summary

Modifier and TypeMethod and Description
private static int[]
private List<String>
private static List<CipherSuite>
getCipherSuites(int[] ids)

private byte[]
pack-priv byte[]
pack-priv byte[]
public SSLHandshake
public int
pack-priv static void
public void
pack-priv void
pack-priv void
setHelloCookie(byte[] cookie)

public String
toString()

Overrides java.lang.Object.toString.

Returns a string representation of the object.

Inherited from sun.security.ssl.SSLHandshake.HandshakeMessage:
write

Field Detail

cipherSuiteIdsback to summary
pack-priv final int[] cipherSuiteIds
cipherSuitesback to summary
pack-priv final List<CipherSuite> cipherSuites
clientRandomback to summary
pack-priv final RandomCookie clientRandom
clientVersionback to summary
pack-priv final int clientVersion
compressionMethodback to summary
pack-priv final byte[] compressionMethod
cookieback to summary
private byte[] cookie
extensionsback to summary
pack-priv final SSLExtensions extensions
isDTLSback to summary
private final boolean isDTLS
NULL_COMPRESSIONback to summary
private static final byte[] NULL_COMPRESSION
sessionIdback to summary
pack-priv final SessionId sessionId

Constructor Detail

ClientHelloMessageback to summary
pack-priv ClientHelloMessage(HandshakeContext handshakeContext, int clientVersion, SessionId sessionId, List<CipherSuite> cipherSuites, SecureRandom generator)
ClientHelloMessageback to summary
pack-priv ClientHelloMessage(HandshakeContext handshakeContext, ByteBuffer m, SSLExtension[] supportedExtensions) throws IOException

Method Detail

getCipherSuiteIdsback to summary
private static int[] getCipherSuiteIds(List<CipherSuite> cipherSuites)
getCipherSuiteNamesback to summary
private List<String> getCipherSuiteNames()
getCipherSuitesback to summary
private static List<CipherSuite> getCipherSuites(int[] ids)
getEncodedCipherSuitesback to summary
private byte[] getEncodedCipherSuites()
getHeaderBytesback to summary
pack-priv byte[] getHeaderBytes()
getHelloCookieBytesback to summary
pack-priv byte[] getHelloCookieBytes()
handshakeTypeback to summary
public SSLHandshake handshakeType()

Implements abstract sun.security.ssl.SSLHandshake.HandshakeMessage.handshakeType.

Annotations
@Override
messageLengthback to summary
public int messageLength()

Implements abstract sun.security.ssl.SSLHandshake.HandshakeMessage.messageLength.

Annotations
@Override
readPartialback to summary
pack-priv static void readPartial(TransportContext tc, ByteBuffer m) throws IOException
sendback to summary
public void send(HandshakeOutStream hos) throws IOException

Implements abstract sun.security.ssl.SSLHandshake.HandshakeMessage.send.

Annotations
@Override
sendCoreback to summary
pack-priv void sendCore(HandshakeOutStream hos) throws IOException
setHelloCookieback to summary
pack-priv void setHelloCookie(byte[] cookie)
toStringback to summary
public String toString()

Overrides java.lang.Object.toString.

Doc from java.lang.Object.toString.

Returns a string representation of the object. Satisfying this method's contract implies a non-null result must be returned.

Annotations
@Override
sun.security.ssl back to summary

private final Class ClientHello.ClientHelloProducer

extends Object
implements HandshakeProducer
Class Inheritance
All Implemented Interfaces
sun.security.ssl.HandshakeProducer

Constructor Summary

AccessConstructor and Description
private

Method Summary

Modifier and TypeMethod and Description
public byte[]
Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Constructor Detail

ClientHelloProducerback to summary
private ClientHelloProducer()

Method Detail

produceback to summary
public byte[] produce(ConnectionContext context, SSLHandshake.HandshakeMessage message) throws IOException

Implements sun.security.ssl.HandshakeProducer.produce.

Annotations
@Override
sun.security.ssl back to summary

private final Class ClientHello.D12ClientHelloConsumer

extends Object
implements HandshakeConsumer
Class Inheritance
All Implemented Interfaces
sun.security.ssl.HandshakeConsumer

The "ClientHello" handshake message consumer for DTLS 1.2 and previous DTLS protocol versions.

Constructor Summary

AccessConstructor and Description
private

Method Summary

Modifier and TypeMethod and Description
public void
Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Constructor Detail

D12ClientHelloConsumerback to summary
private D12ClientHelloConsumer()

Method Detail

consumeback to summary
public void consume(ConnectionContext context, SSLHandshake.HandshakeMessage message) throws IOException

Implements sun.security.ssl.HandshakeConsumer.consume.

Annotations
@Override
sun.security.ssl back to summary

private final Class ClientHello.D13ClientHelloConsumer

extends Object
implements HandshakeConsumer
Class Inheritance
All Implemented Interfaces
sun.security.ssl.HandshakeConsumer

The "ClientHello" handshake message consumer for DTLS 1.3.

Constructor Summary

AccessConstructor and Description
private

Method Summary

Modifier and TypeMethod and Description
public void
Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Constructor Detail

D13ClientHelloConsumerback to summary
private D13ClientHelloConsumer()

Method Detail

consumeback to summary
public void consume(ConnectionContext context, SSLHandshake.HandshakeMessage message) throws IOException

Implements sun.security.ssl.HandshakeConsumer.consume.

Annotations
@Override
sun.security.ssl back to summary

private final Class ClientHello.T12ClientHelloConsumer

extends Object
implements HandshakeConsumer
Class Inheritance
All Implemented Interfaces
sun.security.ssl.HandshakeConsumer

The "ClientHello" handshake message consumer for TLS 1.2 and prior SSL/TLS protocol versions.

Constructor Summary

AccessConstructor and Description
private

Method Summary

Modifier and TypeMethod and Description
public void
Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Constructor Detail

T12ClientHelloConsumerback to summary
private T12ClientHelloConsumer()

Method Detail

consumeback to summary
public void consume(ConnectionContext context, SSLHandshake.HandshakeMessage message) throws IOException

Implements sun.security.ssl.HandshakeConsumer.consume.

Annotations
@Override
sun.security.ssl back to summary

private final Class ClientHello.T13ClientHelloConsumer

extends Object
implements HandshakeConsumer
Class Inheritance
All Implemented Interfaces
sun.security.ssl.HandshakeConsumer

The "ClientHello" handshake message consumer for TLS 1.3.

Constructor Summary

AccessConstructor and Description
private

Method Summary

Modifier and TypeMethod and Description
public void
private void
private void
Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Constructor Detail

T13ClientHelloConsumerback to summary
private T13ClientHelloConsumer()

Method Detail

consumeback to summary
public void consume(ConnectionContext context, SSLHandshake.HandshakeMessage message) throws IOException

Implements sun.security.ssl.HandshakeConsumer.consume.

Annotations
@Override
goHelloRetryRequestback to summary
private void goHelloRetryRequest(ServerHandshakeContext shc, ClientHello.ClientHelloMessage clientHello) throws IOException
goServerHelloback to summary
private void goServerHello(ServerHandshakeContext shc, ClientHello.ClientHelloMessage clientHello) throws IOException