public class org.bouncycastle.jce.provider.JCESecretKeyFactory$DESPBEKeyFactory 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.JCESecretKeyFactory$DESPBEKeyFactory
super_class: org.bouncycastle.jce.provider.JCESecretKeyFactory
{
private boolean forCipher;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private int scheme;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int digest;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int keySize;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int ivSize;
descriptor: I
flags: (0x0002) ACC_PRIVATE
public void <init>(java.lang.String, org.bouncycastle.asn1.DERObjectIdentifier, boolean, int, int, int, int);
descriptor: (Ljava/lang/String;Lorg/bouncycastle/asn1/DERObjectIdentifier;ZIIII)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=8, args_size=8
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 0: aload 0
aload 1
aload 2
invokespecial org.bouncycastle.jce.provider.JCESecretKeyFactory.<init>:(Ljava/lang/String;Lorg/bouncycastle/asn1/DERObjectIdentifier;)V
1: aload 0
iload 3
putfield org.bouncycastle.jce.provider.JCESecretKeyFactory$DESPBEKeyFactory.forCipher:Z
2: aload 0
iload 4
putfield org.bouncycastle.jce.provider.JCESecretKeyFactory$DESPBEKeyFactory.scheme:I
3: aload 0
iload 5
putfield org.bouncycastle.jce.provider.JCESecretKeyFactory$DESPBEKeyFactory.digest:I
4: aload 0
iload 6
putfield org.bouncycastle.jce.provider.JCESecretKeyFactory$DESPBEKeyFactory.keySize:I
5: aload 0
iload 7
putfield org.bouncycastle.jce.provider.JCESecretKeyFactory$DESPBEKeyFactory.ivSize:I
6: return
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 7 0 this Lorg/bouncycastle/jce/provider/JCESecretKeyFactory$DESPBEKeyFactory;
0 7 1 algorithm Ljava/lang/String;
0 7 2 oid Lorg/bouncycastle/asn1/DERObjectIdentifier;
0 7 3 forCipher Z
0 7 4 scheme I
0 7 5 digest I
0 7 6 keySize I
0 7 7 ivSize I
MethodParameters:
Name Flags
algorithm
oid
forCipher
scheme
digest
keySize
ivSize
protected javax.crypto.SecretKey engineGenerateSecret(java.security.spec.KeySpec);
descriptor: (Ljava/security/spec/KeySpec;)Ljavax/crypto/SecretKey;
flags: (0x0004) ACC_PROTECTED
Code:
stack=10, locals=5, args_size=2
start local 0 start local 1 0: aload 1
instanceof javax.crypto.spec.PBEKeySpec
ifeq 14
1: aload 1
checkcast javax.crypto.spec.PBEKeySpec
astore 2
start local 2 2: aload 2
invokevirtual javax.crypto.spec.PBEKeySpec.getSalt:()[B
ifnonnull 4
3: new org.bouncycastle.jce.provider.JCEPBEKey
dup
aload 0
getfield org.bouncycastle.jce.provider.JCESecretKeyFactory$DESPBEKeyFactory.algName:Ljava/lang/String;
aload 0
getfield org.bouncycastle.jce.provider.JCESecretKeyFactory$DESPBEKeyFactory.algOid:Lorg/bouncycastle/asn1/DERObjectIdentifier;
aload 0
getfield org.bouncycastle.jce.provider.JCESecretKeyFactory$DESPBEKeyFactory.scheme:I
aload 0
getfield org.bouncycastle.jce.provider.JCESecretKeyFactory$DESPBEKeyFactory.digest:I
aload 0
getfield org.bouncycastle.jce.provider.JCESecretKeyFactory$DESPBEKeyFactory.keySize:I
aload 0
getfield org.bouncycastle.jce.provider.JCESecretKeyFactory$DESPBEKeyFactory.ivSize:I
aload 2
aconst_null
invokespecial org.bouncycastle.jce.provider.JCEPBEKey.<init>:(Ljava/lang/String;Lorg/bouncycastle/asn1/DERObjectIdentifier;IIIILjavax/crypto/spec/PBEKeySpec;Lorg/bouncycastle/crypto/CipherParameters;)V
areturn
4: StackMap locals: javax.crypto.spec.PBEKeySpec
StackMap stack:
aload 0
getfield org.bouncycastle.jce.provider.JCESecretKeyFactory$DESPBEKeyFactory.forCipher:Z
ifeq 7
5: aload 2
aload 0
getfield org.bouncycastle.jce.provider.JCESecretKeyFactory$DESPBEKeyFactory.scheme:I
aload 0
getfield org.bouncycastle.jce.provider.JCESecretKeyFactory$DESPBEKeyFactory.digest:I
aload 0
getfield org.bouncycastle.jce.provider.JCESecretKeyFactory$DESPBEKeyFactory.keySize:I
aload 0
getfield org.bouncycastle.jce.provider.JCESecretKeyFactory$DESPBEKeyFactory.ivSize:I
invokestatic org.bouncycastle.jce.provider.PBE$Util.makePBEParameters:(Ljavax/crypto/spec/PBEKeySpec;IIII)Lorg/bouncycastle/crypto/CipherParameters;
astore 3
start local 3 6: goto 8
end local 3 7: StackMap locals:
StackMap stack:
aload 2
aload 0
getfield org.bouncycastle.jce.provider.JCESecretKeyFactory$DESPBEKeyFactory.scheme:I
aload 0
getfield org.bouncycastle.jce.provider.JCESecretKeyFactory$DESPBEKeyFactory.digest:I
aload 0
getfield org.bouncycastle.jce.provider.JCESecretKeyFactory$DESPBEKeyFactory.keySize:I
invokestatic org.bouncycastle.jce.provider.PBE$Util.makePBEMacParameters:(Ljavax/crypto/spec/PBEKeySpec;III)Lorg/bouncycastle/crypto/CipherParameters;
astore 3
start local 3 8: StackMap locals: org.bouncycastle.crypto.CipherParameters
StackMap stack:
aload 3
instanceof org.bouncycastle.crypto.params.ParametersWithIV
ifeq 11
9: aload 3
checkcast org.bouncycastle.crypto.params.ParametersWithIV
invokevirtual org.bouncycastle.crypto.params.ParametersWithIV.getParameters:()Lorg/bouncycastle/crypto/CipherParameters;
checkcast org.bouncycastle.crypto.params.KeyParameter
astore 4
start local 4 10: goto 12
end local 4 11: StackMap locals:
StackMap stack:
aload 3
checkcast org.bouncycastle.crypto.params.KeyParameter
astore 4
start local 4 12: StackMap locals: org.bouncycastle.crypto.params.KeyParameter
StackMap stack:
aload 4
invokevirtual org.bouncycastle.crypto.params.KeyParameter.getKey:()[B
invokestatic org.bouncycastle.crypto.params.DESParameters.setOddParity:([B)V
13: new org.bouncycastle.jce.provider.JCEPBEKey
dup
aload 0
getfield org.bouncycastle.jce.provider.JCESecretKeyFactory$DESPBEKeyFactory.algName:Ljava/lang/String;
aload 0
getfield org.bouncycastle.jce.provider.JCESecretKeyFactory$DESPBEKeyFactory.algOid:Lorg/bouncycastle/asn1/DERObjectIdentifier;
aload 0
getfield org.bouncycastle.jce.provider.JCESecretKeyFactory$DESPBEKeyFactory.scheme:I
aload 0
getfield org.bouncycastle.jce.provider.JCESecretKeyFactory$DESPBEKeyFactory.digest:I
aload 0
getfield org.bouncycastle.jce.provider.JCESecretKeyFactory$DESPBEKeyFactory.keySize:I
aload 0
getfield org.bouncycastle.jce.provider.JCESecretKeyFactory$DESPBEKeyFactory.ivSize:I
aload 2
aload 3
invokespecial org.bouncycastle.jce.provider.JCEPBEKey.<init>:(Ljava/lang/String;Lorg/bouncycastle/asn1/DERObjectIdentifier;IIIILjavax/crypto/spec/PBEKeySpec;Lorg/bouncycastle/crypto/CipherParameters;)V
areturn
end local 4 end local 3 end local 2 14: 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 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lorg/bouncycastle/jce/provider/JCESecretKeyFactory$DESPBEKeyFactory;
0 15 1 keySpec Ljava/security/spec/KeySpec;
2 14 2 pbeSpec Ljavax/crypto/spec/PBEKeySpec;
6 7 3 param Lorg/bouncycastle/crypto/CipherParameters;
8 14 3 param Lorg/bouncycastle/crypto/CipherParameters;
10 11 4 kParam Lorg/bouncycastle/crypto/params/KeyParameter;
12 14 4 kParam Lorg/bouncycastle/crypto/params/KeyParameter;
Exceptions:
throws java.security.spec.InvalidKeySpecException
MethodParameters:
Name Flags
keySpec
}
SourceFile: "JCESecretKeyFactory.java"
NestHost: org.bouncycastle.jce.provider.JCESecretKeyFactory
InnerClasses:
public DESPBEKeyFactory = org.bouncycastle.jce.provider.JCESecretKeyFactory$DESPBEKeyFactory of org.bouncycastle.jce.provider.JCESecretKeyFactory
public Util = org.bouncycastle.jce.provider.PBE$Util of org.bouncycastle.jce.provider.PBE