final class sun.security.ssl.NewSessionTicket$T13NewSessionTicketConsumer implements sun.security.ssl.SSLConsumer
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: sun.security.ssl.NewSessionTicket$T13NewSessionTicketConsumer
super_class: java.lang.Object
{
private void <init>();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/security/ssl/NewSessionTicket$T13NewSessionTicketConsumer;
public void consume(sun.security.ssl.ConnectionContext, java.nio.ByteBuffer);
descriptor: (Lsun/security/ssl/ConnectionContext;Ljava/nio/ByteBuffer;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=10, args_size=3
start local 0 start local 1 start local 2 0: aload 1
checkcast sun.security.ssl.HandshakeContext
astore 3
start local 3 1: new sun.security.ssl.NewSessionTicket$T13NewSessionTicketMessage
dup
aload 3
aload 2
invokespecial sun.security.ssl.NewSessionTicket$T13NewSessionTicketMessage.<init>:(Lsun/security/ssl/HandshakeContext;Ljava/nio/ByteBuffer;)V
2: astore 4
start local 4 3: getstatic sun.security.ssl.SSLLogger.isOn:Z
ifeq 6
ldc "ssl,handshake"
invokestatic sun.security.ssl.SSLLogger.isOn:(Ljava/lang/String;)Z
ifeq 6
4: ldc "Consuming NewSessionTicket message"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 4
aastore
5: invokestatic sun.security.ssl.SSLLogger.fine:(Ljava/lang/String;[Ljava/lang/Object;)V
6: StackMap locals: sun.security.ssl.HandshakeContext sun.security.ssl.NewSessionTicket$NewSessionTicketMessage
StackMap stack:
aload 3
getfield sun.security.ssl.HandshakeContext.sslContext:Lsun/security/ssl/SSLContextImpl;
invokevirtual sun.security.ssl.SSLContextImpl.engineGetClientSessionContext:()Ljavax/net/ssl/SSLSessionContext;
7: checkcast sun.security.ssl.SSLSessionContextImpl
astore 5
start local 5 8: aload 4
getfield sun.security.ssl.NewSessionTicket$NewSessionTicketMessage.ticketLifetime:I
ifle 10
9: aload 4
getfield sun.security.ssl.NewSessionTicket$NewSessionTicketMessage.ticketLifetime:I
ldc 604800
if_icmple 18
10: StackMap locals: sun.security.ssl.SSLSessionContextImpl
StackMap stack:
getstatic sun.security.ssl.SSLLogger.isOn:Z
ifeq 16
ldc "ssl,handshake"
invokestatic sun.security.ssl.SSLLogger.isOn:(Ljava/lang/String;)Z
ifeq 16
11: new java.lang.StringBuilder
dup
ldc "Discarding NewSessionTicket with lifetime "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
12: aload 4
getfield sun.security.ssl.NewSessionTicket$NewSessionTicketMessage.ticketLifetime:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
13: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
iconst_1
anewarray java.lang.Object
dup
iconst_0
14: aload 4
aastore
15: invokestatic sun.security.ssl.SSLLogger.fine:(Ljava/lang/String;[Ljava/lang/Object;)V
16: StackMap locals:
StackMap stack:
aload 5
aload 3
getfield sun.security.ssl.HandshakeContext.handshakeSession:Lsun/security/ssl/SSLSessionImpl;
invokevirtual sun.security.ssl.SSLSessionImpl.getSessionId:()Lsun/security/ssl/SessionId;
invokevirtual sun.security.ssl.SSLSessionContextImpl.remove:(Lsun/security/ssl/SessionId;)V
17: return
18: StackMap locals:
StackMap stack:
aload 5
invokevirtual sun.security.ssl.SSLSessionContextImpl.getSessionTimeout:()I
ldc 604800
if_icmple 23
19: getstatic sun.security.ssl.SSLLogger.isOn:Z
ifeq 22
ldc "ssl,handshake"
invokestatic sun.security.ssl.SSLLogger.isOn:(Ljava/lang/String;)Z
ifeq 22
20: ldc "Session cache lifetime is too long. Discarding ticket."
iconst_0
anewarray java.lang.Object
21: invokestatic sun.security.ssl.SSLLogger.fine:(Ljava/lang/String;[Ljava/lang/Object;)V
22: StackMap locals:
StackMap stack:
return
23: StackMap locals:
StackMap stack:
aload 3
getfield sun.security.ssl.HandshakeContext.conContext:Lsun/security/ssl/TransportContext;
getfield sun.security.ssl.TransportContext.conSession:Lsun/security/ssl/SSLSessionImpl;
astore 6
start local 6 24: aconst_null
astore 7
start local 7 25: aload 3
getfield sun.security.ssl.HandshakeContext.negotiatedProtocol:Lsun/security/ssl/ProtocolVersion;
invokevirtual sun.security.ssl.ProtocolVersion.useTLS13PlusSpec:()Z
ifeq 36
26: aload 6
invokevirtual sun.security.ssl.SSLSessionImpl.getResumptionMasterSecret:()Ljavax/crypto/SecretKey;
27: astore 8
start local 8 28: aload 8
ifnonnull 33
29: getstatic sun.security.ssl.SSLLogger.isOn:Z
ifeq 32
ldc "ssl,handshake"
invokestatic sun.security.ssl.SSLLogger.isOn:(Ljava/lang/String;)Z
ifeq 32
30: ldc "Session has no resumption master secret. Ignoring ticket."
iconst_0
anewarray java.lang.Object
31: invokestatic sun.security.ssl.SSLLogger.fine:(Ljava/lang/String;[Ljava/lang/Object;)V
32: StackMap locals: sun.security.ssl.SSLSessionImpl javax.crypto.SecretKey javax.crypto.SecretKey
StackMap stack:
return
33: StackMap locals:
StackMap stack:
aload 6
invokevirtual sun.security.ssl.SSLSessionImpl.getSuite:()Lsun/security/ssl/CipherSuite;
getfield sun.security.ssl.CipherSuite.hashAlg:Lsun/security/ssl/CipherSuite$HashAlg;
34: aload 8
aload 4
invokevirtual sun.security.ssl.NewSessionTicket$NewSessionTicketMessage.getTicketNonce:()[B
35: invokestatic sun.security.ssl.NewSessionTicket.derivePreSharedKey:(Lsun/security/ssl/CipherSuite$HashAlg;Ljavax/crypto/SecretKey;[B)Ljavax/crypto/SecretKey;
astore 7
end local 8 36: StackMap locals:
StackMap stack:
new sun.security.ssl.SessionId
dup
iconst_1
aload 3
getfield sun.security.ssl.HandshakeContext.sslContext:Lsun/security/ssl/SSLContextImpl;
invokevirtual sun.security.ssl.SSLContextImpl.getSecureRandom:()Ljava/security/SecureRandom;
invokespecial sun.security.ssl.SessionId.<init>:(ZLjava/security/SecureRandom;)V
37: astore 8
start local 8 38: new sun.security.ssl.SSLSessionImpl
dup
aload 6
39: aload 8
40: invokespecial sun.security.ssl.SSLSessionImpl.<init>:(Lsun/security/ssl/SSLSessionImpl;Lsun/security/ssl/SessionId;)V
astore 9
start local 9 41: aload 6
aload 9
invokevirtual sun.security.ssl.SSLSessionImpl.addChild:(Lsun/security/ssl/SSLSessionImpl;)V
42: aload 9
aload 7
invokevirtual sun.security.ssl.SSLSessionImpl.setPreSharedKey:(Ljavax/crypto/SecretKey;)V
43: aload 9
aload 4
invokevirtual sun.security.ssl.NewSessionTicket$NewSessionTicketMessage.getTicketAgeAdd:()I
invokevirtual sun.security.ssl.SSLSessionImpl.setTicketAgeAdd:(I)V
44: aload 9
aload 4
getfield sun.security.ssl.NewSessionTicket$NewSessionTicketMessage.ticket:[B
invokevirtual sun.security.ssl.SSLSessionImpl.setPskIdentity:([B)V
45: aload 5
aload 9
invokevirtual sun.security.ssl.SSLSessionContextImpl.put:(Lsun/security/ssl/SSLSessionImpl;)V
46: aload 3
getfield sun.security.ssl.HandshakeContext.negotiatedProtocol:Lsun/security/ssl/ProtocolVersion;
invokevirtual sun.security.ssl.ProtocolVersion.useTLS13PlusSpec:()Z
ifeq 48
47: aload 3
getfield sun.security.ssl.HandshakeContext.conContext:Lsun/security/ssl/TransportContext;
invokevirtual sun.security.ssl.TransportContext.finishPostHandshake:()Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
pop
48: StackMap locals: sun.security.ssl.SessionId sun.security.ssl.SSLSessionImpl
StackMap stack:
return
end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 49 0 this Lsun/security/ssl/NewSessionTicket$T13NewSessionTicketConsumer;
0 49 1 context Lsun/security/ssl/ConnectionContext;
0 49 2 message Ljava/nio/ByteBuffer;
1 49 3 hc Lsun/security/ssl/HandshakeContext;
3 49 4 nstm Lsun/security/ssl/NewSessionTicket$NewSessionTicketMessage;
8 49 5 sessionCache Lsun/security/ssl/SSLSessionContextImpl;
24 49 6 sessionToSave Lsun/security/ssl/SSLSessionImpl;
25 49 7 psk Ljavax/crypto/SecretKey;
28 36 8 resumptionMasterSecret Ljavax/crypto/SecretKey;
38 49 8 newId Lsun/security/ssl/SessionId;
41 49 9 sessionCopy Lsun/security/ssl/SSLSessionImpl;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
context
message
}
SourceFile: "NewSessionTicket.java"
NestHost: sun.security.ssl.NewSessionTicket
InnerClasses:
public final HandshakeStatus = javax.net.ssl.SSLEngineResult$HandshakeStatus of javax.net.ssl.SSLEngineResult
final HashAlg = sun.security.ssl.CipherSuite$HashAlg of sun.security.ssl.CipherSuite
abstract NewSessionTicketMessage = sun.security.ssl.NewSessionTicket$NewSessionTicketMessage of sun.security.ssl.NewSessionTicket
private final T13NewSessionTicketConsumer = sun.security.ssl.NewSessionTicket$T13NewSessionTicketConsumer of sun.security.ssl.NewSessionTicket
final T13NewSessionTicketMessage = sun.security.ssl.NewSessionTicket$T13NewSessionTicketMessage of sun.security.ssl.NewSessionTicket