public class org.bouncycastle.jce.provider.symmetric.DESede$KeyFactory extends org.bouncycastle.jce.provider.JCESecretKeyFactory
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.bouncycastle.jce.provider.symmetric.DESede$KeyFactory
super_class: org.bouncycastle.jce.provider.JCESecretKeyFactory
{
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
ldc "DESede"
aconst_null
invokespecial org.bouncycastle.jce.provider.JCESecretKeyFactory.<init>:(Ljava/lang/String;Lorg/bouncycastle/asn1/DERObjectIdentifier;)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/bouncycastle/jce/provider/symmetric/DESede$KeyFactory;
protected java.security.spec.KeySpec engineGetKeySpec(javax.crypto.SecretKey, java.lang.Class);
descriptor: (Ljavax/crypto/SecretKey;Ljava/lang/Class;)Ljava/security/spec/KeySpec;
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 2
ifnonnull 2
1: new java.security.spec.InvalidKeySpecException
dup
ldc "keySpec parameter is null"
invokespecial java.security.spec.InvalidKeySpecException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 1
ifnonnull 4
3: new java.security.spec.InvalidKeySpecException
dup
ldc "key parameter is null"
invokespecial java.security.spec.InvalidKeySpecException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
ldc Ljavax/crypto/spec/SecretKeySpec;
aload 2
invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
ifeq 6
5: new javax.crypto.spec.SecretKeySpec
dup
aload 1
invokeinterface javax.crypto.SecretKey.getEncoded:()[B
aload 0
getfield org.bouncycastle.jce.provider.symmetric.DESede$KeyFactory.algName:Ljava/lang/String;
invokespecial javax.crypto.spec.SecretKeySpec.<init>:([BLjava/lang/String;)V
areturn
6: StackMap locals:
StackMap stack:
ldc Ljavax/crypto/spec/DESedeKeySpec;
aload 2
invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
ifeq 18
7: aload 1
invokeinterface javax.crypto.SecretKey.getEncoded:()[B
astore 3
start local 3 8: aload 3
arraylength
bipush 16
if_icmpne 14
9: bipush 24
newarray 8
astore 4
start local 4 10: aload 3
iconst_0
aload 4
iconst_0
bipush 16
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
11: aload 3
iconst_0
aload 4
bipush 16
bipush 8
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
12: new javax.crypto.spec.DESedeKeySpec
dup
aload 4
invokespecial javax.crypto.spec.DESedeKeySpec.<init>:([B)V
13: areturn
end local 4 14: StackMap locals: byte[]
StackMap stack:
new javax.crypto.spec.DESedeKeySpec
dup
aload 3
invokespecial javax.crypto.spec.DESedeKeySpec.<init>:([B)V
15: areturn
16: StackMap locals:
StackMap stack: java.lang.Exception
astore 4
start local 4 17: new java.security.spec.InvalidKeySpecException
dup
aload 4
invokevirtual java.lang.Exception.toString:()Ljava/lang/String;
invokespecial java.security.spec.InvalidKeySpecException.<init>:(Ljava/lang/String;)V
athrow
end local 4 end local 3 18: StackMap locals:
StackMap stack:
new java.security.spec.InvalidKeySpecException
dup
ldc "Invalid KeySpec"
invokespecial java.security.spec.InvalidKeySpecException.<init>:(Ljava/lang/String;)V
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Lorg/bouncycastle/jce/provider/symmetric/DESede$KeyFactory;
0 19 1 key Ljavax/crypto/SecretKey;
0 19 2 keySpec Ljava/lang/Class;
8 18 3 bytes [B
10 14 4 longKey [B
17 18 4 e Ljava/lang/Exception;
Exception table:
from to target type
8 13 16 Class java.lang.Exception
14 15 16 Class java.lang.Exception
Exceptions:
throws java.security.spec.InvalidKeySpecException
MethodParameters:
Name Flags
key
keySpec
protected javax.crypto.SecretKey engineGenerateSecret(java.security.spec.KeySpec);
descriptor: (Ljava/security/spec/KeySpec;)Ljavax/crypto/SecretKey;
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: aload 1
instanceof javax.crypto.spec.DESedeKeySpec
ifeq 3
1: aload 1
checkcast javax.crypto.spec.DESedeKeySpec
astore 2
start local 2 2: new javax.crypto.spec.SecretKeySpec
dup
aload 2
invokevirtual javax.crypto.spec.DESedeKeySpec.getKey:()[B
ldc "DESede"
invokespecial javax.crypto.spec.SecretKeySpec.<init>:([BLjava/lang/String;)V
areturn
end local 2 3: StackMap locals:
StackMap stack:
aload 0
aload 1
invokespecial org.bouncycastle.jce.provider.JCESecretKeyFactory.engineGenerateSecret:(Ljava/security/spec/KeySpec;)Ljavax/crypto/SecretKey;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/bouncycastle/jce/provider/symmetric/DESede$KeyFactory;
0 4 1 keySpec Ljava/security/spec/KeySpec;
2 3 2 desKeySpec Ljavax/crypto/spec/DESedeKeySpec;
Exceptions:
throws java.security.spec.InvalidKeySpecException
MethodParameters:
Name Flags
keySpec
}
SourceFile: "DESede.java"
NestHost: org.bouncycastle.jce.provider.symmetric.DESede
InnerClasses:
public KeyFactory = org.bouncycastle.jce.provider.symmetric.DESede$KeyFactory of org.bouncycastle.jce.provider.symmetric.DESede