final class sun.security.ssl.HandshakeHash
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: sun.security.ssl.HandshakeHash
super_class: java.lang.Object
{
private sun.security.ssl.HandshakeHash$TranscriptHash transcriptHash;
descriptor: Lsun/security/ssl/HandshakeHash$TranscriptHash;
flags: (0x0002) ACC_PRIVATE
private java.util.LinkedList<byte[]> reserves;
descriptor: Ljava/util/LinkedList;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/LinkedList<[B>;
private boolean hasBeenUsed;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
void <init>();
descriptor: ()V
flags: (0x0000)
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
new sun.security.ssl.HandshakeHash$CacheOnlyHash
dup
invokespecial sun.security.ssl.HandshakeHash$CacheOnlyHash.<init>:()V
putfield sun.security.ssl.HandshakeHash.transcriptHash:Lsun/security/ssl/HandshakeHash$TranscriptHash;
2: aload 0
new java.util.LinkedList
dup
invokespecial java.util.LinkedList.<init>:()V
putfield sun.security.ssl.HandshakeHash.reserves:Ljava/util/LinkedList;
3: aload 0
iconst_0
putfield sun.security.ssl.HandshakeHash.hasBeenUsed:Z
4: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lsun/security/ssl/HandshakeHash;
void determine(sun.security.ssl.ProtocolVersion, sun.security.ssl.CipherSuite);
descriptor: (Lsun/security/ssl/ProtocolVersion;Lsun/security/ssl/CipherSuite;)V
flags: (0x0000)
Code:
stack=4, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield sun.security.ssl.HandshakeHash.transcriptHash:Lsun/security/ssl/HandshakeHash$TranscriptHash;
instanceof sun.security.ssl.HandshakeHash$CacheOnlyHash
ifne 4
1: new java.lang.IllegalStateException
dup
2: ldc "Not expected instance of transcript hash"
3: invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.HandshakeHash.transcriptHash:Lsun/security/ssl/HandshakeHash$TranscriptHash;
checkcast sun.security.ssl.HandshakeHash$CacheOnlyHash
astore 3
start local 3 5: aload 1
invokevirtual sun.security.ssl.ProtocolVersion.useTLS13PlusSpec:()Z
ifeq 8
6: aload 0
new sun.security.ssl.HandshakeHash$T13HandshakeHash
dup
aload 2
invokespecial sun.security.ssl.HandshakeHash$T13HandshakeHash.<init>:(Lsun/security/ssl/CipherSuite;)V
putfield sun.security.ssl.HandshakeHash.transcriptHash:Lsun/security/ssl/HandshakeHash$TranscriptHash;
7: goto 15
StackMap locals: sun.security.ssl.HandshakeHash$CacheOnlyHash
StackMap stack:
8: aload 1
invokevirtual sun.security.ssl.ProtocolVersion.useTLS12PlusSpec:()Z
ifeq 11
9: aload 0
new sun.security.ssl.HandshakeHash$T12HandshakeHash
dup
aload 2
invokespecial sun.security.ssl.HandshakeHash$T12HandshakeHash.<init>:(Lsun/security/ssl/CipherSuite;)V
putfield sun.security.ssl.HandshakeHash.transcriptHash:Lsun/security/ssl/HandshakeHash$TranscriptHash;
10: goto 15
StackMap locals:
StackMap stack:
11: aload 1
invokevirtual sun.security.ssl.ProtocolVersion.useTLS10PlusSpec:()Z
ifeq 14
12: aload 0
new sun.security.ssl.HandshakeHash$T10HandshakeHash
dup
aload 2
invokespecial sun.security.ssl.HandshakeHash$T10HandshakeHash.<init>:(Lsun/security/ssl/CipherSuite;)V
putfield sun.security.ssl.HandshakeHash.transcriptHash:Lsun/security/ssl/HandshakeHash$TranscriptHash;
13: goto 15
14: StackMap locals:
StackMap stack:
aload 0
new sun.security.ssl.HandshakeHash$S30HandshakeHash
dup
aload 2
invokespecial sun.security.ssl.HandshakeHash$S30HandshakeHash.<init>:(Lsun/security/ssl/CipherSuite;)V
putfield sun.security.ssl.HandshakeHash.transcriptHash:Lsun/security/ssl/HandshakeHash$TranscriptHash;
15: StackMap locals:
StackMap stack:
aload 3
getfield sun.security.ssl.HandshakeHash$CacheOnlyHash.baos:Ljava/io/ByteArrayOutputStream;
invokevirtual java.io.ByteArrayOutputStream.toByteArray:()[B
astore 4
start local 4 16: aload 4
arraylength
ifeq 18
17: aload 0
getfield sun.security.ssl.HandshakeHash.transcriptHash:Lsun/security/ssl/HandshakeHash$TranscriptHash;
aload 4
iconst_0
aload 4
arraylength
invokeinterface sun.security.ssl.HandshakeHash$TranscriptHash.update:([BII)V
18: StackMap locals: byte[]
StackMap stack:
return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Lsun/security/ssl/HandshakeHash;
0 19 1 protocolVersion Lsun/security/ssl/ProtocolVersion;
0 19 2 cipherSuite Lsun/security/ssl/CipherSuite;
5 19 3 coh Lsun/security/ssl/HandshakeHash$CacheOnlyHash;
16 19 4 reserved [B
MethodParameters:
Name Flags
protocolVersion
cipherSuite
sun.security.ssl.HandshakeHash copy();
descriptor: ()Lsun/security/ssl/HandshakeHash;
flags: (0x0000)
Code:
stack=4, locals=2, args_size=1
start local 0 0: aload 0
getfield sun.security.ssl.HandshakeHash.transcriptHash:Lsun/security/ssl/HandshakeHash$TranscriptHash;
instanceof sun.security.ssl.HandshakeHash$CacheOnlyHash
ifeq 6
1: new sun.security.ssl.HandshakeHash
dup
invokespecial sun.security.ssl.HandshakeHash.<init>:()V
astore 1
start local 1 2: aload 1
aload 0
getfield sun.security.ssl.HandshakeHash.transcriptHash:Lsun/security/ssl/HandshakeHash$TranscriptHash;
checkcast sun.security.ssl.HandshakeHash$CacheOnlyHash
invokevirtual sun.security.ssl.HandshakeHash$CacheOnlyHash.copy:()Lsun/security/ssl/HandshakeHash$CacheOnlyHash;
putfield sun.security.ssl.HandshakeHash.transcriptHash:Lsun/security/ssl/HandshakeHash$TranscriptHash;
3: aload 1
new java.util.LinkedList
dup
aload 0
getfield sun.security.ssl.HandshakeHash.reserves:Ljava/util/LinkedList;
invokespecial java.util.LinkedList.<init>:(Ljava/util/Collection;)V
putfield sun.security.ssl.HandshakeHash.reserves:Ljava/util/LinkedList;
4: aload 1
aload 0
getfield sun.security.ssl.HandshakeHash.hasBeenUsed:Z
putfield sun.security.ssl.HandshakeHash.hasBeenUsed:Z
5: aload 1
areturn
end local 1 6: StackMap locals:
StackMap stack:
new java.lang.IllegalStateException
dup
ldc "Hash does not support copying"
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lsun/security/ssl/HandshakeHash;
2 6 1 result Lsun/security/ssl/HandshakeHash;
void receive(byte[]);
descriptor: ([B)V
flags: (0x0000)
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield sun.security.ssl.HandshakeHash.reserves:Ljava/util/LinkedList;
aload 1
aload 1
arraylength
invokestatic java.util.Arrays.copyOf:([BI)[B
invokevirtual java.util.LinkedList.add:(Ljava/lang/Object;)Z
pop
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/security/ssl/HandshakeHash;
0 2 1 input [B
MethodParameters:
Name Flags
input
void receive(java.nio.ByteBuffer, int);
descriptor: (Ljava/nio/ByteBuffer;I)V
flags: (0x0000)
Code:
stack=4, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokevirtual java.nio.ByteBuffer.hasArray:()Z
ifeq 5
1: aload 1
invokevirtual java.nio.ByteBuffer.position:()I
aload 1
invokevirtual java.nio.ByteBuffer.arrayOffset:()I
iadd
istore 3
start local 3 2: iload 3
iload 2
iadd
istore 4
start local 4 3: aload 0
getfield sun.security.ssl.HandshakeHash.reserves:Ljava/util/LinkedList;
aload 1
invokevirtual java.nio.ByteBuffer.array:()[B
iload 3
iload 4
invokestatic java.util.Arrays.copyOfRange:([BII)[B
invokevirtual java.util.LinkedList.add:(Ljava/lang/Object;)Z
pop
end local 4 end local 3 4: goto 10
5: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.nio.ByteBuffer.position:()I
istore 3
start local 3 6: iload 2
newarray 8
astore 4
start local 4 7: aload 1
aload 4
invokevirtual java.nio.ByteBuffer.get:([B)Ljava/nio/ByteBuffer;
pop
8: aload 1
iload 3
invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
pop
9: aload 0
getfield sun.security.ssl.HandshakeHash.reserves:Ljava/util/LinkedList;
aload 4
aload 4
arraylength
invokestatic java.util.Arrays.copyOf:([BI)[B
invokevirtual java.util.LinkedList.add:(Ljava/lang/Object;)Z
pop
end local 4 end local 3 10: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lsun/security/ssl/HandshakeHash;
0 11 1 input Ljava/nio/ByteBuffer;
0 11 2 length I
2 4 3 from I
3 4 4 to I
6 10 3 inPos I
7 10 4 holder [B
MethodParameters:
Name Flags
input
length
void receive(java.nio.ByteBuffer);
descriptor: (Ljava/nio/ByteBuffer;)V
flags: (0x0000)
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
aload 1
invokevirtual java.nio.ByteBuffer.remaining:()I
invokevirtual sun.security.ssl.HandshakeHash.receive:(Ljava/nio/ByteBuffer;I)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/security/ssl/HandshakeHash;
0 2 1 input Ljava/nio/ByteBuffer;
MethodParameters:
Name Flags
input
void push(byte[]);
descriptor: ([B)V
flags: (0x0000)
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield sun.security.ssl.HandshakeHash.reserves:Ljava/util/LinkedList;
aload 1
aload 1
arraylength
invokestatic java.util.Arrays.copyOf:([BI)[B
invokevirtual java.util.LinkedList.push:(Ljava/lang/Object;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/security/ssl/HandshakeHash;
0 2 1 input [B
MethodParameters:
Name Flags
input
byte[] removeLastReceived();
descriptor: ()[B
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.security.ssl.HandshakeHash.reserves:Ljava/util/LinkedList;
invokevirtual java.util.LinkedList.removeLast:()Ljava/lang/Object;
checkcast byte[]
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/security/ssl/HandshakeHash;
void deliver(byte[]);
descriptor: ([B)V
flags: (0x0000)
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual sun.security.ssl.HandshakeHash.update:()V
1: aload 0
getfield sun.security.ssl.HandshakeHash.transcriptHash:Lsun/security/ssl/HandshakeHash$TranscriptHash;
aload 1
iconst_0
aload 1
arraylength
invokeinterface sun.security.ssl.HandshakeHash$TranscriptHash.update:([BII)V
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/security/ssl/HandshakeHash;
0 3 1 input [B
MethodParameters:
Name Flags
input
void deliver(byte[], int, int);
descriptor: ([BII)V
flags: (0x0000)
Code:
stack=4, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokevirtual sun.security.ssl.HandshakeHash.update:()V
1: aload 0
getfield sun.security.ssl.HandshakeHash.transcriptHash:Lsun/security/ssl/HandshakeHash$TranscriptHash;
aload 1
iload 2
iload 3
invokeinterface sun.security.ssl.HandshakeHash$TranscriptHash.update:([BII)V
2: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/security/ssl/HandshakeHash;
0 3 1 input [B
0 3 2 offset I
0 3 3 length I
MethodParameters:
Name Flags
input
offset
length
void deliver(java.nio.ByteBuffer);
descriptor: (Ljava/nio/ByteBuffer;)V
flags: (0x0000)
Code:
stack=4, locals=4, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual sun.security.ssl.HandshakeHash.update:()V
1: aload 1
invokevirtual java.nio.ByteBuffer.hasArray:()Z
ifeq 6
2: aload 0
getfield sun.security.ssl.HandshakeHash.transcriptHash:Lsun/security/ssl/HandshakeHash$TranscriptHash;
aload 1
invokevirtual java.nio.ByteBuffer.array:()[B
3: aload 1
invokevirtual java.nio.ByteBuffer.position:()I
aload 1
invokevirtual java.nio.ByteBuffer.arrayOffset:()I
iadd
aload 1
invokevirtual java.nio.ByteBuffer.remaining:()I
4: invokeinterface sun.security.ssl.HandshakeHash$TranscriptHash.update:([BII)V
5: goto 11
6: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.nio.ByteBuffer.position:()I
istore 2
start local 2 7: aload 1
invokevirtual java.nio.ByteBuffer.remaining:()I
newarray 8
astore 3
start local 3 8: aload 1
aload 3
invokevirtual java.nio.ByteBuffer.get:([B)Ljava/nio/ByteBuffer;
pop
9: aload 1
iload 2
invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
pop
10: aload 0
getfield sun.security.ssl.HandshakeHash.transcriptHash:Lsun/security/ssl/HandshakeHash$TranscriptHash;
aload 3
iconst_0
aload 3
arraylength
invokeinterface sun.security.ssl.HandshakeHash$TranscriptHash.update:([BII)V
end local 3 end local 2 11: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lsun/security/ssl/HandshakeHash;
0 12 1 input Ljava/nio/ByteBuffer;
7 11 2 inPos I
8 11 3 holder [B
MethodParameters:
Name Flags
input
void utilize();
descriptor: ()V
flags: (0x0000)
Code:
stack=4, locals=2, args_size=1
start local 0 0: aload 0
getfield sun.security.ssl.HandshakeHash.hasBeenUsed:Z
ifeq 2
1: return
2: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.HandshakeHash.reserves:Ljava/util/LinkedList;
invokevirtual java.util.LinkedList.size:()I
ifeq 6
3: aload 0
getfield sun.security.ssl.HandshakeHash.reserves:Ljava/util/LinkedList;
invokevirtual java.util.LinkedList.remove:()Ljava/lang/Object;
checkcast byte[]
astore 1
start local 1 4: aload 0
getfield sun.security.ssl.HandshakeHash.transcriptHash:Lsun/security/ssl/HandshakeHash$TranscriptHash;
aload 1
iconst_0
aload 1
arraylength
invokeinterface sun.security.ssl.HandshakeHash$TranscriptHash.update:([BII)V
5: aload 0
iconst_1
putfield sun.security.ssl.HandshakeHash.hasBeenUsed:Z
end local 1 6: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lsun/security/ssl/HandshakeHash;
4 6 1 holder [B
void consume();
descriptor: ()V
flags: (0x0000)
Code:
stack=4, locals=2, args_size=1
start local 0 0: aload 0
getfield sun.security.ssl.HandshakeHash.hasBeenUsed:Z
ifeq 3
1: aload 0
iconst_0
putfield sun.security.ssl.HandshakeHash.hasBeenUsed:Z
2: return
3: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.HandshakeHash.reserves:Ljava/util/LinkedList;
invokevirtual java.util.LinkedList.size:()I
ifeq 6
4: aload 0
getfield sun.security.ssl.HandshakeHash.reserves:Ljava/util/LinkedList;
invokevirtual java.util.LinkedList.remove:()Ljava/lang/Object;
checkcast byte[]
astore 1
start local 1 5: aload 0
getfield sun.security.ssl.HandshakeHash.transcriptHash:Lsun/security/ssl/HandshakeHash$TranscriptHash;
aload 1
iconst_0
aload 1
arraylength
invokeinterface sun.security.ssl.HandshakeHash$TranscriptHash.update:([BII)V
end local 1 6: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lsun/security/ssl/HandshakeHash;
5 6 1 holder [B
void update();
descriptor: ()V
flags: (0x0000)
Code:
stack=4, locals=2, args_size=1
start local 0 0: goto 3
1: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.HandshakeHash.reserves:Ljava/util/LinkedList;
invokevirtual java.util.LinkedList.remove:()Ljava/lang/Object;
checkcast byte[]
astore 1
start local 1 2: aload 0
getfield sun.security.ssl.HandshakeHash.transcriptHash:Lsun/security/ssl/HandshakeHash$TranscriptHash;
aload 1
iconst_0
aload 1
arraylength
invokeinterface sun.security.ssl.HandshakeHash$TranscriptHash.update:([BII)V
end local 1 3: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.HandshakeHash.reserves:Ljava/util/LinkedList;
invokevirtual java.util.LinkedList.size:()I
ifne 1
4: aload 0
iconst_0
putfield sun.security.ssl.HandshakeHash.hasBeenUsed:Z
5: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lsun/security/ssl/HandshakeHash;
2 3 1 holder [B
byte[] digest();
descriptor: ()[B
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.security.ssl.HandshakeHash.transcriptHash:Lsun/security/ssl/HandshakeHash$TranscriptHash;
invokeinterface sun.security.ssl.HandshakeHash$TranscriptHash.digest:()[B
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/security/ssl/HandshakeHash;
void finish();
descriptor: ()V
flags: (0x0000)
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
new sun.security.ssl.HandshakeHash$CacheOnlyHash
dup
invokespecial sun.security.ssl.HandshakeHash$CacheOnlyHash.<init>:()V
putfield sun.security.ssl.HandshakeHash.transcriptHash:Lsun/security/ssl/HandshakeHash$TranscriptHash;
1: aload 0
new java.util.LinkedList
dup
invokespecial java.util.LinkedList.<init>:()V
putfield sun.security.ssl.HandshakeHash.reserves:Ljava/util/LinkedList;
2: aload 0
iconst_0
putfield sun.security.ssl.HandshakeHash.hasBeenUsed:Z
3: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lsun/security/ssl/HandshakeHash;
byte[] archived();
descriptor: ()[B
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.security.ssl.HandshakeHash.transcriptHash:Lsun/security/ssl/HandshakeHash$TranscriptHash;
invokeinterface sun.security.ssl.HandshakeHash$TranscriptHash.archived:()[B
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/security/ssl/HandshakeHash;
byte[] digest(java.lang.String);
descriptor: (Ljava/lang/String;)[B
flags: (0x0000)
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield sun.security.ssl.HandshakeHash.transcriptHash:Lsun/security/ssl/HandshakeHash$TranscriptHash;
checkcast sun.security.ssl.HandshakeHash$T10HandshakeHash
astore 2
start local 2 1: aload 2
aload 1
invokevirtual sun.security.ssl.HandshakeHash$T10HandshakeHash.digest:(Ljava/lang/String;)[B
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/security/ssl/HandshakeHash;
0 2 1 algorithm Ljava/lang/String;
1 2 2 hh Lsun/security/ssl/HandshakeHash$T10HandshakeHash;
MethodParameters:
Name Flags
algorithm
byte[] digest(java.lang.String, javax.crypto.SecretKey);
descriptor: (Ljava/lang/String;Ljavax/crypto/SecretKey;)[B
flags: (0x0000)
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield sun.security.ssl.HandshakeHash.transcriptHash:Lsun/security/ssl/HandshakeHash$TranscriptHash;
checkcast sun.security.ssl.HandshakeHash$S30HandshakeHash
astore 3
start local 3 1: aload 3
aload 1
aload 2
invokevirtual sun.security.ssl.HandshakeHash$S30HandshakeHash.digest:(Ljava/lang/String;Ljavax/crypto/SecretKey;)[B
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/security/ssl/HandshakeHash;
0 2 1 algorithm Ljava/lang/String;
0 2 2 masterSecret Ljavax/crypto/SecretKey;
1 2 3 hh Lsun/security/ssl/HandshakeHash$S30HandshakeHash;
MethodParameters:
Name Flags
algorithm
masterSecret
byte[] digest(boolean, javax.crypto.SecretKey);
descriptor: (ZLjavax/crypto/SecretKey;)[B
flags: (0x0000)
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield sun.security.ssl.HandshakeHash.transcriptHash:Lsun/security/ssl/HandshakeHash$TranscriptHash;
checkcast sun.security.ssl.HandshakeHash$S30HandshakeHash
astore 3
start local 3 1: aload 3
iload 1
aload 2
invokevirtual sun.security.ssl.HandshakeHash$S30HandshakeHash.digest:(ZLjavax/crypto/SecretKey;)[B
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/security/ssl/HandshakeHash;
0 2 1 useClientLabel Z
0 2 2 masterSecret Ljavax/crypto/SecretKey;
1 2 3 hh Lsun/security/ssl/HandshakeHash$S30HandshakeHash;
MethodParameters:
Name Flags
useClientLabel
masterSecret
public boolean isHashable(byte);
descriptor: (B)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: iload 1
getstatic sun.security.ssl.SSLHandshake.HELLO_REQUEST:Lsun/security/ssl/SSLHandshake;
getfield sun.security.ssl.SSLHandshake.id:B
if_icmpeq 3
1: iload 1
getstatic sun.security.ssl.SSLHandshake.HELLO_VERIFY_REQUEST:Lsun/security/ssl/SSLHandshake;
getfield sun.security.ssl.SSLHandshake.id:B
if_icmpeq 3
2: iconst_1
ireturn
StackMap locals:
StackMap stack:
3: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lsun/security/ssl/HandshakeHash;
0 4 1 handshakeType B
MethodParameters:
Name Flags
handshakeType
}
SourceFile: "HandshakeHash.java"
NestMembers:
sun.security.ssl.HandshakeHash$CacheOnlyHash sun.security.ssl.HandshakeHash$CloneableHash sun.security.ssl.HandshakeHash$NonCloneableHash sun.security.ssl.HandshakeHash$S30HandshakeHash sun.security.ssl.HandshakeHash$T10HandshakeHash sun.security.ssl.HandshakeHash$T12HandshakeHash sun.security.ssl.HandshakeHash$T13HandshakeHash sun.security.ssl.HandshakeHash$TranscriptHash
InnerClasses:
private final CacheOnlyHash = sun.security.ssl.HandshakeHash$CacheOnlyHash of sun.security.ssl.HandshakeHash
final CloneableHash = sun.security.ssl.HandshakeHash$CloneableHash of sun.security.ssl.HandshakeHash
final NonCloneableHash = sun.security.ssl.HandshakeHash$NonCloneableHash of sun.security.ssl.HandshakeHash
final S30HandshakeHash = sun.security.ssl.HandshakeHash$S30HandshakeHash of sun.security.ssl.HandshakeHash
final T10HandshakeHash = sun.security.ssl.HandshakeHash$T10HandshakeHash of sun.security.ssl.HandshakeHash
final T12HandshakeHash = sun.security.ssl.HandshakeHash$T12HandshakeHash of sun.security.ssl.HandshakeHash
final T13HandshakeHash = sun.security.ssl.HandshakeHash$T13HandshakeHash of sun.security.ssl.HandshakeHash
abstract TranscriptHash = sun.security.ssl.HandshakeHash$TranscriptHash of sun.security.ssl.HandshakeHash