class sun.security.ssl.Authenticator
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: sun.security.ssl.Authenticator
super_class: java.lang.Object
{
private final byte[] block;
descriptor: [B
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private static final int BLOCK_SIZE_SSL;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 11
private static final int BLOCK_SIZE_TLS;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 13
private static final int BLOCK_SIZE_DTLS;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 13
private final boolean isDTLS;
descriptor: Z
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
protected void <init>(boolean);
descriptor: (Z)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: iload 1
ifeq 4
2: aload 0
bipush 8
newarray 8
putfield sun.security.ssl.Authenticator.block:[B
3: goto 5
4: StackMap locals: sun.security.ssl.Authenticator int
StackMap stack:
aload 0
iconst_0
newarray 8
putfield sun.security.ssl.Authenticator.block:[B
5: StackMap locals:
StackMap stack:
aload 0
iload 1
putfield sun.security.ssl.Authenticator.isDTLS:Z
6: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lsun/security/ssl/Authenticator;
0 7 1 isDTLS Z
MethodParameters:
Name Flags
isDTLS
void <init>(sun.security.ssl.ProtocolVersion);
descriptor: (Lsun/security/ssl/ProtocolVersion;)V
flags: (0x0000)
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 1
invokevirtual sun.security.ssl.ProtocolVersion.isDTLSProtocol:()Z
ifeq 7
2: aload 0
bipush 13
newarray 8
putfield sun.security.ssl.Authenticator.block:[B
3: aload 0
getfield sun.security.ssl.Authenticator.block:[B
bipush 9
aload 1
getfield sun.security.ssl.ProtocolVersion.major:B
bastore
4: aload 0
getfield sun.security.ssl.Authenticator.block:[B
bipush 10
aload 1
getfield sun.security.ssl.ProtocolVersion.minor:B
bastore
5: aload 0
iconst_1
putfield sun.security.ssl.Authenticator.isDTLS:Z
6: goto 15
StackMap locals: sun.security.ssl.Authenticator sun.security.ssl.ProtocolVersion
StackMap stack:
7: aload 1
getfield sun.security.ssl.ProtocolVersion.v:I
getstatic sun.security.ssl.ProtocolVersion.TLS10:Lsun/security/ssl/ProtocolVersion;
getfield sun.security.ssl.ProtocolVersion.v:I
if_icmplt 13
8: aload 0
bipush 13
newarray 8
putfield sun.security.ssl.Authenticator.block:[B
9: aload 0
getfield sun.security.ssl.Authenticator.block:[B
bipush 9
aload 1
getfield sun.security.ssl.ProtocolVersion.major:B
bastore
10: aload 0
getfield sun.security.ssl.Authenticator.block:[B
bipush 10
aload 1
getfield sun.security.ssl.ProtocolVersion.minor:B
bastore
11: aload 0
iconst_0
putfield sun.security.ssl.Authenticator.isDTLS:Z
12: goto 15
13: StackMap locals:
StackMap stack:
aload 0
bipush 11
newarray 8
putfield sun.security.ssl.Authenticator.block:[B
14: aload 0
iconst_0
putfield sun.security.ssl.Authenticator.isDTLS:Z
15: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Lsun/security/ssl/Authenticator;
0 16 1 protocolVersion Lsun/security/ssl/ProtocolVersion;
MethodParameters:
Name Flags
protocolVersion
final boolean seqNumOverflow();
descriptor: ()Z
flags: (0x0010) ACC_FINAL
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.security.ssl.Authenticator.isDTLS:Z
ifeq 7
1: aload 0
getfield sun.security.ssl.Authenticator.block:[B
arraylength
ifeq 6
2: aload 0
getfield sun.security.ssl.Authenticator.block:[B
iconst_2
baload
iconst_m1
if_icmpne 6
aload 0
getfield sun.security.ssl.Authenticator.block:[B
iconst_3
baload
iconst_m1
if_icmpne 6
3: aload 0
getfield sun.security.ssl.Authenticator.block:[B
iconst_4
baload
iconst_m1
if_icmpne 6
aload 0
getfield sun.security.ssl.Authenticator.block:[B
iconst_5
baload
iconst_m1
if_icmpne 6
4: aload 0
getfield sun.security.ssl.Authenticator.block:[B
bipush 6
baload
iconst_m1
if_icmpne 6
5: iconst_1
ireturn
StackMap locals:
StackMap stack:
6: iconst_0
ireturn
7: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.Authenticator.block:[B
arraylength
ifeq 13
8: aload 0
getfield sun.security.ssl.Authenticator.block:[B
iconst_0
baload
iconst_m1
if_icmpne 13
aload 0
getfield sun.security.ssl.Authenticator.block:[B
iconst_1
baload
iconst_m1
if_icmpne 13
9: aload 0
getfield sun.security.ssl.Authenticator.block:[B
iconst_2
baload
iconst_m1
if_icmpne 13
aload 0
getfield sun.security.ssl.Authenticator.block:[B
iconst_3
baload
iconst_m1
if_icmpne 13
10: aload 0
getfield sun.security.ssl.Authenticator.block:[B
iconst_4
baload
iconst_m1
if_icmpne 13
aload 0
getfield sun.security.ssl.Authenticator.block:[B
iconst_5
baload
iconst_m1
if_icmpne 13
11: aload 0
getfield sun.security.ssl.Authenticator.block:[B
bipush 6
baload
iconst_m1
if_icmpne 13
12: iconst_1
ireturn
StackMap locals:
StackMap stack:
13: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lsun/security/ssl/Authenticator;
final boolean seqNumIsHuge();
descriptor: ()Z
flags: (0x0010) ACC_FINAL
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.security.ssl.Authenticator.isDTLS:Z
ifeq 5
1: aload 0
getfield sun.security.ssl.Authenticator.block:[B
arraylength
ifeq 4
2: aload 0
getfield sun.security.ssl.Authenticator.block:[B
iconst_2
baload
iconst_m1
if_icmpne 4
aload 0
getfield sun.security.ssl.Authenticator.block:[B
iconst_3
baload
iconst_m1
if_icmpne 4
3: iconst_1
ireturn
StackMap locals:
StackMap stack:
4: iconst_0
ireturn
5: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.Authenticator.block:[B
arraylength
ifeq 9
6: aload 0
getfield sun.security.ssl.Authenticator.block:[B
iconst_0
baload
iconst_m1
if_icmpne 9
aload 0
getfield sun.security.ssl.Authenticator.block:[B
iconst_1
baload
iconst_m1
if_icmpne 9
7: aload 0
getfield sun.security.ssl.Authenticator.block:[B
iconst_2
baload
iconst_m1
if_icmpne 9
aload 0
getfield sun.security.ssl.Authenticator.block:[B
iconst_3
baload
iconst_m1
if_icmpne 9
8: iconst_1
ireturn
StackMap locals:
StackMap stack:
9: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lsun/security/ssl/Authenticator;
final byte[] sequenceNumber();
descriptor: ()[B
flags: (0x0010) ACC_FINAL
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.security.ssl.Authenticator.block:[B
bipush 8
invokestatic java.util.Arrays.copyOf:([BI)[B
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/security/ssl/Authenticator;
final void setEpochNumber(int);
descriptor: (I)V
flags: (0x0010) ACC_FINAL
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield sun.security.ssl.Authenticator.isDTLS:Z
ifne 4
1: new java.lang.RuntimeException
dup
2: ldc "Epoch numbers apply to DTLS protocols only"
3: invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.Authenticator.block:[B
iconst_0
iload 1
bipush 8
ishr
sipush 255
iand
i2b
bastore
5: aload 0
getfield sun.security.ssl.Authenticator.block:[B
iconst_1
iload 1
sipush 255
iand
i2b
bastore
6: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lsun/security/ssl/Authenticator;
0 7 1 epoch I
MethodParameters:
Name Flags
epoch
final void increaseSequenceNumber();
descriptor: ()V
flags: (0x0010) ACC_FINAL
Code:
stack=4, locals=2, args_size=1
start local 0 0: bipush 7
istore 1
start local 1 1: goto 3
2: StackMap locals: int
StackMap stack:
iinc 1 -1
3: StackMap locals:
StackMap stack:
iload 1
iflt 4
aload 0
getfield sun.security.ssl.Authenticator.block:[B
iload 1
dup2
baload
iconst_1
iadd
i2b
dup_x2
bastore
ifeq 2
4: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lsun/security/ssl/Authenticator;
1 5 1 k I
final byte[] acquireAuthenticationBytes(byte, int, byte[]);
descriptor: (BI[B)[B
flags: (0x0010) ACC_FINAL
Code:
stack=5, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield sun.security.ssl.Authenticator.block:[B
invokevirtual byte[].clone:()Ljava/lang/Object;
checkcast byte[]
astore 4
start local 4 1: aload 3
ifnull 7
2: aload 3
arraylength
bipush 8
if_icmpeq 6
3: new java.lang.RuntimeException
dup
4: ldc "Insufficient explicit sequence number bytes"
5: invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
athrow
6: StackMap locals: byte[]
StackMap stack:
aload 3
iconst_0
aload 4
iconst_0
aload 3
arraylength
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
7: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.ssl.Authenticator.block:[B
arraylength
ifeq 13
8: aload 4
bipush 8
iload 1
bastore
9: aload 4
aload 4
arraylength
iconst_2
isub
iload 2
bipush 8
ishr
i2b
bastore
10: aload 4
aload 4
arraylength
iconst_1
isub
iload 2
i2b
bastore
11: aload 3
ifnull 12
aload 3
arraylength
ifeq 13
12: StackMap locals:
StackMap stack:
aload 0
invokevirtual sun.security.ssl.Authenticator.increaseSequenceNumber:()V
13: StackMap locals:
StackMap stack:
aload 4
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lsun/security/ssl/Authenticator;
0 14 1 type B
0 14 2 length I
0 14 3 sequence [B
1 14 4 copy [B
MethodParameters:
Name Flags
type
length
sequence
static final long toLong(byte[]);
descriptor: ([B)J
flags: (0x0018) ACC_STATIC, ACC_FINAL
Code:
stack=6, locals=1, args_size=1
start local 0 0: aload 0
ifnull 16
aload 0
arraylength
bipush 8
if_icmpne 16
1: aload 0
iconst_0
baload
i2l
ldc 255
land
bipush 56
lshl
2: aload 0
iconst_1
baload
i2l
ldc 255
land
bipush 48
lshl
3: lor
4: aload 0
iconst_2
baload
i2l
ldc 255
land
bipush 40
lshl
5: lor
6: aload 0
iconst_3
baload
i2l
ldc 255
land
bipush 32
lshl
7: lor
8: aload 0
iconst_4
baload
i2l
ldc 255
land
bipush 24
lshl
9: lor
10: aload 0
iconst_5
baload
i2l
ldc 255
land
bipush 16
lshl
11: lor
12: aload 0
bipush 6
baload
i2l
ldc 255
land
bipush 8
lshl
13: lor
14: aload 0
bipush 7
baload
i2l
ldc 255
land
15: lor
lreturn
16: StackMap locals:
StackMap stack:
ldc -1
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 recordEnS [B
MethodParameters:
Name Flags
recordEnS
}
SourceFile: "Authenticator.java"