final class com.sun.crypto.provider.PKCS12PBECipherCore
  minor version: 0
  major version: 59
  flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
  this_class: com.sun.crypto.provider.PKCS12PBECipherCore
  super_class: java.lang.Object
{
  private com.sun.crypto.provider.CipherCore cipher;
    descriptor: Lcom/sun/crypto/provider/CipherCore;
    flags: (0x0002) ACC_PRIVATE

  private int blockSize;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private int keySize;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private int keyLength;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private java.lang.String algo;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private java.lang.String pbeAlgo;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private byte[] salt;
    descriptor: [B
    flags: (0x0002) ACC_PRIVATE

  private int iCount;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private static final int DEFAULT_SALT_LENGTH;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 20

  private static final int DEFAULT_COUNT;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 1024

  static final int CIPHER_KEY;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 1

  static final int CIPHER_IV;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 2

  static final int MAC_KEY;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 3

  static byte[] derive(char[], byte[], int, int, int);
    descriptor: ([C[BIII)[B
    flags: (0x0008) ACC_STATIC
    Code:
      stack=7, locals=5, args_size=5
        start local 0 // char[] chars
        start local 1 // byte[] salt
        start local 2 // int ic
        start local 3 // int n
        start local 4 // int type
         0: .line 69
            aload 0 /* chars */
            aload 1 /* salt */
            iload 2 /* ic */
            iload 3 /* n */
            iload 4 /* type */
            ldc "SHA-1"
            bipush 64
            invokestatic com.sun.crypto.provider.PKCS12PBECipherCore.derive:([C[BIIILjava/lang/String;I)[B
            areturn
        end local 4 // int type
        end local 3 // int n
        end local 2 // int ic
        end local 1 // byte[] salt
        end local 0 // char[] chars
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0  chars  [C
            0    1     1   salt  [B
            0    1     2     ic  I
            0    1     3      n  I
            0    1     4   type  I
    MethodParameters:
       Name  Flags
      chars  
      salt   
      ic     
      n      
      type   

  static byte[] derive(char[], byte[], int, int, int, java.lang.String, int);
    descriptor: ([C[BIIILjava/lang/String;I)[B
    flags: (0x0008) ACC_STATIC
    Code:
      stack=6, locals=26, args_size=7
        start local 0 // char[] chars
        start local 1 // byte[] salt
        start local 2 // int ic
        start local 3 // int n
        start local 4 // int type
        start local 5 // java.lang.String hashAlgo
        start local 6 // int blockLength
         0: .line 78
            aload 0 /* chars */
            arraylength
            iconst_2
            imul
            istore 7 /* length */
        start local 7 // int length
         1: .line 79
            iload 7 /* length */
            iconst_2
            if_icmpne 5
            aload 0 /* chars */
            iconst_0
            caload
            ifne 5
         2: .line 80
            iconst_0
            newarray 5
            astore 0 /* chars */
         3: .line 81
            iconst_0
            istore 7 /* length */
         4: .line 82
            goto 6
         5: .line 83
      StackMap locals: int
      StackMap stack:
            iinc 7 /* length */ 2
         6: .line 86
      StackMap locals:
      StackMap stack:
            iload 7 /* length */
            newarray 8
            astore 8 /* passwd */
        start local 8 // byte[] passwd
         7: .line 87
            iconst_0
            istore 9 /* i */
        start local 9 // int i
         8: iconst_0
            istore 10 /* j */
        start local 10 // int j
         9: goto 13
        10: .line 88
      StackMap locals: byte[] int int
      StackMap stack:
            aload 8 /* passwd */
            iload 10 /* j */
            aload 0 /* chars */
            iload 9 /* i */
            caload
            bipush 8
            iushr
            sipush 255
            iand
            i2b
            bastore
        11: .line 89
            aload 8 /* passwd */
            iload 10 /* j */
            iconst_1
            iadd
            aload 0 /* chars */
            iload 9 /* i */
            caload
            sipush 255
            iand
            i2b
            bastore
        12: .line 87
            iinc 9 /* i */ 1
            iinc 10 /* j */ 2
      StackMap locals:
      StackMap stack:
        13: iload 9 /* i */
            aload 0 /* chars */
            arraylength
            if_icmplt 10
        end local 10 // int j
        end local 9 // int i
        14: .line 91
            iload 3 /* n */
            newarray 8
            astore 9 /* key */
        start local 9 // byte[] key
        15: .line 94
            aload 5 /* hashAlgo */
            invokestatic java.security.MessageDigest.getInstance:(Ljava/lang/String;)Ljava/security/MessageDigest;
            astore 10 /* sha */
        start local 10 // java.security.MessageDigest sha
        16: .line 96
            iload 6 /* blockLength */
            istore 11 /* v */
        start local 11 // int v
        17: .line 97
            aload 10 /* sha */
            invokevirtual java.security.MessageDigest.getDigestLength:()I
            istore 12 /* u */
        start local 12 // int u
        18: .line 98
            iload 3 /* n */
            iload 12 /* u */
            invokestatic com.sun.crypto.provider.PKCS12PBECipherCore.roundup:(II)I
            iload 12 /* u */
            idiv
            istore 13 /* c */
        start local 13 // int c
        19: .line 99
            iload 11 /* v */
            newarray 8
            astore 14 /* D */
        start local 14 // byte[] D
        20: .line 100
            aload 1 /* salt */
            arraylength
            iload 11 /* v */
            invokestatic com.sun.crypto.provider.PKCS12PBECipherCore.roundup:(II)I
            istore 15 /* s */
        start local 15 // int s
        21: .line 101
            aload 8 /* passwd */
            arraylength
            iload 11 /* v */
            invokestatic com.sun.crypto.provider.PKCS12PBECipherCore.roundup:(II)I
            istore 16 /* p */
        start local 16 // int p
        22: .line 102
            iload 15 /* s */
            iload 16 /* p */
            iadd
            newarray 8
            astore 17 /* I */
        start local 17 // byte[] I
        23: .line 104
            aload 14 /* D */
            iload 4 /* type */
            i2b
            invokestatic java.util.Arrays.fill:([BB)V
        24: .line 105
            aload 1 /* salt */
            aload 17 /* I */
            iconst_0
            iload 15 /* s */
            invokestatic com.sun.crypto.provider.PKCS12PBECipherCore.concat:([B[BII)V
        25: .line 106
            aload 8 /* passwd */
            aload 17 /* I */
            iload 15 /* s */
            iload 16 /* p */
            invokestatic com.sun.crypto.provider.PKCS12PBECipherCore.concat:([B[BII)V
        26: .line 107
            aload 8 /* passwd */
            iconst_0
            invokestatic java.util.Arrays.fill:([BB)V
        27: .line 110
            iload 11 /* v */
            newarray 8
            astore 19 /* B */
        start local 19 // byte[] B
        28: .line 111
            iload 11 /* v */
            newarray 8
            astore 20 /* tmp */
        start local 20 // byte[] tmp
        29: .line 113
            iconst_0
            istore 21 /* i */
        start local 21 // int i
        30: .line 115
      StackMap locals: char[] byte[] int int int java.lang.String int int byte[] byte[] java.security.MessageDigest int int int byte[] int int byte[] top byte[] byte[] int
      StackMap stack:
            aload 10 /* sha */
            aload 14 /* D */
            invokevirtual java.security.MessageDigest.update:([B)V
        31: .line 116
            aload 10 /* sha */
            aload 17 /* I */
            invokevirtual java.security.MessageDigest.update:([B)V
        32: .line 117
            aload 10 /* sha */
            invokevirtual java.security.MessageDigest.digest:()[B
            astore 18 /* Ai */
        start local 18 // byte[] Ai
        33: .line 118
            iconst_1
            istore 22 /* r */
        start local 22 // int r
        34: goto 37
        35: .line 119
      StackMap locals: char[] byte[] int int int java.lang.String int int byte[] byte[] java.security.MessageDigest int int int byte[] int int byte[] byte[] byte[] byte[] int int
      StackMap stack:
            aload 10 /* sha */
            aload 18 /* Ai */
            invokevirtual java.security.MessageDigest.digest:([B)[B
            astore 18 /* Ai */
        36: .line 118
            iinc 22 /* r */ 1
      StackMap locals:
      StackMap stack:
        37: iload 22 /* r */
            iload 2 /* ic */
            if_icmplt 35
        end local 22 // int r
        38: .line 120
            aload 18 /* Ai */
            iconst_0
            aload 9 /* key */
            iload 12 /* u */
            iload 21 /* i */
            imul
            iload 3 /* n */
            iload 12 /* u */
            invokestatic java.lang.Math.min:(II)I
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        39: .line 121
            iload 21 /* i */
            iconst_1
            iadd
            iload 13 /* c */
            if_icmpne 41
        40: .line 122
            goto 64
        41: .line 123
      StackMap locals:
      StackMap stack:
            aload 18 /* Ai */
            aload 19 /* B */
            iconst_0
            aload 19 /* B */
            arraylength
            invokestatic com.sun.crypto.provider.PKCS12PBECipherCore.concat:([B[BII)V
        42: .line 125
            new java.math.BigInteger
            dup
            iconst_1
            aload 19 /* B */
            invokespecial java.math.BigInteger.<init>:(I[B)V
            getstatic java.math.BigInteger.ONE:Ljava/math/BigInteger;
            invokevirtual java.math.BigInteger.add:(Ljava/math/BigInteger;)Ljava/math/BigInteger;
            astore 22 /* B1 */
        start local 22 // java.math.BigInteger B1
        43: .line 127
            iconst_0
            istore 23 /* j */
        start local 23 // int j
        44: goto 59
        45: .line 131
      StackMap locals: java.math.BigInteger int
      StackMap stack:
            aload 20 /* tmp */
            arraylength
            iload 11 /* v */
            if_icmpeq 47
        46: .line 132
            iload 11 /* v */
            newarray 8
            astore 20 /* tmp */
        47: .line 133
      StackMap locals:
      StackMap stack:
            aload 17 /* I */
            iload 23 /* j */
            aload 20 /* tmp */
            iconst_0
            iload 11 /* v */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        48: .line 134
            new java.math.BigInteger
            dup
            iconst_1
            aload 20 /* tmp */
            invokespecial java.math.BigInteger.<init>:(I[B)V
            astore 24 /* Ij */
        start local 24 // java.math.BigInteger Ij
        49: .line 135
            aload 24 /* Ij */
            aload 22 /* B1 */
            invokevirtual java.math.BigInteger.add:(Ljava/math/BigInteger;)Ljava/math/BigInteger;
            astore 24 /* Ij */
        50: .line 136
            aload 24 /* Ij */
            invokevirtual java.math.BigInteger.toByteArray:()[B
            astore 20 /* tmp */
        51: .line 137
            aload 20 /* tmp */
            arraylength
            iload 11 /* v */
            isub
            istore 25 /* trunc */
        start local 25 // int trunc
        52: .line 138
            iload 25 /* trunc */
            iflt 55
        53: .line 139
            aload 20 /* tmp */
            iload 25 /* trunc */
            aload 17 /* I */
            iload 23 /* j */
            iload 11 /* v */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        54: .line 140
            goto 58
      StackMap locals: java.math.BigInteger int
      StackMap stack:
        55: iload 25 /* trunc */
            ifge 58
        56: .line 141
            aload 17 /* I */
            iload 23 /* j */
            iload 23 /* j */
            iload 25 /* trunc */
            ineg
            iadd
            iconst_0
            invokestatic java.util.Arrays.fill:([BIIB)V
        57: .line 142
            aload 20 /* tmp */
            iconst_0
            aload 17 /* I */
            iload 23 /* j */
            iload 25 /* trunc */
            ineg
            iadd
            aload 20 /* tmp */
            arraylength
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        end local 25 // int trunc
        end local 24 // java.math.BigInteger Ij
        58: .line 127
      StackMap locals:
      StackMap stack:
            iload 23 /* j */
            iload 11 /* v */
            iadd
            istore 23 /* j */
      StackMap locals:
      StackMap stack:
        59: iload 23 /* j */
            aload 17 /* I */
            arraylength
            if_icmplt 45
        end local 23 // int j
        end local 22 // java.math.BigInteger B1
        60: .line 114
            iinc 21 /* i */ 1
            iload 3 /* n */
            iload 12 /* u */
            isub
            istore 3 /* n */
        end local 18 // byte[] Ai
        61: goto 30
        end local 21 // int i
        end local 20 // byte[] tmp
        end local 19 // byte[] B
        end local 17 // byte[] I
        end local 16 // int p
        end local 15 // int s
        end local 14 // byte[] D
        end local 13 // int c
        end local 12 // int u
        end local 11 // int v
        end local 10 // java.security.MessageDigest sha
        62: .line 146
      StackMap locals: char[] byte[] int int int java.lang.String int int byte[] byte[]
      StackMap stack: java.lang.Exception
            astore 10 /* e */
        start local 10 // java.lang.Exception e
        63: .line 147
            new java.lang.RuntimeException
            dup
            new java.lang.StringBuilder
            dup
            ldc "internal error: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 10 /* e */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
            athrow
        end local 10 // java.lang.Exception e
        64: .line 149
      StackMap locals:
      StackMap stack:
            aload 9 /* key */
            areturn
        end local 9 // byte[] key
        end local 8 // byte[] passwd
        end local 7 // int length
        end local 6 // int blockLength
        end local 5 // java.lang.String hashAlgo
        end local 4 // int type
        end local 3 // int n
        end local 2 // int ic
        end local 1 // byte[] salt
        end local 0 // char[] chars
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   65     0        chars  [C
            0   65     1         salt  [B
            0   65     2           ic  I
            0   65     3            n  I
            0   65     4         type  I
            0   65     5     hashAlgo  Ljava/lang/String;
            0   65     6  blockLength  I
            1   65     7       length  I
            7   65     8       passwd  [B
            8   14     9            i  I
            9   14    10            j  I
           15   65     9          key  [B
           16   62    10          sha  Ljava/security/MessageDigest;
           17   62    11            v  I
           18   62    12            u  I
           19   62    13            c  I
           20   62    14            D  [B
           21   62    15            s  I
           22   62    16            p  I
           23   62    17            I  [B
           33   61    18           Ai  [B
           28   62    19            B  [B
           29   62    20          tmp  [B
           30   62    21            i  I
           34   38    22            r  I
           43   60    22           B1  Ljava/math/BigInteger;
           44   60    23            j  I
           49   58    24           Ij  Ljava/math/BigInteger;
           52   58    25        trunc  I
           63   64    10            e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
          15    62      62  Class java.lang.Exception
    MethodParameters:
             Name  Flags
      chars        
      salt         
      ic           
      n            
      type         
      hashAlgo     
      blockLength  

  private static int roundup(int, int);
    descriptor: (II)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // int x
        start local 1 // int y
         0: .line 153
            iload 0 /* x */
            iload 1 /* y */
            iconst_1
            isub
            iadd
            iload 1 /* y */
            idiv
            iload 1 /* y */
            imul
            ireturn
        end local 1 // int y
        end local 0 // int x
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     x  I
            0    1     1     y  I
    MethodParameters:
      Name  Flags
      x     
      y     

  private static void concat(byte[], byte[], int, int);
    descriptor: ([B[BII)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=6, locals=7, args_size=4
        start local 0 // byte[] src
        start local 1 // byte[] dst
        start local 2 // int start
        start local 3 // int len
         0: .line 157
            aload 0 /* src */
            arraylength
            ifne 2
         1: .line 158
            return
         2: .line 160
      StackMap locals:
      StackMap stack:
            iload 3 /* len */
            aload 0 /* src */
            arraylength
            idiv
            istore 4 /* loop */
        start local 4 // int loop
         3: .line 162
            iconst_0
            istore 6 /* i */
        start local 6 // int i
         4: iconst_0
            istore 5 /* off */
        start local 5 // int off
         5: goto 8
         6: .line 163
      StackMap locals: int int int
      StackMap stack:
            aload 0 /* src */
            iconst_0
            aload 1 /* dst */
            iload 5 /* off */
            iload 2 /* start */
            iadd
            aload 0 /* src */
            arraylength
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         7: .line 162
            iinc 6 /* i */ 1
            iload 5 /* off */
            aload 0 /* src */
            arraylength
            iadd
            istore 5 /* off */
      StackMap locals:
      StackMap stack:
         8: iload 6 /* i */
            iload 4 /* loop */
            if_icmplt 6
         9: .line 164
            aload 0 /* src */
            iconst_0
            aload 1 /* dst */
            iload 5 /* off */
            iload 2 /* start */
            iadd
            iload 3 /* len */
            iload 5 /* off */
            isub
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        10: .line 165
            return
        end local 6 // int i
        end local 5 // int off
        end local 4 // int loop
        end local 3 // int len
        end local 2 // int start
        end local 1 // byte[] dst
        end local 0 // byte[] src
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   11     0    src  [B
            0   11     1    dst  [B
            0   11     2  start  I
            0   11     3    len  I
            3   11     4   loop  I
            5   11     5    off  I
            4   11     6      i  I
    MethodParameters:
       Name  Flags
      src    
      dst    
      start  
      len    

  void <init>(java.lang.String, int);
    descriptor: (Ljava/lang/String;I)V
    flags: (0x0000) 
    Code:
      stack=5, locals=4, args_size=3
        start local 0 // com.sun.crypto.provider.PKCS12PBECipherCore this
        start local 1 // java.lang.String symmCipherAlg
        start local 2 // int defKeySize
         0: .line 167
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 54
            aload 0 /* this */
            aconst_null
            putfield com.sun.crypto.provider.PKCS12PBECipherCore.algo:Ljava/lang/String;
         2: .line 55
            aload 0 /* this */
            aconst_null
            putfield com.sun.crypto.provider.PKCS12PBECipherCore.pbeAlgo:Ljava/lang/String;
         3: .line 56
            aload 0 /* this */
            aconst_null
            putfield com.sun.crypto.provider.PKCS12PBECipherCore.salt:[B
         4: .line 57
            aload 0 /* this */
            iconst_0
            putfield com.sun.crypto.provider.PKCS12PBECipherCore.iCount:I
         5: .line 170
            aload 0 /* this */
            aload 1 /* symmCipherAlg */
            putfield com.sun.crypto.provider.PKCS12PBECipherCore.algo:Ljava/lang/String;
         6: .line 171
            aload 0 /* this */
            iload 2 /* defKeySize */
            bipush 8
            imul
            putfield com.sun.crypto.provider.PKCS12PBECipherCore.keyLength:I
         7: .line 172
            aload 0 /* this */
            getfield com.sun.crypto.provider.PKCS12PBECipherCore.algo:Ljava/lang/String;
            ldc "RC4"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 10
         8: .line 173
            aload 0 /* this */
            new java.lang.StringBuilder
            dup
            ldc "PBEWithSHA1AndRC4_"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield com.sun.crypto.provider.PKCS12PBECipherCore.keyLength:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            putfield com.sun.crypto.provider.PKCS12PBECipherCore.pbeAlgo:Ljava/lang/String;
         9: .line 174
            goto 29
        10: .line 175
      StackMap locals: com.sun.crypto.provider.PKCS12PBECipherCore java.lang.String int
      StackMap stack:
            aconst_null
            astore 3 /* symmCipher */
        start local 3 // com.sun.crypto.provider.SymmetricCipher symmCipher
        11: .line 176
            aload 0 /* this */
            getfield com.sun.crypto.provider.PKCS12PBECipherCore.algo:Ljava/lang/String;
            ldc "DESede"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 16
        12: .line 177
            new com.sun.crypto.provider.DESedeCrypt
            dup
            invokespecial com.sun.crypto.provider.DESedeCrypt.<init>:()V
            astore 3 /* symmCipher */
        13: .line 178
            aload 0 /* this */
            ldc "PBEWithSHA1AndDESede"
            putfield com.sun.crypto.provider.PKCS12PBECipherCore.pbeAlgo:Ljava/lang/String;
        14: .line 179
            aload 0 /* this */
            bipush 112
            putfield com.sun.crypto.provider.PKCS12PBECipherCore.keyLength:I
        15: .line 180
            goto 23
      StackMap locals: com.sun.crypto.provider.SymmetricCipher
      StackMap stack:
        16: aload 0 /* this */
            getfield com.sun.crypto.provider.PKCS12PBECipherCore.algo:Ljava/lang/String;
            ldc "RC2"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 20
        17: .line 181
            new com.sun.crypto.provider.RC2Crypt
            dup
            invokespecial com.sun.crypto.provider.RC2Crypt.<init>:()V
            astore 3 /* symmCipher */
        18: .line 182
            aload 0 /* this */
            new java.lang.StringBuilder
            dup
            ldc "PBEWithSHA1AndRC2_"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield com.sun.crypto.provider.PKCS12PBECipherCore.keyLength:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            putfield com.sun.crypto.provider.PKCS12PBECipherCore.pbeAlgo:Ljava/lang/String;
        19: .line 183
            goto 23
        20: .line 184
      StackMap locals:
      StackMap stack:
            new java.security.NoSuchAlgorithmException
            dup
            new java.lang.StringBuilder
            dup
            ldc "No Cipher implementation for PBEWithSHA1And"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        21: .line 185
            aload 0 /* this */
            getfield com.sun.crypto.provider.PKCS12PBECipherCore.algo:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        22: .line 184
            invokespecial java.security.NoSuchAlgorithmException.<init>:(Ljava/lang/String;)V
            athrow
        23: .line 187
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 3 /* symmCipher */
            invokevirtual com.sun.crypto.provider.SymmetricCipher.getBlockSize:()I
            putfield com.sun.crypto.provider.PKCS12PBECipherCore.blockSize:I
        24: .line 188
            aload 0 /* this */
            new com.sun.crypto.provider.CipherCore
            dup
            aload 3 /* symmCipher */
            aload 0 /* this */
            getfield com.sun.crypto.provider.PKCS12PBECipherCore.blockSize:I
            invokespecial com.sun.crypto.provider.CipherCore.<init>:(Lcom/sun/crypto/provider/SymmetricCipher;I)V
            putfield com.sun.crypto.provider.PKCS12PBECipherCore.cipher:Lcom/sun/crypto/provider/CipherCore;
        25: .line 189
            aload 0 /* this */
            getfield com.sun.crypto.provider.PKCS12PBECipherCore.cipher:Lcom/sun/crypto/provider/CipherCore;
            ldc "CBC"
            invokevirtual com.sun.crypto.provider.CipherCore.setMode:(Ljava/lang/String;)V
        26: .line 191
            aload 0 /* this */
            getfield com.sun.crypto.provider.PKCS12PBECipherCore.cipher:Lcom/sun/crypto/provider/CipherCore;
            ldc "PKCS5Padding"
            invokevirtual com.sun.crypto.provider.CipherCore.setPadding:(Ljava/lang/String;)V
        27: .line 192
            goto 29
      StackMap locals:
      StackMap stack: javax.crypto.NoSuchPaddingException
        28: pop
        end local 3 // com.sun.crypto.provider.SymmetricCipher symmCipher
        29: .line 196
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 2 /* defKeySize */
            putfield com.sun.crypto.provider.PKCS12PBECipherCore.keySize:I
        30: .line 197
            return
        end local 2 // int defKeySize
        end local 1 // java.lang.String symmCipherAlg
        end local 0 // com.sun.crypto.provider.PKCS12PBECipherCore this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   31     0           this  Lcom/sun/crypto/provider/PKCS12PBECipherCore;
            0   31     1  symmCipherAlg  Ljava/lang/String;
            0   31     2     defKeySize  I
           11   29     3     symmCipher  Lcom/sun/crypto/provider/SymmetricCipher;
      Exception table:
        from    to  target  type
          26    27      28  Class javax.crypto.NoSuchPaddingException
    Exceptions:
      throws java.security.NoSuchAlgorithmException
    MethodParameters:
               Name  Flags
      symmCipherAlg  
      defKeySize     

  void implSetMode(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0000) 
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // com.sun.crypto.provider.PKCS12PBECipherCore this
        start local 1 // java.lang.String mode
         0: .line 200
            aload 1 /* mode */
            ifnull 4
            aload 1 /* mode */
            ldc "CBC"
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifne 4
         1: .line 201
            new java.security.NoSuchAlgorithmException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Invalid cipher mode: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         2: .line 202
            aload 1 /* mode */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         3: .line 201
            invokespecial java.security.NoSuchAlgorithmException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 204
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.lang.String mode
        end local 0 // com.sun.crypto.provider.PKCS12PBECipherCore this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lcom/sun/crypto/provider/PKCS12PBECipherCore;
            0    5     1  mode  Ljava/lang/String;
    Exceptions:
      throws java.security.NoSuchAlgorithmException
    MethodParameters:
      Name  Flags
      mode  

  void implSetPadding(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0000) 
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // com.sun.crypto.provider.PKCS12PBECipherCore this
        start local 1 // java.lang.String padding
         0: .line 207
            aload 1 /* padding */
            ifnull 5
         1: .line 208
            aload 1 /* padding */
            ldc "PKCS5Padding"
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifne 5
         2: .line 209
            new javax.crypto.NoSuchPaddingException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Invalid padding scheme: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         3: .line 210
            aload 1 /* padding */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         4: .line 209
            invokespecial javax.crypto.NoSuchPaddingException.<init>:(Ljava/lang/String;)V
            athrow
         5: .line 212
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.lang.String padding
        end local 0 // com.sun.crypto.provider.PKCS12PBECipherCore this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    6     0     this  Lcom/sun/crypto/provider/PKCS12PBECipherCore;
            0    6     1  padding  Ljava/lang/String;
    Exceptions:
      throws javax.crypto.NoSuchPaddingException
    MethodParameters:
         Name  Flags
      padding  

  int implGetBlockSize();
    descriptor: ()I
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.crypto.provider.PKCS12PBECipherCore this
         0: .line 215
            aload 0 /* this */
            getfield com.sun.crypto.provider.PKCS12PBECipherCore.blockSize:I
            ireturn
        end local 0 // com.sun.crypto.provider.PKCS12PBECipherCore this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/crypto/provider/PKCS12PBECipherCore;

  int implGetOutputSize(int);
    descriptor: (I)I
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.crypto.provider.PKCS12PBECipherCore this
        start local 1 // int inLen
         0: .line 219
            aload 0 /* this */
            getfield com.sun.crypto.provider.PKCS12PBECipherCore.cipher:Lcom/sun/crypto/provider/CipherCore;
            iload 1 /* inLen */
            invokevirtual com.sun.crypto.provider.CipherCore.getOutputSize:(I)I
            ireturn
        end local 1 // int inLen
        end local 0 // com.sun.crypto.provider.PKCS12PBECipherCore this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lcom/sun/crypto/provider/PKCS12PBECipherCore;
            0    1     1  inLen  I
    MethodParameters:
       Name  Flags
      inLen  

  byte[] implGetIV();
    descriptor: ()[B
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.crypto.provider.PKCS12PBECipherCore this
         0: .line 223
            aload 0 /* this */
            getfield com.sun.crypto.provider.PKCS12PBECipherCore.cipher:Lcom/sun/crypto/provider/CipherCore;
            invokevirtual com.sun.crypto.provider.CipherCore.getIV:()[B
            areturn
        end local 0 // com.sun.crypto.provider.PKCS12PBECipherCore this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/crypto/provider/PKCS12PBECipherCore;

  java.security.AlgorithmParameters implGetParameters();
    descriptor: ()Ljava/security/AlgorithmParameters;
    flags: (0x0000) 
    Code:
      stack=4, locals=3, args_size=1
        start local 0 // com.sun.crypto.provider.PKCS12PBECipherCore this
         0: .line 227
            aconst_null
            astore 1 /* params */
        start local 1 // java.security.AlgorithmParameters params
         1: .line 228
            aload 0 /* this */
            getfield com.sun.crypto.provider.PKCS12PBECipherCore.salt:[B
            ifnonnull 5
         2: .line 232
            aload 0 /* this */
            bipush 20
            newarray 8
            putfield com.sun.crypto.provider.PKCS12PBECipherCore.salt:[B
         3: .line 233
            invokestatic com.sun.crypto.provider.SunJCE.getRandom:()Ljava/security/SecureRandom;
            aload 0 /* this */
            getfield com.sun.crypto.provider.PKCS12PBECipherCore.salt:[B
            invokevirtual java.security.SecureRandom.nextBytes:([B)V
         4: .line 234
            aload 0 /* this */
            sipush 1024
            putfield com.sun.crypto.provider.PKCS12PBECipherCore.iCount:I
         5: .line 236
      StackMap locals: java.security.AlgorithmParameters
      StackMap stack:
            new javax.crypto.spec.PBEParameterSpec
            dup
            aload 0 /* this */
            getfield com.sun.crypto.provider.PKCS12PBECipherCore.salt:[B
            aload 0 /* this */
            getfield com.sun.crypto.provider.PKCS12PBECipherCore.iCount:I
            invokespecial javax.crypto.spec.PBEParameterSpec.<init>:([BI)V
            astore 2 /* pbeSpec */
        start local 2 // javax.crypto.spec.PBEParameterSpec pbeSpec
         6: .line 238
            aload 0 /* this */
            getfield com.sun.crypto.provider.PKCS12PBECipherCore.pbeAlgo:Ljava/lang/String;
         7: .line 239
            invokestatic com.sun.crypto.provider.SunJCE.getInstance:()Lcom/sun/crypto/provider/SunJCE;
         8: .line 238
            invokestatic java.security.AlgorithmParameters.getInstance:(Ljava/lang/String;Ljava/security/Provider;)Ljava/security/AlgorithmParameters;
            astore 1 /* params */
         9: .line 240
            aload 1 /* params */
            aload 2 /* pbeSpec */
            invokevirtual java.security.AlgorithmParameters.init:(Ljava/security/spec/AlgorithmParameterSpec;)V
        10: .line 241
            goto 17
      StackMap locals: com.sun.crypto.provider.PKCS12PBECipherCore java.security.AlgorithmParameters javax.crypto.spec.PBEParameterSpec
      StackMap stack: java.security.NoSuchAlgorithmException
        11: pop
        12: .line 243
            new java.lang.RuntimeException
            dup
        13: .line 244
            ldc "SunJCE provider is not configured properly"
        14: .line 243
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
            athrow
        15: .line 245
      StackMap locals:
      StackMap stack: java.security.spec.InvalidParameterSpecException
            pop
        16: .line 247
            new java.lang.RuntimeException
            dup
            ldc "PBEParameterSpec not supported"
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
            athrow
        17: .line 249
      StackMap locals:
      StackMap stack:
            aload 1 /* params */
            areturn
        end local 2 // javax.crypto.spec.PBEParameterSpec pbeSpec
        end local 1 // java.security.AlgorithmParameters params
        end local 0 // com.sun.crypto.provider.PKCS12PBECipherCore this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   18     0     this  Lcom/sun/crypto/provider/PKCS12PBECipherCore;
            1   18     1   params  Ljava/security/AlgorithmParameters;
            6   18     2  pbeSpec  Ljavax/crypto/spec/PBEParameterSpec;
      Exception table:
        from    to  target  type
           6    10      11  Class java.security.NoSuchAlgorithmException
           6    10      15  Class java.security.spec.InvalidParameterSpecException

  void implInit(int, java.security.Key, java.security.spec.AlgorithmParameterSpec, java.security.SecureRandom);
    descriptor: (ILjava/security/Key;Ljava/security/spec/AlgorithmParameterSpec;Ljava/security/SecureRandom;)V
    flags: (0x0000) 
    Code:
      stack=6, locals=5, args_size=5
        start local 0 // com.sun.crypto.provider.PKCS12PBECipherCore this
        start local 1 // int opmode
        start local 2 // java.security.Key key
        start local 3 // java.security.spec.AlgorithmParameterSpec params
        start local 4 // java.security.SecureRandom random
         0: .line 255
            aload 0 /* this */
            iload 1 /* opmode */
            aload 2 /* key */
            aload 3 /* params */
            aload 4 /* random */
            aconst_null
            invokevirtual com.sun.crypto.provider.PKCS12PBECipherCore.implInit:(ILjava/security/Key;Ljava/security/spec/AlgorithmParameterSpec;Ljava/security/SecureRandom;Ljavax/crypto/CipherSpi;)V
         1: .line 256
            return
        end local 4 // java.security.SecureRandom random
        end local 3 // java.security.spec.AlgorithmParameterSpec params
        end local 2 // java.security.Key key
        end local 1 // int opmode
        end local 0 // com.sun.crypto.provider.PKCS12PBECipherCore this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lcom/sun/crypto/provider/PKCS12PBECipherCore;
            0    2     1  opmode  I
            0    2     2     key  Ljava/security/Key;
            0    2     3  params  Ljava/security/spec/AlgorithmParameterSpec;
            0    2     4  random  Ljava/security/SecureRandom;
    Exceptions:
      throws java.security.InvalidKeyException, java.security.InvalidAlgorithmParameterException
    MethodParameters:
        Name  Flags
      opmode  
      key     
      params  
      random  

  void implInit(int, java.security.Key, java.security.spec.AlgorithmParameterSpec, java.security.SecureRandom, javax.crypto.CipherSpi);
    descriptor: (ILjava/security/Key;Ljava/security/spec/AlgorithmParameterSpec;Ljava/security/SecureRandom;Ljavax/crypto/CipherSpi;)V
    flags: (0x0000) 
    Code:
      stack=6, locals=12, args_size=6
        start local 0 // com.sun.crypto.provider.PKCS12PBECipherCore this
        start local 1 // int opmode
        start local 2 // java.security.Key key
        start local 3 // java.security.spec.AlgorithmParameterSpec params
        start local 4 // java.security.SecureRandom random
        start local 5 // javax.crypto.CipherSpi cipherImpl
         0: .line 262
            aconst_null
            astore 6 /* passwdChars */
        start local 6 // char[] passwdChars
         1: .line 263
            aload 0 /* this */
            aconst_null
            putfield com.sun.crypto.provider.PKCS12PBECipherCore.salt:[B
         2: .line 264
            aload 0 /* this */
            iconst_0
            putfield com.sun.crypto.provider.PKCS12PBECipherCore.iCount:I
         3: .line 265
            aload 2 /* key */
            instanceof javax.crypto.interfaces.PBEKey
            ifeq 10
         4: .line 267
            aload 2 /* key */
            checkcast javax.crypto.interfaces.PBEKey
         5: .line 266
            astore 7 /* pbeKey */
        start local 7 // javax.crypto.interfaces.PBEKey pbeKey
         6: .line 268
            aload 7 /* pbeKey */
            invokeinterface javax.crypto.interfaces.PBEKey.getPassword:()[C
            astore 6 /* passwdChars */
         7: .line 269
            aload 0 /* this */
            aload 7 /* pbeKey */
            invokeinterface javax.crypto.interfaces.PBEKey.getSalt:()[B
            putfield com.sun.crypto.provider.PKCS12PBECipherCore.salt:[B
         8: .line 270
            aload 0 /* this */
            aload 7 /* pbeKey */
            invokeinterface javax.crypto.interfaces.PBEKey.getIterationCount:()I
            putfield com.sun.crypto.provider.PKCS12PBECipherCore.iCount:I
        end local 7 // javax.crypto.interfaces.PBEKey pbeKey
         9: .line 271
            goto 24
      StackMap locals: char[]
      StackMap stack:
        10: aload 2 /* key */
            instanceof javax.crypto.SecretKey
            ifeq 23
        11: .line 273
            aload 2 /* key */
            invokeinterface java.security.Key.getAlgorithm:()Ljava/lang/String;
            iconst_1
            iconst_0
            ldc "PBE"
            iconst_0
            iconst_3
            invokevirtual java.lang.String.regionMatches:(ZILjava/lang/String;II)Z
            ifeq 14
        12: .line 274
            aload 2 /* key */
            invokeinterface java.security.Key.getEncoded:()[B
            dup
            astore 7 /* passwdBytes */
        start local 7 // byte[] passwdBytes
        13: ifnonnull 15
        end local 7 // byte[] passwdBytes
        14: .line 275
      StackMap locals:
      StackMap stack:
            new java.security.InvalidKeyException
            dup
            ldc "Missing password"
            invokespecial java.security.InvalidKeyException.<init>:(Ljava/lang/String;)V
            athrow
        start local 7 // byte[] passwdBytes
        15: .line 277
      StackMap locals: byte[]
      StackMap stack:
            aload 7 /* passwdBytes */
            arraylength
            newarray 5
            astore 6 /* passwdChars */
        16: .line 278
            iconst_0
            istore 8 /* i */
        start local 8 // int i
        17: goto 20
        18: .line 279
      StackMap locals: int
      StackMap stack:
            aload 6 /* passwdChars */
            iload 8 /* i */
            aload 7 /* passwdBytes */
            iload 8 /* i */
            baload
            bipush 127
            iand
            i2c
            castore
        19: .line 278
            iinc 8 /* i */ 1
      StackMap locals:
      StackMap stack:
        20: iload 8 /* i */
            aload 6 /* passwdChars */
            arraylength
            if_icmplt 18
        end local 8 // int i
        21: .line 281
            aload 7 /* passwdBytes */
            iconst_0
            invokestatic java.util.Arrays.fill:([BB)V
        end local 7 // byte[] passwdBytes
        22: .line 282
            goto 24
        23: .line 283
      StackMap locals:
      StackMap stack:
            new java.security.InvalidKeyException
            dup
            ldc "SecretKey of PBE type required"
            invokespecial java.security.InvalidKeyException.<init>:(Ljava/lang/String;)V
            athrow
        24: .line 287
      StackMap locals:
      StackMap stack:
            iload 1 /* opmode */
            iconst_2
            if_icmpeq 26
        25: .line 288
            iload 1 /* opmode */
            iconst_4
            if_icmpne 30
        26: .line 289
      StackMap locals:
      StackMap stack:
            aload 3 /* params */
            ifnonnull 30
            aload 0 /* this */
            getfield com.sun.crypto.provider.PKCS12PBECipherCore.salt:[B
            ifnull 27
            aload 0 /* this */
            getfield com.sun.crypto.provider.PKCS12PBECipherCore.iCount:I
            ifne 30
        27: .line 290
      StackMap locals:
      StackMap stack:
            new java.security.InvalidAlgorithmParameterException
            dup
        28: .line 291
            ldc "Parameters missing"
        29: .line 290
            invokespecial java.security.InvalidAlgorithmParameterException.<init>:(Ljava/lang/String;)V
            athrow
        30: .line 294
      StackMap locals:
      StackMap stack:
            aload 3 /* params */
            ifnonnull 39
        31: .line 296
            aload 0 /* this */
            getfield com.sun.crypto.provider.PKCS12PBECipherCore.salt:[B
            ifnonnull 37
        32: .line 297
            aload 0 /* this */
            bipush 20
            newarray 8
            putfield com.sun.crypto.provider.PKCS12PBECipherCore.salt:[B
        33: .line 298
            aload 4 /* random */
            ifnull 36
        34: .line 299
            aload 4 /* random */
            aload 0 /* this */
            getfield com.sun.crypto.provider.PKCS12PBECipherCore.salt:[B
            invokevirtual java.security.SecureRandom.nextBytes:([B)V
        35: .line 300
            goto 37
        36: .line 301
      StackMap locals:
      StackMap stack:
            invokestatic com.sun.crypto.provider.SunJCE.getRandom:()Ljava/security/SecureRandom;
            aload 0 /* this */
            getfield com.sun.crypto.provider.PKCS12PBECipherCore.salt:[B
            invokevirtual java.security.SecureRandom.nextBytes:([B)V
        37: .line 304
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.crypto.provider.PKCS12PBECipherCore.iCount:I
            ifne 56
            aload 0 /* this */
            sipush 1024
            putfield com.sun.crypto.provider.PKCS12PBECipherCore.iCount:I
        38: .line 305
            goto 56
      StackMap locals:
      StackMap stack:
        39: aload 3 /* params */
            instanceof javax.crypto.spec.PBEParameterSpec
            ifne 43
        40: .line 306
            new java.security.InvalidAlgorithmParameterException
            dup
        41: .line 307
            ldc "PBEParameterSpec type required"
        42: .line 306
            invokespecial java.security.InvalidAlgorithmParameterException.<init>:(Ljava/lang/String;)V
            athrow
        43: .line 309
      StackMap locals:
      StackMap stack:
            aload 3 /* params */
            checkcast javax.crypto.spec.PBEParameterSpec
            astore 7 /* pbeParams */
        start local 7 // javax.crypto.spec.PBEParameterSpec pbeParams
        44: .line 311
            aload 0 /* this */
            getfield com.sun.crypto.provider.PKCS12PBECipherCore.salt:[B
            ifnull 49
        45: .line 312
            aload 0 /* this */
            getfield com.sun.crypto.provider.PKCS12PBECipherCore.salt:[B
            aload 7 /* pbeParams */
            invokevirtual javax.crypto.spec.PBEParameterSpec.getSalt:()[B
            invokestatic java.util.Arrays.equals:([B[B)Z
            ifne 50
        46: .line 313
            new java.security.InvalidAlgorithmParameterException
            dup
        47: .line 314
            ldc "Inconsistent value of salt between key and params"
        48: .line 313
            invokespecial java.security.InvalidAlgorithmParameterException.<init>:(Ljava/lang/String;)V
            athrow
        49: .line 317
      StackMap locals: javax.crypto.spec.PBEParameterSpec
      StackMap stack:
            aload 0 /* this */
            aload 7 /* pbeParams */
            invokevirtual javax.crypto.spec.PBEParameterSpec.getSalt:()[B
            putfield com.sun.crypto.provider.PKCS12PBECipherCore.salt:[B
        50: .line 319
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.crypto.provider.PKCS12PBECipherCore.iCount:I
            ifeq 55
        51: .line 320
            aload 0 /* this */
            getfield com.sun.crypto.provider.PKCS12PBECipherCore.iCount:I
            aload 7 /* pbeParams */
            invokevirtual javax.crypto.spec.PBEParameterSpec.getIterationCount:()I
            if_icmpeq 56
        52: .line 321
            new java.security.InvalidAlgorithmParameterException
            dup
        53: .line 322
            ldc "Different iteration count between key and params"
        54: .line 321
            invokespecial java.security.InvalidAlgorithmParameterException.<init>:(Ljava/lang/String;)V
            athrow
        55: .line 325
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 7 /* pbeParams */
            invokevirtual javax.crypto.spec.PBEParameterSpec.getIterationCount:()I
            putfield com.sun.crypto.provider.PKCS12PBECipherCore.iCount:I
        end local 7 // javax.crypto.spec.PBEParameterSpec pbeParams
        56: .line 333
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.crypto.provider.PKCS12PBECipherCore.salt:[B
            arraylength
            bipush 8
            if_icmpge 60
        57: .line 334
            new java.security.InvalidAlgorithmParameterException
            dup
        58: .line 335
            ldc "Salt must be at least 8 bytes long"
        59: .line 334
            invokespecial java.security.InvalidAlgorithmParameterException.<init>:(Ljava/lang/String;)V
            athrow
        60: .line 337
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.crypto.provider.PKCS12PBECipherCore.iCount:I
            ifgt 64
        61: .line 338
            new java.security.InvalidAlgorithmParameterException
            dup
        62: .line 339
            ldc "IterationCount must be a positive number"
        63: .line 338
            invokespecial java.security.InvalidAlgorithmParameterException.<init>:(Ljava/lang/String;)V
            athrow
        64: .line 341
      StackMap locals:
      StackMap stack:
            aload 6 /* passwdChars */
            aload 0 /* this */
            getfield com.sun.crypto.provider.PKCS12PBECipherCore.salt:[B
            aload 0 /* this */
            getfield com.sun.crypto.provider.PKCS12PBECipherCore.iCount:I
        65: .line 342
            aload 0 /* this */
            getfield com.sun.crypto.provider.PKCS12PBECipherCore.keySize:I
            iconst_1
        66: .line 341
            invokestatic com.sun.crypto.provider.PKCS12PBECipherCore.derive:([C[BIII)[B
            astore 7 /* derivedKey */
        start local 7 // byte[] derivedKey
        67: .line 343
            new javax.crypto.spec.SecretKeySpec
            dup
            aload 7 /* derivedKey */
            aload 0 /* this */
            getfield com.sun.crypto.provider.PKCS12PBECipherCore.algo:Ljava/lang/String;
            invokespecial javax.crypto.spec.SecretKeySpec.<init>:([BLjava/lang/String;)V
            astore 8 /* cipherKey */
        start local 8 // javax.crypto.SecretKey cipherKey
        68: .line 345
            aload 5 /* cipherImpl */
            ifnull 71
            aload 5 /* cipherImpl */
            instanceof com.sun.crypto.provider.ARCFOURCipher
            ifeq 71
        69: .line 346
            aload 5 /* cipherImpl */
            checkcast com.sun.crypto.provider.ARCFOURCipher
            iload 1 /* opmode */
            aload 8 /* cipherKey */
            aload 4 /* random */
            invokevirtual com.sun.crypto.provider.ARCFOURCipher.engineInit:(ILjava/security/Key;Ljava/security/SecureRandom;)V
        70: .line 348
            goto 80
        71: .line 349
      StackMap locals: byte[] javax.crypto.SecretKey
      StackMap stack:
            aload 6 /* passwdChars */
            aload 0 /* this */
            getfield com.sun.crypto.provider.PKCS12PBECipherCore.salt:[B
            aload 0 /* this */
            getfield com.sun.crypto.provider.PKCS12PBECipherCore.iCount:I
            bipush 8
        72: .line 350
            iconst_2
        73: .line 349
            invokestatic com.sun.crypto.provider.PKCS12PBECipherCore.derive:([C[BIII)[B
            astore 9 /* derivedIv */
        start local 9 // byte[] derivedIv
        74: .line 351
            new javax.crypto.spec.IvParameterSpec
            dup
            aload 9 /* derivedIv */
            iconst_0
            bipush 8
            invokespecial javax.crypto.spec.IvParameterSpec.<init>:([BII)V
            astore 10 /* ivSpec */
        start local 10 // javax.crypto.spec.IvParameterSpec ivSpec
        75: .line 354
            aload 0 /* this */
            getfield com.sun.crypto.provider.PKCS12PBECipherCore.cipher:Lcom/sun/crypto/provider/CipherCore;
            iload 1 /* opmode */
            aload 8 /* cipherKey */
            aload 10 /* ivSpec */
            aload 4 /* random */
            invokevirtual com.sun.crypto.provider.CipherCore.init:(ILjava/security/Key;Ljava/security/spec/AlgorithmParameterSpec;Ljava/security/SecureRandom;)V
        end local 10 // javax.crypto.spec.IvParameterSpec ivSpec
        end local 9 // byte[] derivedIv
        end local 8 // javax.crypto.SecretKey cipherKey
        end local 7 // byte[] derivedKey
        76: .line 356
            goto 80
      StackMap locals: com.sun.crypto.provider.PKCS12PBECipherCore int java.security.Key java.security.spec.AlgorithmParameterSpec java.security.SecureRandom javax.crypto.CipherSpi char[]
      StackMap stack: java.lang.Throwable
        77: astore 11
        78: .line 357
            aload 6 /* passwdChars */
            iconst_0
            invokestatic java.util.Arrays.fill:([CC)V
        79: .line 358
            aload 11
            athrow
        80: .line 357
      StackMap locals:
      StackMap stack:
            aload 6 /* passwdChars */
            iconst_0
            invokestatic java.util.Arrays.fill:([CC)V
        81: .line 359
            return
        end local 6 // char[] passwdChars
        end local 5 // javax.crypto.CipherSpi cipherImpl
        end local 4 // java.security.SecureRandom random
        end local 3 // java.security.spec.AlgorithmParameterSpec params
        end local 2 // java.security.Key key
        end local 1 // int opmode
        end local 0 // com.sun.crypto.provider.PKCS12PBECipherCore this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   82     0         this  Lcom/sun/crypto/provider/PKCS12PBECipherCore;
            0   82     1       opmode  I
            0   82     2          key  Ljava/security/Key;
            0   82     3       params  Ljava/security/spec/AlgorithmParameterSpec;
            0   82     4       random  Ljava/security/SecureRandom;
            0   82     5   cipherImpl  Ljavax/crypto/CipherSpi;
            1   82     6  passwdChars  [C
            6    9     7       pbeKey  Ljavax/crypto/interfaces/PBEKey;
           13   14     7  passwdBytes  [B
           15   22     7  passwdBytes  [B
           17   21     8            i  I
           44   56     7    pbeParams  Ljavax/crypto/spec/PBEParameterSpec;
           67   76     7   derivedKey  [B
           68   76     8    cipherKey  Ljavax/crypto/SecretKey;
           74   76     9    derivedIv  [B
           75   76    10       ivSpec  Ljavax/crypto/spec/IvParameterSpec;
      Exception table:
        from    to  target  type
          24    77      77  any
    Exceptions:
      throws java.security.InvalidKeyException, java.security.InvalidAlgorithmParameterException
    MethodParameters:
            Name  Flags
      opmode      
      key         
      params      
      random      
      cipherImpl  

  void implInit(int, java.security.Key, java.security.AlgorithmParameters, java.security.SecureRandom);
    descriptor: (ILjava/security/Key;Ljava/security/AlgorithmParameters;Ljava/security/SecureRandom;)V
    flags: (0x0000) 
    Code:
      stack=6, locals=5, args_size=5
        start local 0 // com.sun.crypto.provider.PKCS12PBECipherCore this
        start local 1 // int opmode
        start local 2 // java.security.Key key
        start local 3 // java.security.AlgorithmParameters params
        start local 4 // java.security.SecureRandom random
         0: .line 364
            aload 0 /* this */
            iload 1 /* opmode */
            aload 2 /* key */
            aload 3 /* params */
            aload 4 /* random */
            aconst_null
            invokevirtual com.sun.crypto.provider.PKCS12PBECipherCore.implInit:(ILjava/security/Key;Ljava/security/AlgorithmParameters;Ljava/security/SecureRandom;Ljavax/crypto/CipherSpi;)V
         1: .line 365
            return
        end local 4 // java.security.SecureRandom random
        end local 3 // java.security.AlgorithmParameters params
        end local 2 // java.security.Key key
        end local 1 // int opmode
        end local 0 // com.sun.crypto.provider.PKCS12PBECipherCore this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lcom/sun/crypto/provider/PKCS12PBECipherCore;
            0    2     1  opmode  I
            0    2     2     key  Ljava/security/Key;
            0    2     3  params  Ljava/security/AlgorithmParameters;
            0    2     4  random  Ljava/security/SecureRandom;
    Exceptions:
      throws java.security.InvalidKeyException, java.security.InvalidAlgorithmParameterException
    MethodParameters:
        Name  Flags
      opmode  
      key     
      params  
      random  

  void implInit(int, java.security.Key, java.security.AlgorithmParameters, java.security.SecureRandom, javax.crypto.CipherSpi);
    descriptor: (ILjava/security/Key;Ljava/security/AlgorithmParameters;Ljava/security/SecureRandom;Ljavax/crypto/CipherSpi;)V
    flags: (0x0000) 
    Code:
      stack=6, locals=7, args_size=6
        start local 0 // com.sun.crypto.provider.PKCS12PBECipherCore this
        start local 1 // int opmode
        start local 2 // java.security.Key key
        start local 3 // java.security.AlgorithmParameters params
        start local 4 // java.security.SecureRandom random
        start local 5 // javax.crypto.CipherSpi cipherImpl
         0: .line 370
            aconst_null
            astore 6 /* paramSpec */
        start local 6 // java.security.spec.AlgorithmParameterSpec paramSpec
         1: .line 371
            aload 3 /* params */
            ifnull 8
         2: .line 373
            aload 3 /* params */
            ldc Ljavax/crypto/spec/PBEParameterSpec;
            invokevirtual java.security.AlgorithmParameters.getParameterSpec:(Ljava/lang/Class;)Ljava/security/spec/AlgorithmParameterSpec;
            astore 6 /* paramSpec */
         3: .line 374
            goto 8
      StackMap locals: com.sun.crypto.provider.PKCS12PBECipherCore int java.security.Key java.security.AlgorithmParameters java.security.SecureRandom javax.crypto.CipherSpi java.security.spec.AlgorithmParameterSpec
      StackMap stack: java.security.spec.InvalidParameterSpecException
         4: pop
         5: .line 375
            new java.security.InvalidAlgorithmParameterException
            dup
         6: .line 376
            ldc "requires PBE parameters"
         7: .line 375
            invokespecial java.security.InvalidAlgorithmParameterException.<init>:(Ljava/lang/String;)V
            athrow
         8: .line 379
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* opmode */
            aload 2 /* key */
            aload 6 /* paramSpec */
            aload 4 /* random */
            aload 5 /* cipherImpl */
            invokevirtual com.sun.crypto.provider.PKCS12PBECipherCore.implInit:(ILjava/security/Key;Ljava/security/spec/AlgorithmParameterSpec;Ljava/security/SecureRandom;Ljavax/crypto/CipherSpi;)V
         9: .line 380
            return
        end local 6 // java.security.spec.AlgorithmParameterSpec paramSpec
        end local 5 // javax.crypto.CipherSpi cipherImpl
        end local 4 // java.security.SecureRandom random
        end local 3 // java.security.AlgorithmParameters params
        end local 2 // java.security.Key key
        end local 1 // int opmode
        end local 0 // com.sun.crypto.provider.PKCS12PBECipherCore this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   10     0        this  Lcom/sun/crypto/provider/PKCS12PBECipherCore;
            0   10     1      opmode  I
            0   10     2         key  Ljava/security/Key;
            0   10     3      params  Ljava/security/AlgorithmParameters;
            0   10     4      random  Ljava/security/SecureRandom;
            0   10     5  cipherImpl  Ljavax/crypto/CipherSpi;
            1   10     6   paramSpec  Ljava/security/spec/AlgorithmParameterSpec;
      Exception table:
        from    to  target  type
           2     3       4  Class java.security.spec.InvalidParameterSpecException
    Exceptions:
      throws java.security.InvalidKeyException, java.security.InvalidAlgorithmParameterException
    MethodParameters:
            Name  Flags
      opmode      
      key         
      params      
      random      
      cipherImpl  

  void implInit(int, java.security.Key, java.security.SecureRandom);
    descriptor: (ILjava/security/Key;Ljava/security/SecureRandom;)V
    flags: (0x0000) 
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // com.sun.crypto.provider.PKCS12PBECipherCore this
        start local 1 // int opmode
        start local 2 // java.security.Key key
        start local 3 // java.security.SecureRandom random
         0: .line 384
            aload 0 /* this */
            iload 1 /* opmode */
            aload 2 /* key */
            aload 3 /* random */
            aconst_null
            invokevirtual com.sun.crypto.provider.PKCS12PBECipherCore.implInit:(ILjava/security/Key;Ljava/security/SecureRandom;Ljavax/crypto/CipherSpi;)V
         1: .line 385
            return
        end local 3 // java.security.SecureRandom random
        end local 2 // java.security.Key key
        end local 1 // int opmode
        end local 0 // com.sun.crypto.provider.PKCS12PBECipherCore this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lcom/sun/crypto/provider/PKCS12PBECipherCore;
            0    2     1  opmode  I
            0    2     2     key  Ljava/security/Key;
            0    2     3  random  Ljava/security/SecureRandom;
    Exceptions:
      throws java.security.InvalidKeyException
    MethodParameters:
        Name  Flags
      opmode  
      key     
      random  

  void implInit(int, java.security.Key, java.security.SecureRandom, javax.crypto.CipherSpi);
    descriptor: (ILjava/security/Key;Ljava/security/SecureRandom;Ljavax/crypto/CipherSpi;)V
    flags: (0x0000) 
    Code:
      stack=6, locals=5, args_size=5
        start local 0 // com.sun.crypto.provider.PKCS12PBECipherCore this
        start local 1 // int opmode
        start local 2 // java.security.Key key
        start local 3 // java.security.SecureRandom random
        start local 4 // javax.crypto.CipherSpi cipherImpl
         0: .line 390
            aload 0 /* this */
            iload 1 /* opmode */
            aload 2 /* key */
            aconst_null
            aload 3 /* random */
         1: .line 391
            aload 4 /* cipherImpl */
         2: .line 390
            invokevirtual com.sun.crypto.provider.PKCS12PBECipherCore.implInit:(ILjava/security/Key;Ljava/security/spec/AlgorithmParameterSpec;Ljava/security/SecureRandom;Ljavax/crypto/CipherSpi;)V
         3: .line 392
            goto 6
      StackMap locals:
      StackMap stack: java.security.InvalidAlgorithmParameterException
         4: pop
         5: .line 393
            new java.security.InvalidKeyException
            dup
            ldc "requires PBE parameters"
            invokespecial java.security.InvalidKeyException.<init>:(Ljava/lang/String;)V
            athrow
         6: .line 395
      StackMap locals:
      StackMap stack:
            return
        end local 4 // javax.crypto.CipherSpi cipherImpl
        end local 3 // java.security.SecureRandom random
        end local 2 // java.security.Key key
        end local 1 // int opmode
        end local 0 // com.sun.crypto.provider.PKCS12PBECipherCore this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    7     0        this  Lcom/sun/crypto/provider/PKCS12PBECipherCore;
            0    7     1      opmode  I
            0    7     2         key  Ljava/security/Key;
            0    7     3      random  Ljava/security/SecureRandom;
            0    7     4  cipherImpl  Ljavax/crypto/CipherSpi;
      Exception table:
        from    to  target  type
           0     3       4  Class java.security.InvalidAlgorithmParameterException
    Exceptions:
      throws java.security.InvalidKeyException
    MethodParameters:
            Name  Flags
      opmode      
      key         
      random      
      cipherImpl  

  byte[] implUpdate(byte[], int, int);
    descriptor: ([BII)[B
    flags: (0x0000) 
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // com.sun.crypto.provider.PKCS12PBECipherCore this
        start local 1 // byte[] in
        start local 2 // int inOff
        start local 3 // int inLen
         0: .line 398
            aload 0 /* this */
            getfield com.sun.crypto.provider.PKCS12PBECipherCore.cipher:Lcom/sun/crypto/provider/CipherCore;
            aload 1 /* in */
            iload 2 /* inOff */
            iload 3 /* inLen */
            invokevirtual com.sun.crypto.provider.CipherCore.update:([BII)[B
            areturn
        end local 3 // int inLen
        end local 2 // int inOff
        end local 1 // byte[] in
        end local 0 // com.sun.crypto.provider.PKCS12PBECipherCore this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lcom/sun/crypto/provider/PKCS12PBECipherCore;
            0    1     1     in  [B
            0    1     2  inOff  I
            0    1     3  inLen  I
    MethodParameters:
       Name  Flags
      in     
      inOff  
      inLen  

  int implUpdate(byte[], int, int, byte[], int);
    descriptor: ([BII[BI)I
    flags: (0x0000) 
    Code:
      stack=6, locals=6, args_size=6
        start local 0 // com.sun.crypto.provider.PKCS12PBECipherCore this
        start local 1 // byte[] in
        start local 2 // int inOff
        start local 3 // int inLen
        start local 4 // byte[] out
        start local 5 // int outOff
         0: .line 403
            aload 0 /* this */
            getfield com.sun.crypto.provider.PKCS12PBECipherCore.cipher:Lcom/sun/crypto/provider/CipherCore;
            aload 1 /* in */
            iload 2 /* inOff */
            iload 3 /* inLen */
            aload 4 /* out */
            iload 5 /* outOff */
            invokevirtual com.sun.crypto.provider.CipherCore.update:([BII[BI)I
            ireturn
        end local 5 // int outOff
        end local 4 // byte[] out
        end local 3 // int inLen
        end local 2 // int inOff
        end local 1 // byte[] in
        end local 0 // com.sun.crypto.provider.PKCS12PBECipherCore this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lcom/sun/crypto/provider/PKCS12PBECipherCore;
            0    1     1      in  [B
            0    1     2   inOff  I
            0    1     3   inLen  I
            0    1     4     out  [B
            0    1     5  outOff  I
    Exceptions:
      throws javax.crypto.ShortBufferException
    MethodParameters:
        Name  Flags
      in      
      inOff   
      inLen   
      out     
      outOff  

  byte[] implDoFinal(byte[], int, int);
    descriptor: ([BII)[B
    flags: (0x0000) 
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // com.sun.crypto.provider.PKCS12PBECipherCore this
        start local 1 // byte[] in
        start local 2 // int inOff
        start local 3 // int inLen
         0: .line 408
            aload 0 /* this */
            getfield com.sun.crypto.provider.PKCS12PBECipherCore.cipher:Lcom/sun/crypto/provider/CipherCore;
            aload 1 /* in */
            iload 2 /* inOff */
            iload 3 /* inLen */
            invokevirtual com.sun.crypto.provider.CipherCore.doFinal:([BII)[B
            areturn
        end local 3 // int inLen
        end local 2 // int inOff
        end local 1 // byte[] in
        end local 0 // com.sun.crypto.provider.PKCS12PBECipherCore this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lcom/sun/crypto/provider/PKCS12PBECipherCore;
            0    1     1     in  [B
            0    1     2  inOff  I
            0    1     3  inLen  I
    Exceptions:
      throws javax.crypto.IllegalBlockSizeException, javax.crypto.BadPaddingException
    MethodParameters:
       Name  Flags
      in     
      inOff  
      inLen  

  int implDoFinal(byte[], int, int, byte[], int);
    descriptor: ([BII[BI)I
    flags: (0x0000) 
    Code:
      stack=6, locals=6, args_size=6
        start local 0 // com.sun.crypto.provider.PKCS12PBECipherCore this
        start local 1 // byte[] in
        start local 2 // int inOff
        start local 3 // int inLen
        start local 4 // byte[] out
        start local 5 // int outOff
         0: .line 414
            aload 0 /* this */
            getfield com.sun.crypto.provider.PKCS12PBECipherCore.cipher:Lcom/sun/crypto/provider/CipherCore;
            aload 1 /* in */
            iload 2 /* inOff */
            iload 3 /* inLen */
            aload 4 /* out */
            iload 5 /* outOff */
            invokevirtual com.sun.crypto.provider.CipherCore.doFinal:([BII[BI)I
            ireturn
        end local 5 // int outOff
        end local 4 // byte[] out
        end local 3 // int inLen
        end local 2 // int inOff
        end local 1 // byte[] in
        end local 0 // com.sun.crypto.provider.PKCS12PBECipherCore this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lcom/sun/crypto/provider/PKCS12PBECipherCore;
            0    1     1      in  [B
            0    1     2   inOff  I
            0    1     3   inLen  I
            0    1     4     out  [B
            0    1     5  outOff  I
    Exceptions:
      throws javax.crypto.ShortBufferException, javax.crypto.IllegalBlockSizeException, javax.crypto.BadPaddingException
    MethodParameters:
        Name  Flags
      in      
      inOff   
      inLen   
      out     
      outOff  

  int implGetKeySize(java.security.Key);
    descriptor: (Ljava/security/Key;)I
    flags: (0x0000) 
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // com.sun.crypto.provider.PKCS12PBECipherCore this
        start local 1 // java.security.Key key
         0: .line 418
            aload 0 /* this */
            getfield com.sun.crypto.provider.PKCS12PBECipherCore.keyLength:I
            ireturn
        end local 1 // java.security.Key key
        end local 0 // com.sun.crypto.provider.PKCS12PBECipherCore this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/crypto/provider/PKCS12PBECipherCore;
            0    1     1   key  Ljava/security/Key;
    Exceptions:
      throws java.security.InvalidKeyException
    MethodParameters:
      Name  Flags
      key   

  byte[] implWrap(java.security.Key);
    descriptor: (Ljava/security/Key;)[B
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.crypto.provider.PKCS12PBECipherCore this
        start local 1 // java.security.Key key
         0: .line 423
            aload 0 /* this */
            getfield com.sun.crypto.provider.PKCS12PBECipherCore.cipher:Lcom/sun/crypto/provider/CipherCore;
            aload 1 /* key */
            invokevirtual com.sun.crypto.provider.CipherCore.wrap:(Ljava/security/Key;)[B
            areturn
        end local 1 // java.security.Key key
        end local 0 // com.sun.crypto.provider.PKCS12PBECipherCore this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/crypto/provider/PKCS12PBECipherCore;
            0    1     1   key  Ljava/security/Key;
    Exceptions:
      throws javax.crypto.IllegalBlockSizeException, java.security.InvalidKeyException
    MethodParameters:
      Name  Flags
      key   

  java.security.Key implUnwrap(byte[], java.lang.String, int);
    descriptor: ([BLjava/lang/String;I)Ljava/security/Key;
    flags: (0x0000) 
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // com.sun.crypto.provider.PKCS12PBECipherCore this
        start local 1 // byte[] wrappedKey
        start local 2 // java.lang.String wrappedKeyAlgorithm
        start local 3 // int wrappedKeyType
         0: .line 429
            aload 0 /* this */
            getfield com.sun.crypto.provider.PKCS12PBECipherCore.cipher:Lcom/sun/crypto/provider/CipherCore;
            aload 1 /* wrappedKey */
            aload 2 /* wrappedKeyAlgorithm */
         1: .line 430
            iload 3 /* wrappedKeyType */
         2: .line 429
            invokevirtual com.sun.crypto.provider.CipherCore.unwrap:([BLjava/lang/String;I)Ljava/security/Key;
            areturn
        end local 3 // int wrappedKeyType
        end local 2 // java.lang.String wrappedKeyAlgorithm
        end local 1 // byte[] wrappedKey
        end local 0 // com.sun.crypto.provider.PKCS12PBECipherCore this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0    3     0                 this  Lcom/sun/crypto/provider/PKCS12PBECipherCore;
            0    3     1           wrappedKey  [B
            0    3     2  wrappedKeyAlgorithm  Ljava/lang/String;
            0    3     3       wrappedKeyType  I
    Exceptions:
      throws java.security.InvalidKeyException, java.security.NoSuchAlgorithmException
    MethodParameters:
                     Name  Flags
      wrappedKey           
      wrappedKeyAlgorithm  
      wrappedKeyType       
}
SourceFile: "PKCS12PBECipherCore.java"
NestMembers:
  com.sun.crypto.provider.PKCS12PBECipherCore$PBEWithSHA1AndDESede  com.sun.crypto.provider.PKCS12PBECipherCore$PBEWithSHA1AndRC2_128  com.sun.crypto.provider.PKCS12PBECipherCore$PBEWithSHA1AndRC2_40  com.sun.crypto.provider.PKCS12PBECipherCore$PBEWithSHA1AndRC4_128  com.sun.crypto.provider.PKCS12PBECipherCore$PBEWithSHA1AndRC4_40
InnerClasses:
  public final PBEWithSHA1AndDESede = com.sun.crypto.provider.PKCS12PBECipherCore$PBEWithSHA1AndDESede of com.sun.crypto.provider.PKCS12PBECipherCore
  public final PBEWithSHA1AndRC2_128 = com.sun.crypto.provider.PKCS12PBECipherCore$PBEWithSHA1AndRC2_128 of com.sun.crypto.provider.PKCS12PBECipherCore
  public final PBEWithSHA1AndRC2_40 = com.sun.crypto.provider.PKCS12PBECipherCore$PBEWithSHA1AndRC2_40 of com.sun.crypto.provider.PKCS12PBECipherCore
  public final PBEWithSHA1AndRC4_128 = com.sun.crypto.provider.PKCS12PBECipherCore$PBEWithSHA1AndRC4_128 of com.sun.crypto.provider.PKCS12PBECipherCore
  public final PBEWithSHA1AndRC4_40 = com.sun.crypto.provider.PKCS12PBECipherCore$PBEWithSHA1AndRC4_40 of com.sun.crypto.provider.PKCS12PBECipherCore