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

pack-priv final Class SessionTicketExtension

extends Object
Class Inheritance
Imports
java.io.ByteArrayInputStream, .ByteArrayOutputStream, .IOException, java.nio.ByteBuffer, java.security.NoSuchAlgorithmException, .SecureRandom, java.text.MessageFormat, java.util.Locale, java.util.zip.GZIPInputStream, .GZIPOutputStream, javax.crypto.Cipher, .KeyGenerator, .SecretKey, javax.crypto.spec.GCMParameterSpec, javax.net.ssl.SSLProtocolException, .SSLSessionContext, sun.security.ssl.SSLExtension.ExtensionConsumer, .SSLExtension.SSLExtensionSpec, .SSLHandshake.HandshakeMessage, sun.security.util.HexDumpEncoder

SessionTicketExtension is an implementation of RFC 5077 with some internals that are used for stateless operation in TLS 1.3. jdk.tls.server.statelessKeyTimeout can override the default amount of time, in seconds, for how long a randomly-generated key and parameters can be used before being regenerated. The key material is used to encrypt the stateless session ticket that is sent to the client that will be used during resumption. Default is 3600 seconds (1 hour)

Nested and Inner Type Summary

Modifier and TypeClass and Description
private static class
pack-priv static class
SessionTicketExtension.SessionTicketSpec

This class contains the session state that is in the session ticket.

pack-priv static class
pack-priv static class
private static class
private static class
private static class
private static class
SessionTicketExtension.T12SHSessionTicketOnLoadAbsence

The absence processing if a "session_ticket" extension is not present in the ServerHello handshake message.

private static class

Field Summary

Modifier and TypeField and Description
pack-priv static final HandshakeProducer
pack-priv static final SSLExtension.ExtensionConsumer
private static final int
private static final int
pack-priv static final int
pack-priv static final HandshakeProducer
pack-priv static final HandshakeAbsence
pack-priv static final SSLExtension.ExtensionConsumer
pack-priv static final SSLStringizer
private static final int

Constructor Summary

AccessConstructor and Description
pack-priv

Method Summary

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

chNetworkProducerback to summary
pack-priv static final HandshakeProducer chNetworkProducer
chOnLoadConsumerback to summary
pack-priv static final SSLExtension.ExtensionConsumer chOnLoadConsumer
KEYLENback to summary
private static final int KEYLEN
keyTimeoutback to summary
private static final int keyTimeout
MIN_COMPRESS_SIZEback to summary
pack-priv static final int MIN_COMPRESS_SIZE
shNetworkProducerback to summary
pack-priv static final HandshakeProducer shNetworkProducer
shOnLoadAbsenceback to summary
pack-priv static final HandshakeAbsence shOnLoadAbsence
shOnLoadConsumerback to summary
pack-priv static final SSLExtension.ExtensionConsumer shOnLoadConsumer
steStringizerback to summary
pack-priv static final SSLStringizer steStringizer
TIMEOUT_DEFAULTback to summary
private static final int TIMEOUT_DEFAULT

Constructor Detail

SessionTicketExtensionback to summary
pack-priv SessionTicketExtension()
sun.security.ssl back to summary

private final Class SessionTicketExtension.KeyState

extends Object
Class Inheritance

Constructor Summary

AccessConstructor and Description
private

Method Summary

Modifier and TypeMethod and Description
pack-priv static SessionTicketExtension.StatelessKey
pack-priv static SessionTicketExtension.StatelessKey
getKey(HandshakeContext hc, int num)

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Constructor Detail

KeyStateback to summary
private KeyState()

Method Detail

getCurrentKeyback to summary
pack-priv static SessionTicketExtension.StatelessKey getCurrentKey(HandshakeContext hc)
getKeyback to summary
pack-priv static SessionTicketExtension.StatelessKey getKey(HandshakeContext hc, int num)
sun.security.ssl back to summary

pack-priv final Class SessionTicketExtension.SessionTicketSpec

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

This class contains the session state that is in the session ticket. Using the key associated with the ticket, the class encrypts and decrypts the data, but does not interpret the data.

Field Summary

Modifier and TypeField and Description
pack-priv ByteBuffer
private static final int
private static final int
pack-priv static final ByteBuffer

Constructor Summary

AccessConstructor and Description
pack-priv
pack-priv
pack-priv

Method Summary

Modifier and TypeMethod and Description
private static byte[]
compress(byte[] input)

private static ByteBuffer
pack-priv ByteBuffer
pack-priv byte[]
pack-priv byte[]
public String
toString()

Overrides java.lang.Object.toString.

Returns a string representation of the object.

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAllwaitwaitwait

Field Detail

databack to summary
pack-priv ByteBuffer data
GCM_IV_LENback to summary
private static final int GCM_IV_LEN
GCM_TAG_LENback to summary
private static final int GCM_TAG_LEN
zeroback to summary
pack-priv static final ByteBuffer zero

Constructor Detail

SessionTicketSpecback to summary
pack-priv SessionTicketSpec()
SessionTicketSpecback to summary
pack-priv SessionTicketSpec(HandshakeContext hc, byte[] b) throws IOException
SessionTicketSpecback to summary
pack-priv SessionTicketSpec(HandshakeContext hc, ByteBuffer buf) throws IOException

Method Detail

compressback to summary
private static byte[] compress(byte[] input) throws IOException
decompressback to summary
private static ByteBuffer decompress(ByteBuffer input) throws IOException
decryptback to summary
pack-priv ByteBuffer decrypt(HandshakeContext hc)
encryptback to summary
pack-priv byte[] encrypt(HandshakeContext hc, SSLSessionImpl session)
getEncodedback to summary
pack-priv byte[] getEncoded()
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

pack-priv final Class SessionTicketExtension.SessionTicketStringizer

extends Object
implements SSLStringizer
Class Inheritance
  • java.lang.Object
  • sun.security.ssl.SessionTicketExtension.SessionTicketStringizer
All Implemented Interfaces
sun.security.ssl.SSLStringizer

Constructor Summary

AccessConstructor and Description
pack-priv

Method Summary

Modifier and TypeMethod and Description
public String
toString(HandshakeContext hc, ByteBuffer buffer)

Implements sun.security.ssl.SSLStringizer.toString.

Returns a legible string representation of a ByteBuffer.

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Constructor Detail

SessionTicketStringizerback to summary
pack-priv SessionTicketStringizer()

Method Detail

toStringback to summary
public String toString(HandshakeContext hc, ByteBuffer buffer)

Implements sun.security.ssl.SSLStringizer.toString.

Doc from sun.security.ssl.SSLStringizer.toString.

Returns a legible string representation of a ByteBuffer. Note that the implementation MUST not change the internal status of the buffer.

Annotations
@Override
sun.security.ssl back to summary

pack-priv final Class SessionTicketExtension.StatelessKey

extends Object
Class Inheritance

Field Summary

Modifier and TypeField and Description
pack-priv final SecretKey
pack-priv final int
pack-priv final long

Constructor Summary

AccessConstructor and Description
pack-priv

Method Summary

Modifier and TypeMethod and Description
pack-priv boolean
pack-priv boolean
isInvalid(SSLSessionContext sslSessionContext)

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

keyback to summary
pack-priv final SecretKey key
numback to summary
pack-priv final int num
timeoutback to summary
pack-priv final long timeout

Constructor Detail

StatelessKeyback to summary
pack-priv StatelessKey(HandshakeContext hc, int num)

Method Detail

isExpiredback to summary
pack-priv boolean isExpired()
isInvalidback to summary
pack-priv boolean isInvalid(SSLSessionContext sslSessionContext)
sun.security.ssl back to summary

private final Class SessionTicketExtension.T12CHSessionTicketConsumer

extends Object
implements ExtensionConsumer
Class Inheritance
  • java.lang.Object
  • sun.security.ssl.SessionTicketExtension.T12CHSessionTicketConsumer
All Implemented Interfaces
sun.security.ssl.SSLExtension.ExtensionConsumer

Constructor Summary

AccessConstructor and Description
pack-priv

Method Summary

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

Constructor Detail

T12CHSessionTicketConsumerback to summary
pack-priv T12CHSessionTicketConsumer()

Method Detail

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

Implements sun.security.ssl.SSLExtension.ExtensionConsumer.consume.

Annotations
@Override
sun.security.ssl back to summary

private final Class SessionTicketExtension.T12CHSessionTicketProducer

extends Object
implements HandshakeProducer
Class Inheritance
  • java.lang.Object
  • sun.security.ssl.SessionTicketExtension.T12CHSessionTicketProducer
All Implemented Interfaces
sun.security.ssl.HandshakeProducer

Constructor Summary

AccessConstructor and Description
pack-priv

Method Summary

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

Constructor Detail

T12CHSessionTicketProducerback to summary
pack-priv T12CHSessionTicketProducer()

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 SessionTicketExtension.T12SHSessionTicketConsumer

extends Object
implements ExtensionConsumer
Class Inheritance
  • java.lang.Object
  • sun.security.ssl.SessionTicketExtension.T12SHSessionTicketConsumer
All Implemented Interfaces
sun.security.ssl.SSLExtension.ExtensionConsumer

Constructor Summary

AccessConstructor and Description
pack-priv

Method Summary

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

Constructor Detail

T12SHSessionTicketConsumerback to summary
pack-priv T12SHSessionTicketConsumer()

Method Detail

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

Implements sun.security.ssl.SSLExtension.ExtensionConsumer.consume.

Annotations
@Override
sun.security.ssl back to summary

private final Class SessionTicketExtension.T12SHSessionTicketOnLoadAbsence

extends Object
implements HandshakeAbsence
Class Inheritance
  • java.lang.Object
  • sun.security.ssl.SessionTicketExtension.T12SHSessionTicketOnLoadAbsence
All Implemented Interfaces
sun.security.ssl.HandshakeAbsence

The absence processing if a "session_ticket" extension is not present in the ServerHello handshake message.

Constructor Summary

AccessConstructor and Description
private

Method Summary

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

Constructor Detail

T12SHSessionTicketOnLoadAbsenceback to summary
private T12SHSessionTicketOnLoadAbsence()

Method Detail

absentback to summary
public void absent(ConnectionContext context, SSLHandshake.HandshakeMessage message)

Implements sun.security.ssl.HandshakeAbsence.absent.

Annotations
@Override
sun.security.ssl back to summary

private final Class SessionTicketExtension.T12SHSessionTicketProducer

extends Object
implements HandshakeProducer
Class Inheritance
  • java.lang.Object
  • sun.security.ssl.SessionTicketExtension.T12SHSessionTicketProducer
All Implemented Interfaces
sun.security.ssl.HandshakeProducer

Constructor Summary

AccessConstructor and Description
pack-priv

Method Summary

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

Constructor Detail

T12SHSessionTicketProducerback to summary
pack-priv T12SHSessionTicketProducer()

Method Detail

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

Implements sun.security.ssl.HandshakeProducer.produce.

Annotations
@Override