public final class sun.security.provider.DRBG extends java.security.SecureRandomSpi
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: sun.security.provider.DRBG
super_class: java.security.SecureRandomSpi
{
private static final java.lang.String PROP_NAME;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "securerandom.drbg.config"
private static final long serialVersionUID;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 9
private transient sun.security.provider.AbstractDrbg impl;
descriptor: Lsun/security/provider/AbstractDrbg;
flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT
private final sun.security.provider.MoreDrbgParameters mdp;
descriptor: Lsun/security/provider/MoreDrbgParameters;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
public void <init>(java.security.SecureRandomParameters);
descriptor: (Ljava/security/SecureRandomParameters;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=11, locals=17, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.security.SecureRandomSpi.<init>:()V
1: aconst_null
astore 2
start local 2 2: aconst_null
astore 3
start local 3 3: aconst_null
astore 4
start local 4 4: iconst_m1
istore 5
start local 5 5: aconst_null
astore 6
start local 6 6: aconst_null
astore 7
start local 7 7: aconst_null
astore 8
start local 8 8: aconst_null
astore 9
start local 9 9: invokedynamic run()Ljava/security/PrivilegedAction;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
()Ljava/lang/Object;
sun/security/provider/DRBG.lambda$0()Ljava/lang/String; (6)
()Ljava/lang/String;
10: invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
checkcast java.lang.String
astore 10
start local 10 11: aload 10
ifnull 77
aload 10
invokevirtual java.lang.String.isEmpty:()Z
ifne 77
12: aload 10
ldc ","
invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
dup
astore 14
arraylength
istore 13
iconst_0
istore 12
goto 76
StackMap locals: sun.security.provider.DRBG java.security.SecureRandomParameters java.lang.String java.lang.Boolean java.lang.String int java.security.DrbgParameters$Capability byte[] sun.security.provider.EntropySource byte[] java.lang.String top int int java.lang.String[]
StackMap stack:
13: aload 14
iload 12
aaload
astore 11
start local 11 14: aload 11
invokevirtual java.lang.String.trim:()Ljava/lang/String;
astore 11
15: aload 11
getstatic java.util.Locale.ROOT:Ljava/util/Locale;
invokevirtual java.lang.String.toLowerCase:(Ljava/util/Locale;)Ljava/lang/String;
dup
astore 15
invokevirtual java.lang.String.hashCode:()I
lookupswitch { // 9
-836048326: 16
-733043737: 17
-329674575: 18
0: 19
3387192: 20
104988608: 21
309173732: 22
809718443: 23
1245409513: 24
default: 58
}
StackMap locals: sun.security.provider.DRBG java.security.SecureRandomParameters java.lang.String java.lang.Boolean java.lang.String int java.security.DrbgParameters$Capability byte[] sun.security.provider.EntropySource byte[] java.lang.String java.lang.String int int java.lang.String[] java.lang.String
StackMap stack:
16: aload 15
ldc "use_df"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 53
goto 58
StackMap locals:
StackMap stack:
17: aload 15
ldc "reseed_only"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 33
goto 58
StackMap locals:
StackMap stack:
18: aload 15
ldc "ctr_drbg"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 43
goto 58
StackMap locals:
StackMap stack:
19: aload 15
ldc ""
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 25
goto 58
StackMap locals:
StackMap stack:
20: aload 15
ldc "none"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 38
goto 58
StackMap locals:
StackMap stack:
21: aload 15
ldc "no_df"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 48
goto 58
StackMap locals:
StackMap stack:
22: aload 15
ldc "hash_drbg"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 43
goto 58
StackMap locals:
StackMap stack:
23: aload 15
ldc "hmac_drbg"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 43
goto 58
StackMap locals:
StackMap stack:
24: aload 15
ldc "pr_and_reseed"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 28
goto 58
25: StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
26: ldc "aspect in securerandom.drbg.config cannot be empty"
27: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
28: StackMap locals:
StackMap stack:
aload 6
ifnull 29
iconst_1
goto 30
StackMap locals:
StackMap stack:
29: iconst_0
StackMap locals:
StackMap stack: int
30: ldc "capability"
invokestatic sun.security.provider.DRBG.checkTwice:(ZLjava/lang/String;)V
31: getstatic java.security.DrbgParameters$Capability.PR_AND_RESEED:Ljava/security/DrbgParameters$Capability;
astore 6
32: goto 75
33: StackMap locals:
StackMap stack:
aload 6
ifnull 34
iconst_1
goto 35
StackMap locals:
StackMap stack:
34: iconst_0
StackMap locals:
StackMap stack: int
35: ldc "capability"
invokestatic sun.security.provider.DRBG.checkTwice:(ZLjava/lang/String;)V
36: getstatic java.security.DrbgParameters$Capability.RESEED_ONLY:Ljava/security/DrbgParameters$Capability;
astore 6
37: goto 75
38: StackMap locals:
StackMap stack:
aload 6
ifnull 39
iconst_1
goto 40
StackMap locals:
StackMap stack:
39: iconst_0
StackMap locals:
StackMap stack: int
40: ldc "capability"
invokestatic sun.security.provider.DRBG.checkTwice:(ZLjava/lang/String;)V
41: getstatic java.security.DrbgParameters$Capability.NONE:Ljava/security/DrbgParameters$Capability;
astore 6
42: goto 75
43: StackMap locals:
StackMap stack:
aload 2
ifnull 44
iconst_1
goto 45
StackMap locals:
StackMap stack:
44: iconst_0
StackMap locals:
StackMap stack: int
45: ldc "mechanism name"
invokestatic sun.security.provider.DRBG.checkTwice:(ZLjava/lang/String;)V
46: aload 11
astore 2
47: goto 75
48: StackMap locals:
StackMap stack:
aload 3
ifnull 49
iconst_1
goto 50
StackMap locals:
StackMap stack:
49: iconst_0
StackMap locals:
StackMap stack: int
50: ldc "usedf flag"
invokestatic sun.security.provider.DRBG.checkTwice:(ZLjava/lang/String;)V
51: iconst_0
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
astore 3
52: goto 75
53: StackMap locals:
StackMap stack:
aload 3
ifnull 54
iconst_1
goto 55
StackMap locals:
StackMap stack:
54: iconst_0
StackMap locals:
StackMap stack: int
55: ldc "usedf flag"
invokestatic sun.security.provider.DRBG.checkTwice:(ZLjava/lang/String;)V
56: iconst_1
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
astore 3
57: goto 75
58: StackMap locals:
StackMap stack:
aload 11
invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
istore 16
start local 16 59: iload 16
ifge 65
60: new java.lang.IllegalArgumentException
dup
61: new java.lang.StringBuilder
dup
ldc "strength in securerandom.drbg.config cannot be negative: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
62: aload 11
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
63: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
64: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
65: StackMap locals: int
StackMap stack:
iload 5
iflt 66
iconst_1
goto 67
StackMap locals:
StackMap stack:
66: iconst_0
StackMap locals:
StackMap stack: int
67: ldc "strength"
invokestatic sun.security.provider.DRBG.checkTwice:(ZLjava/lang/String;)V
68: iload 16
istore 5
end local 16 69: goto 75
StackMap locals: sun.security.provider.DRBG java.security.SecureRandomParameters java.lang.String java.lang.Boolean java.lang.String int java.security.DrbgParameters$Capability byte[] sun.security.provider.EntropySource byte[] java.lang.String java.lang.String int int java.lang.String[] java.lang.String
StackMap stack: java.lang.NumberFormatException
70: pop
71: aload 4
ifnull 72
iconst_1
goto 73
StackMap locals:
StackMap stack:
72: iconst_0
StackMap locals:
StackMap stack: int
73: ldc "algorithm name"
invokestatic sun.security.provider.DRBG.checkTwice:(ZLjava/lang/String;)V
74: aload 11
astore 4
end local 11 75: StackMap locals: sun.security.provider.DRBG java.security.SecureRandomParameters java.lang.String java.lang.Boolean java.lang.String int java.security.DrbgParameters$Capability byte[] sun.security.provider.EntropySource byte[] java.lang.String top int int java.lang.String[]
StackMap stack:
iinc 12 1
StackMap locals:
StackMap stack:
76: iload 12
iload 13
if_icmplt 13
77: StackMap locals: sun.security.provider.DRBG java.security.SecureRandomParameters java.lang.String java.lang.Boolean java.lang.String int java.security.DrbgParameters$Capability byte[] sun.security.provider.EntropySource byte[] java.lang.String
StackMap stack:
aload 1
ifnull 102
78: aload 1
instanceof sun.security.provider.MoreDrbgParameters
ifeq 90
79: aload 1
checkcast sun.security.provider.MoreDrbgParameters
astore 11
start local 11 80: aload 11
getfield sun.security.provider.MoreDrbgParameters.strength:I
81: aload 11
getfield sun.security.provider.MoreDrbgParameters.capability:Ljava/security/DrbgParameters$Capability;
aload 11
getfield sun.security.provider.MoreDrbgParameters.personalizationString:[B
82: invokestatic java.security.DrbgParameters.instantiation:(ILjava/security/DrbgParameters$Capability;[B)Ljava/security/DrbgParameters$Instantiation;
astore 1
83: aload 11
getfield sun.security.provider.MoreDrbgParameters.es:Lsun/security/provider/EntropySource;
astore 8
84: aload 11
getfield sun.security.provider.MoreDrbgParameters.nonce:[B
astore 9
85: aload 11
getfield sun.security.provider.MoreDrbgParameters.mech:Ljava/lang/String;
ifnull 87
86: aload 11
getfield sun.security.provider.MoreDrbgParameters.mech:Ljava/lang/String;
astore 2
87: StackMap locals: sun.security.provider.MoreDrbgParameters
StackMap stack:
aload 11
getfield sun.security.provider.MoreDrbgParameters.algorithm:Ljava/lang/String;
ifnull 89
88: aload 11
getfield sun.security.provider.MoreDrbgParameters.algorithm:Ljava/lang/String;
astore 4
89: StackMap locals:
StackMap stack:
aload 11
getfield sun.security.provider.MoreDrbgParameters.usedf:Z
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
astore 3
end local 11 90: StackMap locals:
StackMap stack:
aload 1
instanceof java.security.DrbgParameters$Instantiation
ifeq 99
91: aload 1
checkcast java.security.DrbgParameters$Instantiation
92: astore 11
start local 11 93: aload 11
invokevirtual java.security.DrbgParameters$Instantiation.getPersonalizationString:()[B
astore 7
94: aload 11
invokevirtual java.security.DrbgParameters$Instantiation.getStrength:()I
istore 12
start local 12 95: iload 12
iconst_m1
if_icmpeq 97
96: iload 12
istore 5
97: StackMap locals: java.security.DrbgParameters$Instantiation int
StackMap stack:
aload 11
invokevirtual java.security.DrbgParameters$Instantiation.getCapability:()Ljava/security/DrbgParameters$Capability;
astore 6
end local 12 end local 11 98: goto 102
99: StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "Unsupported params: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
100: aload 1
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
101: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
102: StackMap locals:
StackMap stack:
aload 6
ifnonnull 104
103: getstatic java.security.DrbgParameters$Capability.NONE:Ljava/security/DrbgParameters$Capability;
astore 6
104: StackMap locals:
StackMap stack:
aload 2
ifnonnull 106
105: ldc "Hash_DRBG"
astore 2
106: StackMap locals:
StackMap stack:
aload 3
ifnonnull 108
107: iconst_1
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
astore 3
108: StackMap locals:
StackMap stack:
aload 0
new sun.security.provider.MoreDrbgParameters
dup
109: aload 8
aload 2
aload 4
aload 9
aload 3
invokevirtual java.lang.Boolean.booleanValue:()Z
110: iload 5
aload 6
aload 7
invokestatic java.security.DrbgParameters.instantiation:(ILjava/security/DrbgParameters$Capability;[B)Ljava/security/DrbgParameters$Instantiation;
invokespecial sun.security.provider.MoreDrbgParameters.<init>:(Lsun/security/provider/EntropySource;Ljava/lang/String;Ljava/lang/String;[BZLjava/security/DrbgParameters$Instantiation;)V
111: putfield sun.security.provider.DRBG.mdp:Lsun/security/provider/MoreDrbgParameters;
112: aload 0
invokevirtual sun.security.provider.DRBG.createImpl:()V
113: return
end local 10 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 114 0 this Lsun/security/provider/DRBG;
0 114 1 params Ljava/security/SecureRandomParameters;
2 114 2 mech Ljava/lang/String;
3 114 3 usedf Ljava/lang/Boolean;
4 114 4 algorithm Ljava/lang/String;
5 114 5 strength I
6 114 6 cap Ljava/security/DrbgParameters$Capability;
7 114 7 ps [B
8 114 8 es Lsun/security/provider/EntropySource;
9 114 9 nonce [B
11 114 10 config Ljava/lang/String;
14 75 11 part Ljava/lang/String;
59 69 16 tmp I
80 90 11 m Lsun/security/provider/MoreDrbgParameters;
93 98 11 dp Ljava/security/DrbgParameters$Instantiation;
95 98 12 tmp I
Exception table:
from to target type
58 69 70 Class java.lang.NumberFormatException
MethodParameters:
Name Flags
params
private void createImpl();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=2, args_size=1
start local 0 0: aload 0
getfield sun.security.provider.DRBG.mdp:Lsun/security/provider/MoreDrbgParameters;
getfield sun.security.provider.MoreDrbgParameters.mech:Ljava/lang/String;
getstatic java.util.Locale.ROOT:Ljava/util/Locale;
invokevirtual java.lang.String.toLowerCase:(Ljava/util/Locale;)Ljava/lang/String;
dup
astore 1
invokevirtual java.lang.String.hashCode:()I
lookupswitch { // 3
-329674575: 1
309173732: 2
809718443: 3
default: 10
}
StackMap locals: java.lang.String
StackMap stack:
1: aload 1
ldc "ctr_drbg"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 8
goto 10
StackMap locals:
StackMap stack:
2: aload 1
ldc "hash_drbg"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 4
goto 10
StackMap locals:
StackMap stack:
3: aload 1
ldc "hmac_drbg"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 6
goto 10
4: StackMap locals:
StackMap stack:
aload 0
new sun.security.provider.HashDrbg
dup
aload 0
getfield sun.security.provider.DRBG.mdp:Lsun/security/provider/MoreDrbgParameters;
invokespecial sun.security.provider.HashDrbg.<init>:(Ljava/security/SecureRandomParameters;)V
putfield sun.security.provider.DRBG.impl:Lsun/security/provider/AbstractDrbg;
5: goto 11
6: StackMap locals:
StackMap stack:
aload 0
new sun.security.provider.HmacDrbg
dup
aload 0
getfield sun.security.provider.DRBG.mdp:Lsun/security/provider/MoreDrbgParameters;
invokespecial sun.security.provider.HmacDrbg.<init>:(Ljava/security/SecureRandomParameters;)V
putfield sun.security.provider.DRBG.impl:Lsun/security/provider/AbstractDrbg;
7: goto 11
8: StackMap locals:
StackMap stack:
aload 0
new sun.security.provider.CtrDrbg
dup
aload 0
getfield sun.security.provider.DRBG.mdp:Lsun/security/provider/MoreDrbgParameters;
invokespecial sun.security.provider.CtrDrbg.<init>:(Ljava/security/SecureRandomParameters;)V
putfield sun.security.provider.DRBG.impl:Lsun/security/provider/AbstractDrbg;
9: goto 11
10: StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "Unsupported mech: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield sun.security.provider.DRBG.mdp:Lsun/security/provider/MoreDrbgParameters;
getfield sun.security.provider.MoreDrbgParameters.mech:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
11: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lsun/security/provider/DRBG;
protected void engineSetSeed(byte[]);
descriptor: ([B)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield sun.security.provider.DRBG.impl:Lsun/security/provider/AbstractDrbg;
aload 1
invokevirtual sun.security.provider.AbstractDrbg.engineSetSeed:([B)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/security/provider/DRBG;
0 2 1 seed [B
MethodParameters:
Name Flags
seed
protected void engineNextBytes(byte[]);
descriptor: ([B)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield sun.security.provider.DRBG.impl:Lsun/security/provider/AbstractDrbg;
aload 1
invokevirtual sun.security.provider.AbstractDrbg.engineNextBytes:([B)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/security/provider/DRBG;
0 2 1 bytes [B
MethodParameters:
Name Flags
bytes
protected byte[] engineGenerateSeed(int);
descriptor: (I)[B
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield sun.security.provider.DRBG.impl:Lsun/security/provider/AbstractDrbg;
iload 1
invokevirtual sun.security.provider.AbstractDrbg.engineGenerateSeed:(I)[B
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/security/provider/DRBG;
0 1 1 numBytes I
MethodParameters:
Name Flags
numBytes
protected void engineNextBytes(byte[], java.security.SecureRandomParameters);
descriptor: ([BLjava/security/SecureRandomParameters;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield sun.security.provider.DRBG.impl:Lsun/security/provider/AbstractDrbg;
aload 1
aload 2
invokevirtual sun.security.provider.AbstractDrbg.engineNextBytes:([BLjava/security/SecureRandomParameters;)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/security/provider/DRBG;
0 2 1 bytes [B
0 2 2 params Ljava/security/SecureRandomParameters;
MethodParameters:
Name Flags
bytes
params
protected void engineReseed(java.security.SecureRandomParameters);
descriptor: (Ljava/security/SecureRandomParameters;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield sun.security.provider.DRBG.impl:Lsun/security/provider/AbstractDrbg;
aload 1
invokevirtual sun.security.provider.AbstractDrbg.engineReseed:(Ljava/security/SecureRandomParameters;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/security/provider/DRBG;
0 2 1 params Ljava/security/SecureRandomParameters;
MethodParameters:
Name Flags
params
protected java.security.SecureRandomParameters engineGetParameters();
descriptor: ()Ljava/security/SecureRandomParameters;
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.security.provider.DRBG.impl:Lsun/security/provider/AbstractDrbg;
invokevirtual sun.security.provider.AbstractDrbg.engineGetParameters:()Ljava/security/SecureRandomParameters;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/security/provider/DRBG;
public java.lang.String toString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.security.provider.DRBG.impl:Lsun/security/provider/AbstractDrbg;
invokevirtual sun.security.provider.AbstractDrbg.toString:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/security/provider/DRBG;
private static void checkTwice(boolean, java.lang.String);
descriptor: (ZLjava/lang/String;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: iload 0
ifeq 4
1: new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
aload 1
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
2: ldc " cannot be provided more than once in "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "securerandom.drbg.config"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
3: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 flag Z
0 5 1 name Ljava/lang/String;
MethodParameters:
Name Flags
flag
name
private void readObject(java.io.ObjectInputStream);
descriptor: (Ljava/io/ObjectInputStream;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual java.io.ObjectInputStream.defaultReadObject:()V
1: aload 0
getfield sun.security.provider.DRBG.mdp:Lsun/security/provider/MoreDrbgParameters;
getfield sun.security.provider.MoreDrbgParameters.mech:Ljava/lang/String;
ifnonnull 3
2: new java.lang.IllegalArgumentException
dup
ldc "Input data is corrupted"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
3: StackMap locals:
StackMap stack:
aload 0
invokevirtual sun.security.provider.DRBG.createImpl:()V
4: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lsun/security/provider/DRBG;
0 5 1 s Ljava/io/ObjectInputStream;
Exceptions:
throws java.io.IOException, java.lang.ClassNotFoundException
MethodParameters:
Name Flags
s
private static java.lang.String lambda$0();
descriptor: ()Ljava/lang/String;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=1, locals=0, args_size=0
0: ldc "securerandom.drbg.config"
invokestatic java.security.Security.getProperty:(Ljava/lang/String;)Ljava/lang/String;
areturn
LocalVariableTable:
Start End Slot Name Signature
}
SourceFile: "DRBG.java"
InnerClasses:
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
public final Capability = java.security.DrbgParameters$Capability of java.security.DrbgParameters
public final Instantiation = java.security.DrbgParameters$Instantiation of java.security.DrbgParameters