public class org.bouncycastle.jce.provider.symmetric.DESede$KeyGenerator extends org.bouncycastle.jce.provider.JCEKeyGenerator
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.bouncycastle.jce.provider.symmetric.DESede$KeyGenerator
super_class: org.bouncycastle.jce.provider.JCEKeyGenerator
{
private boolean keySizeSet;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=1, args_size=1
start local 0 // org.bouncycastle.jce.provider.symmetric.DESede$KeyGenerator this
0: .line 140
aload 0 /* this */
ldc "DESede"
sipush 192
new org.bouncycastle.crypto.generators.DESedeKeyGenerator
dup
invokespecial org.bouncycastle.crypto.generators.DESedeKeyGenerator.<init>:()V
invokespecial org.bouncycastle.jce.provider.JCEKeyGenerator.<init>:(Ljava/lang/String;ILorg/bouncycastle/crypto/CipherKeyGenerator;)V
1: .line 136
aload 0 /* this */
iconst_0
putfield org.bouncycastle.jce.provider.symmetric.DESede$KeyGenerator.keySizeSet:Z
2: .line 141
return
end local 0 // org.bouncycastle.jce.provider.symmetric.DESede$KeyGenerator this
LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/bouncycastle/jce/provider/symmetric/DESede$KeyGenerator;
protected void engineInit(int, java.security.SecureRandom);
descriptor: (ILjava/security/SecureRandom;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=3, args_size=3
start local 0 // org.bouncycastle.jce.provider.symmetric.DESede$KeyGenerator this
start local 1 // int keySize
start local 2 // java.security.SecureRandom random
0: .line 147
aload 0 /* this */
iload 1 /* keySize */
aload 2 /* random */
invokespecial org.bouncycastle.jce.provider.JCEKeyGenerator.engineInit:(ILjava/security/SecureRandom;)V
1: .line 148
aload 0 /* this */
iconst_1
putfield org.bouncycastle.jce.provider.symmetric.DESede$KeyGenerator.keySizeSet:Z
2: .line 149
return
end local 2 // java.security.SecureRandom random
end local 1 // int keySize
end local 0 // org.bouncycastle.jce.provider.symmetric.DESede$KeyGenerator this
LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/bouncycastle/jce/provider/symmetric/DESede$KeyGenerator;
0 3 1 keySize I
0 3 2 random Ljava/security/SecureRandom;
MethodParameters:
Name Flags
keySize
random
protected javax.crypto.SecretKey engineGenerateKey();
descriptor: ()Ljavax/crypto/SecretKey;
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=2, args_size=1
start local 0 // org.bouncycastle.jce.provider.symmetric.DESede$KeyGenerator this
0: .line 153
aload 0 /* this */
getfield org.bouncycastle.jce.provider.symmetric.DESede$KeyGenerator.uninitialised:Z
ifeq 3
1: .line 155
aload 0 /* this */
getfield org.bouncycastle.jce.provider.symmetric.DESede$KeyGenerator.engine:Lorg/bouncycastle/crypto/CipherKeyGenerator;
new org.bouncycastle.crypto.KeyGenerationParameters
dup
new java.security.SecureRandom
dup
invokespecial java.security.SecureRandom.<init>:()V
aload 0 /* this */
getfield org.bouncycastle.jce.provider.symmetric.DESede$KeyGenerator.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: .line 156
aload 0 /* this */
iconst_0
putfield org.bouncycastle.jce.provider.symmetric.DESede$KeyGenerator.uninitialised:Z
3: .line 163
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield org.bouncycastle.jce.provider.symmetric.DESede$KeyGenerator.keySizeSet:Z
ifne 7
4: .line 165
aload 0 /* this */
getfield org.bouncycastle.jce.provider.symmetric.DESede$KeyGenerator.engine:Lorg/bouncycastle/crypto/CipherKeyGenerator;
invokevirtual org.bouncycastle.crypto.CipherKeyGenerator.generateKey:()[B
astore 1 /* k */
start local 1 // byte[] k
5: .line 167
aload 1 /* k */
iconst_0
aload 1 /* k */
bipush 16
bipush 8
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
6: .line 169
new javax.crypto.spec.SecretKeySpec
dup
aload 1 /* k */
aload 0 /* this */
getfield org.bouncycastle.jce.provider.symmetric.DESede$KeyGenerator.algName:Ljava/lang/String;
invokespecial javax.crypto.spec.SecretKeySpec.<init>:([BLjava/lang/String;)V
areturn
end local 1 // byte[] k
7: .line 173
StackMap locals:
StackMap stack:
new javax.crypto.spec.SecretKeySpec
dup
aload 0 /* this */
getfield org.bouncycastle.jce.provider.symmetric.DESede$KeyGenerator.engine:Lorg/bouncycastle/crypto/CipherKeyGenerator;
invokevirtual org.bouncycastle.crypto.CipherKeyGenerator.generateKey:()[B
aload 0 /* this */
getfield org.bouncycastle.jce.provider.symmetric.DESede$KeyGenerator.algName:Ljava/lang/String;
invokespecial javax.crypto.spec.SecretKeySpec.<init>:([BLjava/lang/String;)V
areturn
end local 0 // org.bouncycastle.jce.provider.symmetric.DESede$KeyGenerator this
LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/bouncycastle/jce/provider/symmetric/DESede$KeyGenerator;
5 7 1 k [B
}
SourceFile: "DESede.java"
NestHost: org.bouncycastle.jce.provider.symmetric.DESede
InnerClasses:
public KeyGenerator = org.bouncycastle.jce.provider.symmetric.DESede$KeyGenerator of org.bouncycastle.jce.provider.symmetric.DESede