public class org.bouncycastle.jce.provider.JCEKeyGenerator extends javax.crypto.KeyGeneratorSpi
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.bouncycastle.jce.provider.JCEKeyGenerator
super_class: javax.crypto.KeyGeneratorSpi
{
protected java.lang.String algName;
descriptor: Ljava/lang/String;
flags: (0x0004) ACC_PROTECTED
protected int keySize;
descriptor: I
flags: (0x0004) ACC_PROTECTED
protected int defaultKeySize;
descriptor: I
flags: (0x0004) ACC_PROTECTED
protected org.bouncycastle.crypto.CipherKeyGenerator engine;
descriptor: Lorg/bouncycastle/crypto/CipherKeyGenerator;
flags: (0x0004) ACC_PROTECTED
protected boolean uninitialised;
descriptor: Z
flags: (0x0004) ACC_PROTECTED
protected void <init>(java.lang.String, int, org.bouncycastle.crypto.CipherKeyGenerator);
descriptor: (Ljava/lang/String;ILorg/bouncycastle/crypto/CipherKeyGenerator;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokespecial javax.crypto.KeyGeneratorSpi.<init>:()V
1: aload 0
iconst_1
putfield org.bouncycastle.jce.provider.JCEKeyGenerator.uninitialised:Z
2: aload 0
aload 1
putfield org.bouncycastle.jce.provider.JCEKeyGenerator.algName:Ljava/lang/String;
3: aload 0
aload 0
iload 2
dup_x1
putfield org.bouncycastle.jce.provider.JCEKeyGenerator.defaultKeySize:I
putfield org.bouncycastle.jce.provider.JCEKeyGenerator.keySize:I
4: aload 0
aload 3
putfield org.bouncycastle.jce.provider.JCEKeyGenerator.engine:Lorg/bouncycastle/crypto/CipherKeyGenerator;
5: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/bouncycastle/jce/provider/JCEKeyGenerator;
0 6 1 algName Ljava/lang/String;
0 6 2 defaultKeySize I
0 6 3 engine Lorg/bouncycastle/crypto/CipherKeyGenerator;
MethodParameters:
Name Flags
algName
defaultKeySize
engine
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 start local 1 start local 2 0: new java.security.InvalidAlgorithmParameterException
dup
ldc "Not Implemented"
invokespecial java.security.InvalidAlgorithmParameterException.<init>:(Ljava/lang/String;)V
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/jce/provider/JCEKeyGenerator;
0 1 1 params Ljava/security/spec/AlgorithmParameterSpec;
0 1 2 random Ljava/security/SecureRandom;
Exceptions:
throws java.security.InvalidAlgorithmParameterException
MethodParameters:
Name Flags
params
random
protected void engineInit(java.security.SecureRandom);
descriptor: (Ljava/security/SecureRandom;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: aload 1
ifnull 3
1: aload 0
getfield org.bouncycastle.jce.provider.JCEKeyGenerator.engine:Lorg/bouncycastle/crypto/CipherKeyGenerator;
new org.bouncycastle.crypto.KeyGenerationParameters
dup
aload 1
aload 0
getfield org.bouncycastle.jce.provider.JCEKeyGenerator.defaultKeySize:I
invokespecial org.bouncycastle.crypto.KeyGenerationParameters.<init>:(Ljava/security/SecureRandom;I)V
invokevirtual org.bouncycastle.crypto.CipherKeyGenerator.init:(Lorg/bouncycastle/crypto/KeyGenerationParameters;)V
2: aload 0
iconst_0
putfield org.bouncycastle.jce.provider.JCEKeyGenerator.uninitialised:Z
3: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/bouncycastle/jce/provider/JCEKeyGenerator;
0 4 1 random Ljava/security/SecureRandom;
MethodParameters:
Name Flags
random
protected void engineInit(int, java.security.SecureRandom);
descriptor: (ILjava/security/SecureRandom;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield org.bouncycastle.jce.provider.JCEKeyGenerator.engine:Lorg/bouncycastle/crypto/CipherKeyGenerator;
new org.bouncycastle.crypto.KeyGenerationParameters
dup
aload 2
iload 1
invokespecial org.bouncycastle.crypto.KeyGenerationParameters.<init>:(Ljava/security/SecureRandom;I)V
invokevirtual org.bouncycastle.crypto.CipherKeyGenerator.init:(Lorg/bouncycastle/crypto/KeyGenerationParameters;)V
1: aload 0
iconst_0
putfield org.bouncycastle.jce.provider.JCEKeyGenerator.uninitialised:Z
2: goto 5
3: StackMap locals:
StackMap stack: java.lang.IllegalArgumentException
astore 3
start local 3 4: new java.security.InvalidParameterException
dup
aload 3
invokevirtual java.lang.IllegalArgumentException.getMessage:()Ljava/lang/String;
invokespecial java.security.InvalidParameterException.<init>:(Ljava/lang/String;)V
athrow
end local 3 5: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/bouncycastle/jce/provider/JCEKeyGenerator;
0 6 1 keySize I
0 6 2 random Ljava/security/SecureRandom;
4 5 3 e Ljava/lang/IllegalArgumentException;
Exception table:
from to target type
0 2 3 Class java.lang.IllegalArgumentException
MethodParameters:
Name Flags
keySize
random
protected javax.crypto.SecretKey engineGenerateKey();
descriptor: ()Ljavax/crypto/SecretKey;
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=1, args_size=1
start local 0 0: aload 0
getfield org.bouncycastle.jce.provider.JCEKeyGenerator.uninitialised:Z
ifeq 3
1: aload 0
getfield org.bouncycastle.jce.provider.JCEKeyGenerator.engine:Lorg/bouncycastle/crypto/CipherKeyGenerator;
new org.bouncycastle.crypto.KeyGenerationParameters
dup
new java.security.SecureRandom
dup
invokespecial java.security.SecureRandom.<init>:()V
aload 0
getfield org.bouncycastle.jce.provider.JCEKeyGenerator.defaultKeySize:I
invokespecial org.bouncycastle.crypto.KeyGenerationParameters.<init>:(Ljava/security/SecureRandom;I)V
invokevirtual org.bouncycastle.crypto.CipherKeyGenerator.init:(Lorg/bouncycastle/crypto/KeyGenerationParameters;)V
2: aload 0
iconst_0
putfield org.bouncycastle.jce.provider.JCEKeyGenerator.uninitialised:Z
3: StackMap locals:
StackMap stack:
new javax.crypto.spec.SecretKeySpec
dup
aload 0
getfield org.bouncycastle.jce.provider.JCEKeyGenerator.engine:Lorg/bouncycastle/crypto/CipherKeyGenerator;
invokevirtual org.bouncycastle.crypto.CipherKeyGenerator.generateKey:()[B
aload 0
getfield org.bouncycastle.jce.provider.JCEKeyGenerator.algName:Ljava/lang/String;
invokespecial javax.crypto.spec.SecretKeySpec.<init>:([BLjava/lang/String;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/bouncycastle/jce/provider/JCEKeyGenerator;
}
SourceFile: "JCEKeyGenerator.java"
NestMembers:
org.bouncycastle.jce.provider.JCEKeyGenerator$DES org.bouncycastle.jce.provider.JCEKeyGenerator$GOST28147 org.bouncycastle.jce.provider.JCEKeyGenerator$HMACSHA1 org.bouncycastle.jce.provider.JCEKeyGenerator$HMACSHA224 org.bouncycastle.jce.provider.JCEKeyGenerator$HMACSHA256 org.bouncycastle.jce.provider.JCEKeyGenerator$HMACSHA384 org.bouncycastle.jce.provider.JCEKeyGenerator$HMACSHA512 org.bouncycastle.jce.provider.JCEKeyGenerator$HMACTIGER org.bouncycastle.jce.provider.JCEKeyGenerator$MD2HMAC org.bouncycastle.jce.provider.JCEKeyGenerator$MD4HMAC org.bouncycastle.jce.provider.JCEKeyGenerator$MD5HMAC org.bouncycastle.jce.provider.JCEKeyGenerator$RC2 org.bouncycastle.jce.provider.JCEKeyGenerator$RIPEMD128HMAC org.bouncycastle.jce.provider.JCEKeyGenerator$RIPEMD160HMAC
InnerClasses:
public DES = org.bouncycastle.jce.provider.JCEKeyGenerator$DES of org.bouncycastle.jce.provider.JCEKeyGenerator
public GOST28147 = org.bouncycastle.jce.provider.JCEKeyGenerator$GOST28147 of org.bouncycastle.jce.provider.JCEKeyGenerator
public HMACSHA1 = org.bouncycastle.jce.provider.JCEKeyGenerator$HMACSHA1 of org.bouncycastle.jce.provider.JCEKeyGenerator
public HMACSHA224 = org.bouncycastle.jce.provider.JCEKeyGenerator$HMACSHA224 of org.bouncycastle.jce.provider.JCEKeyGenerator
public HMACSHA256 = org.bouncycastle.jce.provider.JCEKeyGenerator$HMACSHA256 of org.bouncycastle.jce.provider.JCEKeyGenerator
public HMACSHA384 = org.bouncycastle.jce.provider.JCEKeyGenerator$HMACSHA384 of org.bouncycastle.jce.provider.JCEKeyGenerator
public HMACSHA512 = org.bouncycastle.jce.provider.JCEKeyGenerator$HMACSHA512 of org.bouncycastle.jce.provider.JCEKeyGenerator
public HMACTIGER = org.bouncycastle.jce.provider.JCEKeyGenerator$HMACTIGER of org.bouncycastle.jce.provider.JCEKeyGenerator
public MD2HMAC = org.bouncycastle.jce.provider.JCEKeyGenerator$MD2HMAC of org.bouncycastle.jce.provider.JCEKeyGenerator
public MD4HMAC = org.bouncycastle.jce.provider.JCEKeyGenerator$MD4HMAC of org.bouncycastle.jce.provider.JCEKeyGenerator
public MD5HMAC = org.bouncycastle.jce.provider.JCEKeyGenerator$MD5HMAC of org.bouncycastle.jce.provider.JCEKeyGenerator
public RC2 = org.bouncycastle.jce.provider.JCEKeyGenerator$RC2 of org.bouncycastle.jce.provider.JCEKeyGenerator
public RIPEMD128HMAC = org.bouncycastle.jce.provider.JCEKeyGenerator$RIPEMD128HMAC of org.bouncycastle.jce.provider.JCEKeyGenerator
public RIPEMD160HMAC = org.bouncycastle.jce.provider.JCEKeyGenerator$RIPEMD160HMAC of org.bouncycastle.jce.provider.JCEKeyGenerator