public class org.bouncycastle.jce.provider.JDKAlgorithmParameterGenerator$RC2 extends org.bouncycastle.jce.provider.JDKAlgorithmParameterGenerator
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.bouncycastle.jce.provider.JDKAlgorithmParameterGenerator$RC2
super_class: org.bouncycastle.jce.provider.JDKAlgorithmParameterGenerator
{
javax.crypto.spec.RC2ParameterSpec spec;
descriptor: Ljavax/crypto/spec/RC2ParameterSpec;
flags: (0x0000)
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 // org.bouncycastle.jce.provider.JDKAlgorithmParameterGenerator$RC2 this
0: .line 280
aload 0 /* this */
invokespecial org.bouncycastle.jce.provider.JDKAlgorithmParameterGenerator.<init>:()V
1: .line 283
aload 0 /* this */
aconst_null
putfield org.bouncycastle.jce.provider.JDKAlgorithmParameterGenerator$RC2.spec:Ljavax/crypto/spec/RC2ParameterSpec;
2: .line 280
return
end local 0 // org.bouncycastle.jce.provider.JDKAlgorithmParameterGenerator$RC2 this
LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/bouncycastle/jce/provider/JDKAlgorithmParameterGenerator$RC2;
protected void engineInit(java.security.spec.AlgorithmParameterSpec, java.security.SecureRandom);
descriptor: (Ljava/security/spec/AlgorithmParameterSpec;Ljava/security/SecureRandom;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=3, args_size=3
start local 0 // org.bouncycastle.jce.provider.JDKAlgorithmParameterGenerator$RC2 this
start local 1 // java.security.spec.AlgorithmParameterSpec genParamSpec
start local 2 // java.security.SecureRandom random
0: .line 290
aload 1 /* genParamSpec */
instanceof javax.crypto.spec.RC2ParameterSpec
ifeq 3
1: .line 292
aload 0 /* this */
aload 1 /* genParamSpec */
checkcast javax.crypto.spec.RC2ParameterSpec
putfield org.bouncycastle.jce.provider.JDKAlgorithmParameterGenerator$RC2.spec:Ljavax/crypto/spec/RC2ParameterSpec;
2: .line 293
return
3: .line 296
StackMap locals:
StackMap stack:
new java.security.InvalidAlgorithmParameterException
dup
ldc "No supported AlgorithmParameterSpec for RC2 parameter generation."
invokespecial java.security.InvalidAlgorithmParameterException.<init>:(Ljava/lang/String;)V
athrow
end local 2 // java.security.SecureRandom random
end local 1 // java.security.spec.AlgorithmParameterSpec genParamSpec
end local 0 // org.bouncycastle.jce.provider.JDKAlgorithmParameterGenerator$RC2 this
LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/bouncycastle/jce/provider/JDKAlgorithmParameterGenerator$RC2;
0 4 1 genParamSpec Ljava/security/spec/AlgorithmParameterSpec;
0 4 2 random Ljava/security/SecureRandom;
Exceptions:
throws java.security.InvalidAlgorithmParameterException
MethodParameters:
Name Flags
genParamSpec
random
protected java.security.AlgorithmParameters engineGenerateParameters();
descriptor: ()Ljava/security/AlgorithmParameters;
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=4, args_size=1
start local 0 // org.bouncycastle.jce.provider.JDKAlgorithmParameterGenerator$RC2 this
0: .line 303
aload 0 /* this */
getfield org.bouncycastle.jce.provider.JDKAlgorithmParameterGenerator$RC2.spec:Ljavax/crypto/spec/RC2ParameterSpec;
ifnonnull 10
1: .line 305
bipush 8
newarray 8
astore 2 /* iv */
start local 2 // byte[] iv
2: .line 307
aload 0 /* this */
getfield org.bouncycastle.jce.provider.JDKAlgorithmParameterGenerator$RC2.random:Ljava/security/SecureRandom;
ifnonnull 4
3: .line 309
aload 0 /* this */
new java.security.SecureRandom
dup
invokespecial java.security.SecureRandom.<init>:()V
putfield org.bouncycastle.jce.provider.JDKAlgorithmParameterGenerator$RC2.random:Ljava/security/SecureRandom;
4: .line 312
StackMap locals: org.bouncycastle.jce.provider.JDKAlgorithmParameterGenerator$RC2 top byte[]
StackMap stack:
aload 0 /* this */
getfield org.bouncycastle.jce.provider.JDKAlgorithmParameterGenerator$RC2.random:Ljava/security/SecureRandom;
aload 2 /* iv */
invokevirtual java.security.SecureRandom.nextBytes:([B)V
5: .line 316
ldc "RC2"
getstatic org.bouncycastle.jce.provider.BouncyCastleProvider.PROVIDER_NAME:Ljava/lang/String;
invokestatic java.security.AlgorithmParameters.getInstance:(Ljava/lang/String;Ljava/lang/String;)Ljava/security/AlgorithmParameters;
astore 1 /* params */
start local 1 // java.security.AlgorithmParameters params
6: .line 317
aload 1 /* params */
new javax.crypto.spec.IvParameterSpec
dup
aload 2 /* iv */
invokespecial javax.crypto.spec.IvParameterSpec.<init>:([B)V
invokevirtual java.security.AlgorithmParameters.init:(Ljava/security/spec/AlgorithmParameterSpec;)V
7: .line 318
goto 15
end local 1 // java.security.AlgorithmParameters params
8: .line 319
StackMap locals:
StackMap stack: java.lang.Exception
astore 3 /* e */
start local 3 // java.lang.Exception e
9: .line 321
new java.lang.RuntimeException
dup
aload 3 /* e */
invokevirtual java.lang.Exception.getMessage:()Ljava/lang/String;
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
athrow
end local 3 // java.lang.Exception e
end local 2 // byte[] iv
10: .line 328
StackMap locals: org.bouncycastle.jce.provider.JDKAlgorithmParameterGenerator$RC2
StackMap stack:
ldc "RC2"
getstatic org.bouncycastle.jce.provider.BouncyCastleProvider.PROVIDER_NAME:Ljava/lang/String;
invokestatic java.security.AlgorithmParameters.getInstance:(Ljava/lang/String;Ljava/lang/String;)Ljava/security/AlgorithmParameters;
astore 1 /* params */
start local 1 // java.security.AlgorithmParameters params
11: .line 329
aload 1 /* params */
aload 0 /* this */
getfield org.bouncycastle.jce.provider.JDKAlgorithmParameterGenerator$RC2.spec:Ljavax/crypto/spec/RC2ParameterSpec;
invokevirtual java.security.AlgorithmParameters.init:(Ljava/security/spec/AlgorithmParameterSpec;)V
12: .line 330
goto 15
end local 1 // java.security.AlgorithmParameters params
13: .line 331
StackMap locals:
StackMap stack: java.lang.Exception
astore 2 /* e */
start local 2 // java.lang.Exception e
14: .line 333
new java.lang.RuntimeException
dup
aload 2 /* e */
invokevirtual java.lang.Exception.getMessage:()Ljava/lang/String;
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
athrow
end local 2 // java.lang.Exception e
start local 1 // java.security.AlgorithmParameters params
15: .line 337
StackMap locals: java.security.AlgorithmParameters
StackMap stack:
aload 1 /* params */
areturn
end local 1 // java.security.AlgorithmParameters params
end local 0 // org.bouncycastle.jce.provider.JDKAlgorithmParameterGenerator$RC2 this
LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Lorg/bouncycastle/jce/provider/JDKAlgorithmParameterGenerator$RC2;
6 8 1 params Ljava/security/AlgorithmParameters;
11 13 1 params Ljava/security/AlgorithmParameters;
15 16 1 params Ljava/security/AlgorithmParameters;
2 10 2 iv [B
9 10 3 e Ljava/lang/Exception;
14 15 2 e Ljava/lang/Exception;
Exception table:
from to target type
5 7 8 Class java.lang.Exception
10 12 13 Class java.lang.Exception
}
SourceFile: "JDKAlgorithmParameterGenerator.java"
NestHost: org.bouncycastle.jce.provider.JDKAlgorithmParameterGenerator
InnerClasses:
public RC2 = org.bouncycastle.jce.provider.JDKAlgorithmParameterGenerator$RC2 of org.bouncycastle.jce.provider.JDKAlgorithmParameterGenerator