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 // org.bouncycastle.jce.provider.JCESecretKeyFactory$DESPBEKeyFactory this
        start local 1 // java.lang.String algorithm
        start local 2 // org.bouncycastle.asn1.DERObjectIdentifier oid
        start local 3 // boolean forCipher
        start local 4 // int scheme
        start local 5 // int digest
        start local 6 // int keySize
        start local 7 // int ivSize
         0: .line 180
            aload 0 /* this */
            aload 1 /* algorithm */
            aload 2 /* oid */
            invokespecial org.bouncycastle.jce.provider.JCESecretKeyFactory.<init>:(Ljava/lang/String;Lorg/bouncycastle/asn1/DERObjectIdentifier;)V
         1: .line 182
            aload 0 /* this */
            iload 3 /* forCipher */
            putfield org.bouncycastle.jce.provider.JCESecretKeyFactory$DESPBEKeyFactory.forCipher:Z
         2: .line 183
            aload 0 /* this */
            iload 4 /* scheme */
            putfield org.bouncycastle.jce.provider.JCESecretKeyFactory$DESPBEKeyFactory.scheme:I
         3: .line 184
            aload 0 /* this */
            iload 5 /* digest */
            putfield org.bouncycastle.jce.provider.JCESecretKeyFactory$DESPBEKeyFactory.digest:I
         4: .line 185
            aload 0 /* this */
            iload 6 /* keySize */
            putfield org.bouncycastle.jce.provider.JCESecretKeyFactory$DESPBEKeyFactory.keySize:I
         5: .line 186
            aload 0 /* this */
            iload 7 /* ivSize */
            putfield org.bouncycastle.jce.provider.JCESecretKeyFactory$DESPBEKeyFactory.ivSize:I
         6: .line 187
            return
        end local 7 // int ivSize
        end local 6 // int keySize
        end local 5 // int digest
        end local 4 // int scheme
        end local 3 // boolean forCipher
        end local 2 // org.bouncycastle.asn1.DERObjectIdentifier oid
        end local 1 // java.lang.String algorithm
        end local 0 // org.bouncycastle.jce.provider.JCESecretKeyFactory$DESPBEKeyFactory this
      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 // org.bouncycastle.jce.provider.JCESecretKeyFactory$DESPBEKeyFactory this
        start local 1 // java.security.spec.KeySpec keySpec
         0: .line 193
            aload 1 /* keySpec */
            instanceof javax.crypto.spec.PBEKeySpec
            ifeq 14
         1: .line 195
            aload 1 /* keySpec */
            checkcast javax.crypto.spec.PBEKeySpec
            astore 2 /* pbeSpec */
        start local 2 // javax.crypto.spec.PBEKeySpec pbeSpec
         2: .line 198
            aload 2 /* pbeSpec */
            invokevirtual javax.crypto.spec.PBEKeySpec.getSalt:()[B
            ifnonnull 4
         3: .line 200
            new org.bouncycastle.jce.provider.JCEPBEKey
            dup
            aload 0 /* this */
            getfield org.bouncycastle.jce.provider.JCESecretKeyFactory$DESPBEKeyFactory.algName:Ljava/lang/String;
            aload 0 /* this */
            getfield org.bouncycastle.jce.provider.JCESecretKeyFactory$DESPBEKeyFactory.algOid:Lorg/bouncycastle/asn1/DERObjectIdentifier;
            aload 0 /* this */
            getfield org.bouncycastle.jce.provider.JCESecretKeyFactory$DESPBEKeyFactory.scheme:I
            aload 0 /* this */
            getfield org.bouncycastle.jce.provider.JCESecretKeyFactory$DESPBEKeyFactory.digest:I
            aload 0 /* this */
            getfield org.bouncycastle.jce.provider.JCESecretKeyFactory$DESPBEKeyFactory.keySize:I
            aload 0 /* this */
            getfield org.bouncycastle.jce.provider.JCESecretKeyFactory$DESPBEKeyFactory.ivSize:I
            aload 2 /* pbeSpec */
            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: .line 203
      StackMap locals: javax.crypto.spec.PBEKeySpec
      StackMap stack:
            aload 0 /* this */
            getfield org.bouncycastle.jce.provider.JCESecretKeyFactory$DESPBEKeyFactory.forCipher:Z
            ifeq 7
         5: .line 205
            aload 2 /* pbeSpec */
            aload 0 /* this */
            getfield org.bouncycastle.jce.provider.JCESecretKeyFactory$DESPBEKeyFactory.scheme:I
            aload 0 /* this */
            getfield org.bouncycastle.jce.provider.JCESecretKeyFactory$DESPBEKeyFactory.digest:I
            aload 0 /* this */
            getfield org.bouncycastle.jce.provider.JCESecretKeyFactory$DESPBEKeyFactory.keySize:I
            aload 0 /* this */
            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 /* param */
        start local 3 // org.bouncycastle.crypto.CipherParameters param
         6: .line 206
            goto 8
        end local 3 // org.bouncycastle.crypto.CipherParameters param
         7: .line 209
      StackMap locals:
      StackMap stack:
            aload 2 /* pbeSpec */
            aload 0 /* this */
            getfield org.bouncycastle.jce.provider.JCESecretKeyFactory$DESPBEKeyFactory.scheme:I
            aload 0 /* this */
            getfield org.bouncycastle.jce.provider.JCESecretKeyFactory$DESPBEKeyFactory.digest:I
            aload 0 /* this */
            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 /* param */
        start local 3 // org.bouncycastle.crypto.CipherParameters param
         8: .line 213
      StackMap locals: org.bouncycastle.crypto.CipherParameters
      StackMap stack:
            aload 3 /* param */
            instanceof org.bouncycastle.crypto.params.ParametersWithIV
            ifeq 11
         9: .line 215
            aload 3 /* param */
            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 /* kParam */
        start local 4 // org.bouncycastle.crypto.params.KeyParameter kParam
        10: .line 216
            goto 12
        end local 4 // org.bouncycastle.crypto.params.KeyParameter kParam
        11: .line 219
      StackMap locals:
      StackMap stack:
            aload 3 /* param */
            checkcast org.bouncycastle.crypto.params.KeyParameter
            astore 4 /* kParam */
        start local 4 // org.bouncycastle.crypto.params.KeyParameter kParam
        12: .line 222
      StackMap locals: org.bouncycastle.crypto.params.KeyParameter
      StackMap stack:
            aload 4 /* kParam */
            invokevirtual org.bouncycastle.crypto.params.KeyParameter.getKey:()[B
            invokestatic org.bouncycastle.crypto.params.DESParameters.setOddParity:([B)V
        13: .line 224
            new org.bouncycastle.jce.provider.JCEPBEKey
            dup
            aload 0 /* this */
            getfield org.bouncycastle.jce.provider.JCESecretKeyFactory$DESPBEKeyFactory.algName:Ljava/lang/String;
            aload 0 /* this */
            getfield org.bouncycastle.jce.provider.JCESecretKeyFactory$DESPBEKeyFactory.algOid:Lorg/bouncycastle/asn1/DERObjectIdentifier;
            aload 0 /* this */
            getfield org.bouncycastle.jce.provider.JCESecretKeyFactory$DESPBEKeyFactory.scheme:I
            aload 0 /* this */
            getfield org.bouncycastle.jce.provider.JCESecretKeyFactory$DESPBEKeyFactory.digest:I
            aload 0 /* this */
            getfield org.bouncycastle.jce.provider.JCESecretKeyFactory$DESPBEKeyFactory.keySize:I
            aload 0 /* this */
            getfield org.bouncycastle.jce.provider.JCESecretKeyFactory$DESPBEKeyFactory.ivSize:I
            aload 2 /* pbeSpec */
            aload 3 /* param */
            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 // org.bouncycastle.crypto.params.KeyParameter kParam
        end local 3 // org.bouncycastle.crypto.CipherParameters param
        end local 2 // javax.crypto.spec.PBEKeySpec pbeSpec
        14: .line 227
      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 // java.security.spec.KeySpec keySpec
        end local 0 // org.bouncycastle.jce.provider.JCESecretKeyFactory$DESPBEKeyFactory this
      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