final class sun.security.ssl.EphemeralKeyManager
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: sun.security.ssl.EphemeralKeyManager
super_class: java.lang.Object
{
private static final int INDEX_RSA512;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 0
private static final int INDEX_RSA1024;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 1
private final sun.security.ssl.EphemeralKeyManager$EphemeralKeyPair[] keys;
descriptor: [Lsun/security/ssl/EphemeralKeyManager$EphemeralKeyPair;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
void <init>();
descriptor: ()V
flags: (0x0000)
Code:
stack=7, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
iconst_2
anewarray sun.security.ssl.EphemeralKeyManager$EphemeralKeyPair
dup
iconst_0
2: new sun.security.ssl.EphemeralKeyManager$EphemeralKeyPair
dup
aconst_null
invokespecial sun.security.ssl.EphemeralKeyManager$EphemeralKeyPair.<init>:(Ljava/security/KeyPair;)V
aastore
dup
iconst_1
3: new sun.security.ssl.EphemeralKeyManager$EphemeralKeyPair
dup
aconst_null
invokespecial sun.security.ssl.EphemeralKeyManager$EphemeralKeyPair.<init>:(Ljava/security/KeyPair;)V
aastore
putfield sun.security.ssl.EphemeralKeyManager.keys:[Lsun/security/ssl/EphemeralKeyManager$EphemeralKeyPair;
4: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lsun/security/ssl/EphemeralKeyManager;
java.security.KeyPair getRSAKeyPair(boolean, java.security.SecureRandom);
descriptor: (ZLjava/security/SecureRandom;)Ljava/security/KeyPair;
flags: (0x0000)
Code:
stack=5, locals=8, args_size=3
start local 0 start local 1 start local 2 0: iload 1
ifeq 4
1: sipush 512
istore 3
start local 3 2: iconst_0
istore 4
start local 4 3: goto 6
end local 4 end local 3 4: StackMap locals:
StackMap stack:
sipush 1024
istore 3
start local 3 5: iconst_1
istore 4
start local 4 6: StackMap locals: int int
StackMap stack:
aload 0
getfield sun.security.ssl.EphemeralKeyManager.keys:[Lsun/security/ssl/EphemeralKeyManager$EphemeralKeyPair;
dup
astore 5
monitorenter
7: aload 0
getfield sun.security.ssl.EphemeralKeyManager.keys:[Lsun/security/ssl/EphemeralKeyManager$EphemeralKeyPair;
iload 4
aaload
invokevirtual sun.security.ssl.EphemeralKeyManager$EphemeralKeyPair.getKeyPair:()Ljava/security/KeyPair;
astore 6
start local 6 8: aload 6
ifnonnull 15
9: ldc "RSA"
invokestatic sun.security.ssl.JsseJce.getKeyPairGenerator:(Ljava/lang/String;)Ljava/security/KeyPairGenerator;
astore 7
start local 7 10: aload 7
iload 3
aload 2
invokevirtual java.security.KeyPairGenerator.initialize:(ILjava/security/SecureRandom;)V
11: aload 0
getfield sun.security.ssl.EphemeralKeyManager.keys:[Lsun/security/ssl/EphemeralKeyManager$EphemeralKeyPair;
iload 4
new sun.security.ssl.EphemeralKeyManager$EphemeralKeyPair
dup
aload 7
invokevirtual java.security.KeyPairGenerator.genKeyPair:()Ljava/security/KeyPair;
invokespecial sun.security.ssl.EphemeralKeyManager$EphemeralKeyPair.<init>:(Ljava/security/KeyPair;)V
aastore
12: aload 0
getfield sun.security.ssl.EphemeralKeyManager.keys:[Lsun/security/ssl/EphemeralKeyManager$EphemeralKeyPair;
iload 4
aaload
invokevirtual sun.security.ssl.EphemeralKeyManager$EphemeralKeyPair.getKeyPair:()Ljava/security/KeyPair;
astore 6
end local 7 13: goto 15
StackMap locals: sun.security.ssl.EphemeralKeyManager int java.security.SecureRandom int int sun.security.ssl.EphemeralKeyManager$EphemeralKeyPair[] java.security.KeyPair
StackMap stack: java.lang.Exception
14: pop
15: StackMap locals:
StackMap stack:
aload 6
aload 5
monitorexit
16: areturn
end local 6 17: StackMap locals: sun.security.ssl.EphemeralKeyManager int java.security.SecureRandom int int sun.security.ssl.EphemeralKeyManager$EphemeralKeyPair[]
StackMap stack: java.lang.Throwable
aload 5
monitorexit
18: athrow
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/EphemeralKeyManager;
0 19 1 export Z
0 19 2 random Ljava/security/SecureRandom;
2 4 3 length I
5 19 3 length I
3 4 4 index I
6 19 4 index I
8 17 6 kp Ljava/security/KeyPair;
10 13 7 kgen Ljava/security/KeyPairGenerator;
Exception table:
from to target type
9 13 14 Class java.lang.Exception
7 16 17 any
17 18 17 any
MethodParameters:
Name Flags
export
random
}
SourceFile: "EphemeralKeyManager.java"
NestMembers:
sun.security.ssl.EphemeralKeyManager$EphemeralKeyPair
InnerClasses:
private EphemeralKeyPair = sun.security.ssl.EphemeralKeyManager$EphemeralKeyPair of sun.security.ssl.EphemeralKeyManager