abstract class sun.security.ssl.Authenticator
minor version: 0
major version: 59
flags: flags: (0x0420) ACC_SUPER, ACC_ABSTRACT
this_class: sun.security.ssl.Authenticator
super_class: java.lang.Object
{
protected final byte[] block;
descriptor: [B
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
private void <init>(byte[]);
descriptor: ([B)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 1
putfield sun.security.ssl.Authenticator.block:[B
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/security/ssl/Authenticator;
0 3 1 block [B
MethodParameters:
Name Flags
block
static sun.security.ssl.Authenticator valueOf(sun.security.ssl.ProtocolVersion);
descriptor: (Lsun/security/ssl/ProtocolVersion;)Lsun/security/ssl/Authenticator;
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.security.ssl.ProtocolVersion.isDTLS:Z
ifeq 4
1: aload 0
invokevirtual sun.security.ssl.ProtocolVersion.useTLS13PlusSpec:()Z
ifeq 3
2: new sun.security.ssl.Authenticator$DTLS13Authenticator
dup
aload 0
invokespecial sun.security.ssl.Authenticator$DTLS13Authenticator.<init>:(Lsun/security/ssl/ProtocolVersion;)V
areturn
3: StackMap locals:
StackMap stack:
new sun.security.ssl.Authenticator$DTLS10Authenticator
dup
aload 0
invokespecial sun.security.ssl.Authenticator$DTLS10Authenticator.<init>:(Lsun/security/ssl/ProtocolVersion;)V
areturn
4: StackMap locals:
StackMap stack:
aload 0
invokevirtual sun.security.ssl.ProtocolVersion.useTLS13PlusSpec:()Z
ifeq 6
5: new sun.security.ssl.Authenticator$TLS13Authenticator
dup
aload 0
invokespecial sun.security.ssl.Authenticator$TLS13Authenticator.<init>:(Lsun/security/ssl/ProtocolVersion;)V
areturn
6: StackMap locals:
StackMap stack:
aload 0
invokevirtual sun.security.ssl.ProtocolVersion.useTLS10PlusSpec:()Z
ifeq 8
7: new sun.security.ssl.Authenticator$TLS10Authenticator
dup
aload 0
invokespecial sun.security.ssl.Authenticator$TLS10Authenticator.<init>:(Lsun/security/ssl/ProtocolVersion;)V
areturn
8: StackMap locals:
StackMap stack:
new sun.security.ssl.Authenticator$SSL30Authenticator
dup
invokespecial sun.security.ssl.Authenticator$SSL30Authenticator.<init>:()V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 protocolVersion Lsun/security/ssl/ProtocolVersion;
MethodParameters:
Name Flags
protocolVersion
static <T extends sun.security.ssl.Authenticator extends sun.security.ssl.Authenticator$MAC> T valueOf(sun.security.ssl.ProtocolVersion, sun.security.ssl.CipherSuite$MacAlg, javax.crypto.SecretKey);
descriptor: (Lsun/security/ssl/ProtocolVersion;Lsun/security/ssl/CipherSuite$MacAlg;Ljavax/crypto/SecretKey;)Lsun/security/ssl/Authenticator;
flags: (0x0008) ACC_STATIC
Code:
stack=5, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield sun.security.ssl.ProtocolVersion.isDTLS:Z
ifeq 4
1: aload 0
invokevirtual sun.security.ssl.ProtocolVersion.useTLS13PlusSpec:()Z
ifeq 3
2: new java.lang.RuntimeException
dup
ldc "No MacAlg used in DTLS 1.3"
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
athrow
3: StackMap locals:
StackMap stack:
new sun.security.ssl.Authenticator$DTLS10Mac
dup
aload 0
aload 1
aload 2
invokespecial sun.security.ssl.Authenticator$DTLS10Mac.<init>:(Lsun/security/ssl/ProtocolVersion;Lsun/security/ssl/CipherSuite$MacAlg;Ljavax/crypto/SecretKey;)V
areturn
4: StackMap locals:
StackMap stack:
aload 0
invokevirtual sun.security.ssl.ProtocolVersion.useTLS13PlusSpec:()Z
ifeq 6
5: new java.lang.RuntimeException
dup
ldc "No MacAlg used in TLS 1.3"
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
athrow
6: StackMap locals:
StackMap stack:
aload 0
invokevirtual sun.security.ssl.ProtocolVersion.useTLS10PlusSpec:()Z
ifeq 8
7: new sun.security.ssl.Authenticator$TLS10Mac
dup
aload 0
aload 1
aload 2
invokespecial sun.security.ssl.Authenticator$TLS10Mac.<init>:(Lsun/security/ssl/ProtocolVersion;Lsun/security/ssl/CipherSuite$MacAlg;Ljavax/crypto/SecretKey;)V
areturn
8: StackMap locals:
StackMap stack:
new sun.security.ssl.Authenticator$SSL30Mac
dup
aload 0
aload 1
aload 2
invokespecial sun.security.ssl.Authenticator$SSL30Mac.<init>:(Lsun/security/ssl/ProtocolVersion;Lsun/security/ssl/CipherSuite$MacAlg;Ljavax/crypto/SecretKey;)V
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 protocolVersion Lsun/security/ssl/ProtocolVersion;
0 9 1 macAlg Lsun/security/ssl/CipherSuite$MacAlg;
0 9 2 key Ljavax/crypto/SecretKey;
Exceptions:
throws java.security.NoSuchAlgorithmException, java.security.InvalidKeyException
Signature: <T:Lsun/security/ssl/Authenticator;:Lsun/security/ssl/Authenticator$MAC;>(Lsun/security/ssl/ProtocolVersion;Lsun/security/ssl/CipherSuite$MacAlg;Ljavax/crypto/SecretKey;)TT;
MethodParameters:
Name Flags
protocolVersion
macAlg
key
static sun.security.ssl.Authenticator nullTlsMac();
descriptor: ()Lsun/security/ssl/Authenticator;
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: new sun.security.ssl.Authenticator$SSLNullMac
dup
invokespecial sun.security.ssl.Authenticator$SSLNullMac.<init>:()V
areturn
LocalVariableTable:
Start End Slot Name Signature
static sun.security.ssl.Authenticator nullDtlsMac();
descriptor: ()Lsun/security/ssl/Authenticator;
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: new sun.security.ssl.Authenticator$DTLSNullMac
dup
invokespecial sun.security.ssl.Authenticator$DTLSNullMac.<init>:()V
areturn
LocalVariableTable:
Start End Slot Name Signature
abstract boolean seqNumOverflow();
descriptor: ()Z
flags: (0x0400) ACC_ABSTRACT
abstract boolean seqNumIsHuge();
descriptor: ()Z
flags: (0x0400) ACC_ABSTRACT
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;
void setEpochNumber(int);
descriptor: (I)V
flags: (0x0000)
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: new java.lang.UnsupportedOperationException
dup
1: ldc "Epoch numbers apply to DTLS protocols only"
2: invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/security/ssl/Authenticator;
0 3 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
byte[] acquireAuthenticationBytes(byte, int, byte[]);
descriptor: (BI[B)[B
flags: (0x0000)
Code:
stack=3, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: new java.lang.UnsupportedOperationException
dup
ldc "Used by AEAD algorithms only"
invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
athrow
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/security/ssl/Authenticator;
0 1 1 type B
0 1 2 length I
0 1 3 sequence [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"
NestMembers:
sun.security.ssl.Authenticator$DTLS10Authenticator sun.security.ssl.Authenticator$DTLS10Mac sun.security.ssl.Authenticator$DTLS13Authenticator sun.security.ssl.Authenticator$DTLSAuthenticator sun.security.ssl.Authenticator$DTLSNullAuthenticator sun.security.ssl.Authenticator$DTLSNullMac sun.security.ssl.Authenticator$MAC sun.security.ssl.Authenticator$MacImpl sun.security.ssl.Authenticator$SSL30Authenticator sun.security.ssl.Authenticator$SSL30Mac sun.security.ssl.Authenticator$SSLAuthenticator sun.security.ssl.Authenticator$SSLNullAuthenticator sun.security.ssl.Authenticator$SSLNullMac sun.security.ssl.Authenticator$TLS10Authenticator sun.security.ssl.Authenticator$TLS10Mac sun.security.ssl.Authenticator$TLS13Authenticator
InnerClasses:
private DTLS10Authenticator = sun.security.ssl.Authenticator$DTLS10Authenticator of sun.security.ssl.Authenticator
private final DTLS10Mac = sun.security.ssl.Authenticator$DTLS10Mac of sun.security.ssl.Authenticator
private final DTLS13Authenticator = sun.security.ssl.Authenticator$DTLS13Authenticator of sun.security.ssl.Authenticator
private DTLSAuthenticator = sun.security.ssl.Authenticator$DTLSAuthenticator of sun.security.ssl.Authenticator
private DTLSNullAuthenticator = sun.security.ssl.Authenticator$DTLSNullAuthenticator of sun.security.ssl.Authenticator
private final DTLSNullMac = sun.security.ssl.Authenticator$DTLSNullMac of sun.security.ssl.Authenticator
abstract MAC = sun.security.ssl.Authenticator$MAC of sun.security.ssl.Authenticator
private MacImpl = sun.security.ssl.Authenticator$MacImpl of sun.security.ssl.Authenticator
private SSL30Authenticator = sun.security.ssl.Authenticator$SSL30Authenticator of sun.security.ssl.Authenticator
private final SSL30Mac = sun.security.ssl.Authenticator$SSL30Mac of sun.security.ssl.Authenticator
private SSLAuthenticator = sun.security.ssl.Authenticator$SSLAuthenticator of sun.security.ssl.Authenticator
private SSLNullAuthenticator = sun.security.ssl.Authenticator$SSLNullAuthenticator of sun.security.ssl.Authenticator
private final SSLNullMac = sun.security.ssl.Authenticator$SSLNullMac of sun.security.ssl.Authenticator
private TLS10Authenticator = sun.security.ssl.Authenticator$TLS10Authenticator of sun.security.ssl.Authenticator
private final TLS10Mac = sun.security.ssl.Authenticator$TLS10Mac of sun.security.ssl.Authenticator
private final TLS13Authenticator = sun.security.ssl.Authenticator$TLS13Authenticator of sun.security.ssl.Authenticator
final MacAlg = sun.security.ssl.CipherSuite$MacAlg of sun.security.ssl.CipherSuite