public final class sun.security.pkcs12.PKCS12KeyStore extends java.security.KeyStoreSpi
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: sun.security.pkcs12.PKCS12KeyStore
  super_class: java.security.KeyStoreSpi
{
  public static final int VERSION_3;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 3

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

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

  private static final java.lang.String[] CORE_ATTRIBUTES;
    descriptor: [Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final sun.security.util.Debug debug;
    descriptor: Lsun/security/util/Debug;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final int[] keyBag;
    descriptor: [I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final int[] certBag;
    descriptor: [I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final int[] secretBag;
    descriptor: [I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final int[] pkcs9Name;
    descriptor: [I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final int[] pkcs9KeyId;
    descriptor: [I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final int[] pkcs9certType;
    descriptor: [I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final int[] pbes2;
    descriptor: [I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final int[] TrustedKeyUsage;
    descriptor: [I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final int[] AnyExtendedKeyUsage;
    descriptor: [I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final sun.security.util.ObjectIdentifier PKCS8ShroudedKeyBag_OID;
    descriptor: Lsun/security/util/ObjectIdentifier;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final sun.security.util.ObjectIdentifier CertBag_OID;
    descriptor: Lsun/security/util/ObjectIdentifier;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final sun.security.util.ObjectIdentifier SecretBag_OID;
    descriptor: Lsun/security/util/ObjectIdentifier;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final sun.security.util.ObjectIdentifier PKCS9FriendlyName_OID;
    descriptor: Lsun/security/util/ObjectIdentifier;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final sun.security.util.ObjectIdentifier PKCS9LocalKeyId_OID;
    descriptor: Lsun/security/util/ObjectIdentifier;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final sun.security.util.ObjectIdentifier PKCS9CertType_OID;
    descriptor: Lsun/security/util/ObjectIdentifier;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final sun.security.util.ObjectIdentifier pbes2_OID;
    descriptor: Lsun/security/util/ObjectIdentifier;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final sun.security.util.ObjectIdentifier TrustedKeyUsage_OID;
    descriptor: Lsun/security/util/ObjectIdentifier;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final sun.security.util.ObjectIdentifier[] AnyUsage;
    descriptor: [Lsun/security/util/ObjectIdentifier;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

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

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

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

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

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

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

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

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

  private java.security.SecureRandom random;
    descriptor: Ljava/security/SecureRandom;
    flags: (0x0002) ACC_PRIVATE

  private java.util.Map<java.lang.String, sun.security.pkcs12.PKCS12KeyStore$Entry> entries;
    descriptor: Ljava/util/Map;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/Map<Ljava/lang/String;Lsun/security/pkcs12/PKCS12KeyStore$Entry;>;

  private java.util.ArrayList<sun.security.pkcs12.PKCS12KeyStore$KeyEntry> keyList;
    descriptor: Ljava/util/ArrayList;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/ArrayList<Lsun/security/pkcs12/PKCS12KeyStore$KeyEntry;>;

  private java.util.List<java.security.cert.X509Certificate> allCerts;
    descriptor: Ljava/util/List;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/List<Ljava/security/cert/X509Certificate;>;

  private java.util.ArrayList<sun.security.pkcs12.PKCS12KeyStore$CertEntry> certEntries;
    descriptor: Ljava/util/ArrayList;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/ArrayList<Lsun/security/pkcs12/PKCS12KeyStore$CertEntry;>;

  private static final long[][] PKCS12_HEADER_PATTERNS;
    descriptor: [[J
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final long[][] PKCS12_HEADER_MASKS;
    descriptor: [[J
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=8, locals=1, args_size=0
         0: .line 150
            iconst_3
            anewarray java.lang.String
            dup
            iconst_0
         1: .line 151
            ldc "1.2.840.113549.1.9.20"
            aastore
            dup
            iconst_1
         2: .line 152
            ldc "1.2.840.113549.1.9.21"
            aastore
            dup
            iconst_2
         3: .line 153
            ldc "2.16.840.1.113894.746875.1.1"
            aastore
         4: .line 150
            putstatic sun.security.pkcs12.PKCS12KeyStore.CORE_ATTRIBUTES:[Ljava/lang/String;
         5: .line 156
            ldc "pkcs12"
            invokestatic sun.security.util.Debug.getInstance:(Ljava/lang/String;)Lsun/security/util/Debug;
            putstatic sun.security.pkcs12.PKCS12KeyStore.debug:Lsun/security/util/Debug;
         6: .line 158
            bipush 9
            newarray 10
            dup
            iconst_0
            iconst_1
            iastore
            dup
            iconst_1
            iconst_2
            iastore
            dup
            iconst_2
            sipush 840
            iastore
            dup
            iconst_3
            ldc 113549
            iastore
            dup
            iconst_4
            iconst_1
            iastore
            dup
            iconst_5
            bipush 12
            iastore
            dup
            bipush 6
            bipush 10
            iastore
            dup
            bipush 7
            iconst_1
            iastore
            dup
            bipush 8
            iconst_2
            iastore
            putstatic sun.security.pkcs12.PKCS12KeyStore.keyBag:[I
         7: .line 159
            bipush 9
            newarray 10
            dup
            iconst_0
            iconst_1
            iastore
            dup
            iconst_1
            iconst_2
            iastore
            dup
            iconst_2
            sipush 840
            iastore
            dup
            iconst_3
            ldc 113549
            iastore
            dup
            iconst_4
            iconst_1
            iastore
            dup
            iconst_5
            bipush 12
            iastore
            dup
            bipush 6
            bipush 10
            iastore
            dup
            bipush 7
            iconst_1
            iastore
            dup
            bipush 8
            iconst_3
            iastore
            putstatic sun.security.pkcs12.PKCS12KeyStore.certBag:[I
         8: .line 160
            bipush 9
            newarray 10
            dup
            iconst_0
            iconst_1
            iastore
            dup
            iconst_1
            iconst_2
            iastore
            dup
            iconst_2
            sipush 840
            iastore
            dup
            iconst_3
            ldc 113549
            iastore
            dup
            iconst_4
            iconst_1
            iastore
            dup
            iconst_5
            bipush 12
            iastore
            dup
            bipush 6
            bipush 10
            iastore
            dup
            bipush 7
            iconst_1
            iastore
            dup
            bipush 8
            iconst_5
            iastore
            putstatic sun.security.pkcs12.PKCS12KeyStore.secretBag:[I
         9: .line 162
            bipush 7
            newarray 10
            dup
            iconst_0
            iconst_1
            iastore
            dup
            iconst_1
            iconst_2
            iastore
            dup
            iconst_2
            sipush 840
            iastore
            dup
            iconst_3
            ldc 113549
            iastore
            dup
            iconst_4
            iconst_1
            iastore
            dup
            iconst_5
            bipush 9
            iastore
            dup
            bipush 6
            bipush 20
            iastore
            putstatic sun.security.pkcs12.PKCS12KeyStore.pkcs9Name:[I
        10: .line 163
            bipush 7
            newarray 10
            dup
            iconst_0
            iconst_1
            iastore
            dup
            iconst_1
            iconst_2
            iastore
            dup
            iconst_2
            sipush 840
            iastore
            dup
            iconst_3
            ldc 113549
            iastore
            dup
            iconst_4
            iconst_1
            iastore
            dup
            iconst_5
            bipush 9
            iastore
            dup
            bipush 6
            bipush 21
            iastore
            putstatic sun.security.pkcs12.PKCS12KeyStore.pkcs9KeyId:[I
        11: .line 165
            bipush 8
            newarray 10
            dup
            iconst_0
            iconst_1
            iastore
            dup
            iconst_1
            iconst_2
            iastore
            dup
            iconst_2
            sipush 840
            iastore
            dup
            iconst_3
            ldc 113549
            iastore
            dup
            iconst_4
            iconst_1
            iastore
            dup
            iconst_5
            bipush 9
            iastore
            dup
            bipush 6
            bipush 22
            iastore
            dup
            bipush 7
            iconst_1
            iastore
            putstatic sun.security.pkcs12.PKCS12KeyStore.pkcs9certType:[I
        12: .line 167
            bipush 7
            newarray 10
            dup
            iconst_0
            iconst_1
            iastore
            dup
            iconst_1
            iconst_2
            iastore
            dup
            iconst_2
            sipush 840
            iastore
            dup
            iconst_3
            ldc 113549
            iastore
            dup
            iconst_4
            iconst_1
            iastore
            dup
            iconst_5
            iconst_5
            iastore
            dup
            bipush 6
            bipush 13
            iastore
            putstatic sun.security.pkcs12.PKCS12KeyStore.pbes2:[I
        13: .line 174
            bipush 8
            newarray 10
            dup
            iconst_0
            iconst_2
            iastore
            dup
            iconst_1
            bipush 16
            iastore
            dup
            iconst_2
            sipush 840
            iastore
            dup
            iconst_3
            iconst_1
            iastore
            dup
            iconst_4
            ldc 113894
            iastore
            dup
            iconst_5
            ldc 746875
            iastore
            dup
            bipush 6
            iconst_1
            iastore
            dup
            bipush 7
            iconst_1
            iastore
        14: .line 173
            putstatic sun.security.pkcs12.PKCS12KeyStore.TrustedKeyUsage:[I
        15: .line 175
            iconst_5
            newarray 10
            dup
            iconst_0
            iconst_2
            iastore
            dup
            iconst_1
            iconst_5
            iastore
            dup
            iconst_2
            bipush 29
            iastore
            dup
            iconst_3
            bipush 37
            iastore
            putstatic sun.security.pkcs12.PKCS12KeyStore.AnyExtendedKeyUsage:[I
        16: .line 216
            new sun.security.util.ObjectIdentifier
            dup
            getstatic sun.security.pkcs12.PKCS12KeyStore.keyBag:[I
            invokespecial sun.security.util.ObjectIdentifier.<init>:([I)V
            putstatic sun.security.pkcs12.PKCS12KeyStore.PKCS8ShroudedKeyBag_OID:Lsun/security/util/ObjectIdentifier;
        17: .line 217
            new sun.security.util.ObjectIdentifier
            dup
            getstatic sun.security.pkcs12.PKCS12KeyStore.certBag:[I
            invokespecial sun.security.util.ObjectIdentifier.<init>:([I)V
            putstatic sun.security.pkcs12.PKCS12KeyStore.CertBag_OID:Lsun/security/util/ObjectIdentifier;
        18: .line 218
            new sun.security.util.ObjectIdentifier
            dup
            getstatic sun.security.pkcs12.PKCS12KeyStore.secretBag:[I
            invokespecial sun.security.util.ObjectIdentifier.<init>:([I)V
            putstatic sun.security.pkcs12.PKCS12KeyStore.SecretBag_OID:Lsun/security/util/ObjectIdentifier;
        19: .line 219
            new sun.security.util.ObjectIdentifier
            dup
            getstatic sun.security.pkcs12.PKCS12KeyStore.pkcs9Name:[I
            invokespecial sun.security.util.ObjectIdentifier.<init>:([I)V
            putstatic sun.security.pkcs12.PKCS12KeyStore.PKCS9FriendlyName_OID:Lsun/security/util/ObjectIdentifier;
        20: .line 220
            new sun.security.util.ObjectIdentifier
            dup
            getstatic sun.security.pkcs12.PKCS12KeyStore.pkcs9KeyId:[I
            invokespecial sun.security.util.ObjectIdentifier.<init>:([I)V
            putstatic sun.security.pkcs12.PKCS12KeyStore.PKCS9LocalKeyId_OID:Lsun/security/util/ObjectIdentifier;
        21: .line 221
            new sun.security.util.ObjectIdentifier
            dup
            getstatic sun.security.pkcs12.PKCS12KeyStore.pkcs9certType:[I
            invokespecial sun.security.util.ObjectIdentifier.<init>:([I)V
            putstatic sun.security.pkcs12.PKCS12KeyStore.PKCS9CertType_OID:Lsun/security/util/ObjectIdentifier;
        22: .line 222
            new sun.security.util.ObjectIdentifier
            dup
            getstatic sun.security.pkcs12.PKCS12KeyStore.pbes2:[I
            invokespecial sun.security.util.ObjectIdentifier.<init>:([I)V
            putstatic sun.security.pkcs12.PKCS12KeyStore.pbes2_OID:Lsun/security/util/ObjectIdentifier;
        23: .line 223
            new sun.security.util.ObjectIdentifier
            dup
            getstatic sun.security.pkcs12.PKCS12KeyStore.TrustedKeyUsage:[I
            invokespecial sun.security.util.ObjectIdentifier.<init>:([I)V
            putstatic sun.security.pkcs12.PKCS12KeyStore.TrustedKeyUsage_OID:Lsun/security/util/ObjectIdentifier;
        24: .line 224
            iconst_1
            anewarray sun.security.util.ObjectIdentifier
            dup
            iconst_0
        25: .line 225
            new sun.security.util.ObjectIdentifier
            dup
            getstatic sun.security.pkcs12.PKCS12KeyStore.AnyExtendedKeyUsage:[I
            invokespecial sun.security.util.ObjectIdentifier.<init>:([I)V
            aastore
        26: .line 224
            putstatic sun.security.pkcs12.PKCS12KeyStore.AnyUsage:[Lsun/security/util/ObjectIdentifier;
        27: .line 226
            goto 30
      StackMap locals:
      StackMap stack: java.io.IOException
        28: astore 0 /* ioe */
        start local 0 // java.io.IOException ioe
        29: .line 227
            new java.lang.AssertionError
            dup
            ldc "OID not initialized"
            aload 0 /* ioe */
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 0 // java.io.IOException ioe
        30: .line 2607
      StackMap locals:
      StackMap stack:
            bipush 9
            anewarray long[]
            dup
            iconst_0
        31: .line 2608
            iconst_3
            newarray 11
            dup
            iconst_0
            ldc 3494795514211237894
            lastore
            dup
            iconst_1
            ldc 660487941423303937
            lastore
            dup
            iconst_2
            ldc 504861105470833664
            lastore
            aastore
            dup
            iconst_1
        32: .line 2609
            iconst_3
            newarray 11
            dup
            iconst_0
            ldc 3495356260826546992
            lastore
            dup
            iconst_1
            ldc -9079256822855334328
            lastore
            dup
            iconst_2
            ldc -8721487855316000640
            lastore
            aastore
            dup
            iconst_2
        33: .line 2610
            iconst_3
            newarray 11
            dup
            iconst_0
            ldc 3458766717192241158
            lastore
            dup
            iconst_1
            ldc 660487941423303937
            lastore
            dup
            iconst_2
            ldc 504860555169759232
            lastore
            aastore
            dup
            iconst_3
        34: .line 2611
            iconst_3
            newarray 11
            dup
            iconst_0
            ldc 3495074794423136385
            lastore
            dup
            iconst_1
            ldc 1698928106440439
            lastore
            dup
            iconst_2
            ldc 937037901038944260
            lastore
            aastore
            dup
            iconst_4
        35: .line 2612
            iconst_3
            newarray 11
            dup
            iconst_0
            ldc 3495356260826546992
            lastore
            dup
            iconst_1
            ldc -9151307806378932090
            lastore
            dup
            iconst_2
            ldc -644858042040418048
            lastore
            aastore
            dup
            iconst_5
        36: .line 2613
            iconst_3
            newarray 11
            dup
            iconst_0
            ldc 3495637735769768195
            lastore
            dup
            iconst_1
            ldc 3495356260894190214
            lastore
            dup
            iconst_2
            ldc 5226136052833911200
            lastore
            aastore
            dup
            bipush 6
        37: .line 2614
            iconst_3
            newarray 11
            dup
            iconst_0
            ldc 3495637735769768195
            lastore
            dup
            iconst_1
            ldc 3495637735770032426
            lastore
            dup
            iconst_2
            ldc -8770611878670825727
            lastore
            aastore
            dup
            bipush 7
        38: .line 2615
            iconst_3
            newarray 11
            dup
            iconst_0
            ldc 3495919210746348033
            lastore
            dup
            iconst_1
            ldc 229827617019135497
            lastore
            dup
            iconst_2
            ldc 3064216340979843335
            lastore
            aastore
            dup
            bipush 8
        39: .line 2616
            iconst_3
            newarray 11
            dup
            iconst_0
            ldc 3495919210746348033
            lastore
            dup
            iconst_1
            ldc 229828716530761734
            lastore
            dup
            iconst_2
            ldc 660487941423303937
            lastore
            aastore
        40: .line 2607
            putstatic sun.security.pkcs12.PKCS12KeyStore.PKCS12_HEADER_PATTERNS:[[J
        41: .line 2619
            bipush 9
            anewarray long[]
            dup
            iconst_0
        42: .line 2620
            iconst_3
            newarray 11
            dup
            iconst_0
            ldc -1
            lastore
            dup
            iconst_1
            ldc -1
            lastore
            dup
            iconst_2
            ldc -256
            lastore
            aastore
            dup
            iconst_1
        43: .line 2621
            iconst_3
            newarray 11
            dup
            iconst_0
            ldc -281470681743361
            lastore
            dup
            iconst_1
            ldc -72056494526300161
            lastore
            dup
            iconst_2
            ldc -16
            lastore
            aastore
            dup
            iconst_2
        44: .line 2622
            iconst_3
            newarray 11
            dup
            iconst_0
            ldc -71776119061282561
            lastore
            dup
            iconst_1
            ldc -1
            lastore
            dup
            iconst_2
            ldc -1095233437696
            lastore
            aastore
            dup
            iconst_3
        45: .line 2623
            iconst_3
            newarray 11
            dup
            iconst_0
            ldc -280375465082881
            lastore
            dup
            iconst_1
            ldc 72057594037927935
            lastore
            dup
            iconst_2
            ldc -65281
            lastore
            aastore
            dup
            iconst_4
        46: .line 2624
            iconst_3
            newarray 11
            dup
            iconst_0
            ldc -281470681743361
            lastore
            dup
            iconst_1
            ldc -71776119061217281
            lastore
            dup
            iconst_2
            ldc -256
            lastore
            aastore
            dup
            iconst_5
        47: .line 2625
            iconst_3
            newarray 11
            dup
            iconst_0
            ldc -281474959933441
            lastore
            dup
            iconst_1
            ldc -281470681743361
            lastore
            dup
            iconst_2
            ldc -1
            lastore
            aastore
            dup
            bipush 6
        48: .line 2626
            iconst_3
            newarray 11
            dup
            iconst_0
            ldc -281474959933441
            lastore
            dup
            iconst_1
            ldc -281474959933441
            lastore
            dup
            iconst_2
            ldc -1
            lastore
            aastore
            dup
            bipush 7
        49: .line 2627
            iconst_3
            newarray 11
            dup
            iconst_0
            ldc -281474976645121
            lastore
            dup
            iconst_1
            ldc -1099511562241
            lastore
            dup
            iconst_2
            ldc -1
            lastore
            aastore
            dup
            bipush 8
        50: .line 2628
            iconst_3
            newarray 11
            dup
            iconst_0
            ldc -281474976645121
            lastore
            dup
            iconst_1
            ldc -1099511627521
            lastore
            dup
            iconst_2
            ldc -1
            lastore
            aastore
        51: .line 2619
            putstatic sun.security.pkcs12.PKCS12KeyStore.PKCS12_HEADER_MASKS:[[J
        52: .line 2629
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature
           29   30     0   ioe  Ljava/io/IOException;
      Exception table:
        from    to  target  type
          16    27      28  Class java.io.IOException

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // sun.security.pkcs12.PKCS12KeyStore this
         0: .line 135
            aload 0 /* this */
            invokespecial java.security.KeyStoreSpi.<init>:()V
         1: .line 187
            aload 0 /* this */
            iconst_0
            putfield sun.security.pkcs12.PKCS12KeyStore.counter:I
         2: .line 192
            aload 0 /* this */
            iconst_0
            putfield sun.security.pkcs12.PKCS12KeyStore.privateKeyCount:I
         3: .line 195
            aload 0 /* this */
            iconst_0
            putfield sun.security.pkcs12.PKCS12KeyStore.secretKeyCount:I
         4: .line 198
            aload 0 /* this */
            iconst_0
            putfield sun.security.pkcs12.PKCS12KeyStore.certificateCount:I
         5: .line 206
            aload 0 /* this */
            aconst_null
            putfield sun.security.pkcs12.PKCS12KeyStore.certProtectionAlgorithm:Ljava/lang/String;
         6: .line 207
            aload 0 /* this */
            iconst_m1
            putfield sun.security.pkcs12.PKCS12KeyStore.certPbeIterationCount:I
         7: .line 208
            aload 0 /* this */
            aconst_null
            putfield sun.security.pkcs12.PKCS12KeyStore.macAlgorithm:Ljava/lang/String;
         8: .line 209
            aload 0 /* this */
            iconst_m1
            putfield sun.security.pkcs12.PKCS12KeyStore.macIterationCount:I
         9: .line 307
            aload 0 /* this */
        10: .line 308
            new java.util.LinkedHashMap
            dup
            invokespecial java.util.LinkedHashMap.<init>:()V
            invokestatic java.util.Collections.synchronizedMap:(Ljava/util/Map;)Ljava/util/Map;
            putfield sun.security.pkcs12.PKCS12KeyStore.entries:Ljava/util/Map;
        11: .line 310
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield sun.security.pkcs12.PKCS12KeyStore.keyList:Ljava/util/ArrayList;
        12: .line 311
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield sun.security.pkcs12.PKCS12KeyStore.allCerts:Ljava/util/List;
        13: .line 312
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield sun.security.pkcs12.PKCS12KeyStore.certEntries:Ljava/util/ArrayList;
        14: .line 135
            return
        end local 0 // sun.security.pkcs12.PKCS12KeyStore this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   15     0  this  Lsun/security/pkcs12/PKCS12KeyStore;

  public java.security.Key engineGetKey(java.lang.String, char[]);
    descriptor: (Ljava/lang/String;[C)Ljava/security/Key;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=12, args_size=3
        start local 0 // sun.security.pkcs12.PKCS12KeyStore this
        start local 1 // java.lang.String alias
        start local 2 // char[] password
         0: .line 332
            aload 0 /* this */
            getfield sun.security.pkcs12.PKCS12KeyStore.entries:Ljava/util/Map;
            aload 1 /* alias */
            getstatic java.util.Locale.ENGLISH:Ljava/util/Locale;
            invokevirtual java.lang.String.toLowerCase:(Ljava/util/Locale;)Ljava/lang/String;
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast sun.security.pkcs12.PKCS12KeyStore$Entry
            astore 3 /* entry */
        start local 3 // sun.security.pkcs12.PKCS12KeyStore$Entry entry
         1: .line 333
            aconst_null
            astore 4 /* key */
        start local 4 // java.security.Key key
         2: .line 335
            aload 3 /* entry */
            ifnull 3
            aload 3 /* entry */
            instanceof sun.security.pkcs12.PKCS12KeyStore$KeyEntry
            ifne 4
         3: .line 336
      StackMap locals: sun.security.pkcs12.PKCS12KeyStore$Entry java.security.Key
      StackMap stack:
            aconst_null
            areturn
         4: .line 340
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 5 /* encrBytes */
        start local 5 // byte[] encrBytes
         5: .line 341
            aload 3 /* entry */
            instanceof sun.security.pkcs12.PKCS12KeyStore$PrivateKeyEntry
            ifeq 8
         6: .line 342
            aload 3 /* entry */
            checkcast sun.security.pkcs12.PKCS12KeyStore$PrivateKeyEntry
            getfield sun.security.pkcs12.PKCS12KeyStore$PrivateKeyEntry.protectedPrivKey:[B
            astore 5 /* encrBytes */
         7: .line 343
            goto 12
      StackMap locals: byte[]
      StackMap stack:
         8: aload 3 /* entry */
            instanceof sun.security.pkcs12.PKCS12KeyStore$SecretKeyEntry
            ifeq 11
         9: .line 344
            aload 3 /* entry */
            checkcast sun.security.pkcs12.PKCS12KeyStore$SecretKeyEntry
            getfield sun.security.pkcs12.PKCS12KeyStore$SecretKeyEntry.protectedSecretKey:[B
            astore 5 /* encrBytes */
        10: .line 345
            goto 12
        11: .line 346
      StackMap locals:
      StackMap stack:
            new java.security.UnrecoverableKeyException
            dup
            ldc "Error locating key"
            invokespecial java.security.UnrecoverableKeyException.<init>:(Ljava/lang/String;)V
            athrow
        12: .line 356
      StackMap locals:
      StackMap stack:
            new sun.security.pkcs.EncryptedPrivateKeyInfo
            dup
            aload 5 /* encrBytes */
            invokespecial sun.security.pkcs.EncryptedPrivateKeyInfo.<init>:([B)V
        13: .line 355
            astore 9 /* encrInfo */
        start local 9 // sun.security.pkcs.EncryptedPrivateKeyInfo encrInfo
        14: .line 357
            aload 9 /* encrInfo */
            invokevirtual sun.security.pkcs.EncryptedPrivateKeyInfo.getEncryptedData:()[B
            astore 6 /* encryptedKey */
        start local 6 // byte[] encryptedKey
        15: .line 360
            new sun.security.util.DerValue
            dup
            aload 9 /* encrInfo */
            invokevirtual sun.security.pkcs.EncryptedPrivateKeyInfo.getAlgorithm:()Lsun/security/x509/AlgorithmId;
            invokevirtual sun.security.x509.AlgorithmId.encode:()[B
            invokespecial sun.security.util.DerValue.<init>:([B)V
            astore 10 /* val */
        start local 10 // sun.security.util.DerValue val
        16: .line 361
            aload 10 /* val */
            invokevirtual sun.security.util.DerValue.toDerInputStream:()Lsun/security/util/DerInputStream;
            astore 11 /* in */
        start local 11 // sun.security.util.DerInputStream in
        17: .line 362
            aload 11 /* in */
            invokevirtual sun.security.util.DerInputStream.getOID:()Lsun/security/util/ObjectIdentifier;
            astore 8 /* algOid */
        start local 8 // sun.security.util.ObjectIdentifier algOid
        18: .line 363
            aload 0 /* this */
            aload 8 /* algOid */
            aload 11 /* in */
            invokevirtual sun.security.pkcs12.PKCS12KeyStore.parseAlgParameters:(Lsun/security/util/ObjectIdentifier;Lsun/security/util/DerInputStream;)Ljava/security/AlgorithmParameters;
            astore 7 /* algParams */
        end local 11 // sun.security.util.DerInputStream in
        end local 10 // sun.security.util.DerValue val
        end local 9 // sun.security.pkcs.EncryptedPrivateKeyInfo encrInfo
        start local 7 // java.security.AlgorithmParameters algParams
        19: .line 365
            goto 27
        end local 8 // sun.security.util.ObjectIdentifier algOid
        end local 7 // java.security.AlgorithmParameters algParams
        end local 6 // byte[] encryptedKey
      StackMap locals:
      StackMap stack: java.io.IOException
        20: astore 9 /* ioe */
        start local 9 // java.io.IOException ioe
        21: .line 367
            new java.security.UnrecoverableKeyException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Private key not stored as PKCS#8 EncryptedPrivateKeyInfo: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        22: .line 368
            aload 9 /* ioe */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        23: .line 367
            invokespecial java.security.UnrecoverableKeyException.<init>:(Ljava/lang/String;)V
        24: .line 366
            astore 10 /* uke */
        start local 10 // java.security.UnrecoverableKeyException uke
        25: .line 369
            aload 10 /* uke */
            aload 9 /* ioe */
            invokevirtual java.security.UnrecoverableKeyException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            pop
        26: .line 370
            aload 10 /* uke */
            athrow
        end local 10 // java.security.UnrecoverableKeyException uke
        end local 9 // java.io.IOException ioe
        start local 6 // byte[] encryptedKey
        start local 7 // java.security.AlgorithmParameters algParams
        start local 8 // sun.security.util.ObjectIdentifier algOid
        27: .line 377
      StackMap locals: byte[] java.security.AlgorithmParameters sun.security.util.ObjectIdentifier
      StackMap stack:
            aload 7 /* algParams */
            ifnull 36
        28: .line 380
            aload 7 /* algParams */
            ldc Ljavax/crypto/spec/PBEParameterSpec;
            invokevirtual java.security.AlgorithmParameters.getParameterSpec:(Ljava/lang/Class;)Ljava/security/spec/AlgorithmParameterSpec;
            checkcast javax.crypto.spec.PBEParameterSpec
        29: .line 379
            astore 9 /* pbeSpec */
        start local 9 // javax.crypto.spec.PBEParameterSpec pbeSpec
        30: .line 381
            goto 33
        end local 9 // javax.crypto.spec.PBEParameterSpec pbeSpec
      StackMap locals:
      StackMap stack: java.security.spec.InvalidParameterSpecException
        31: pop
        32: .line 382
            new java.io.IOException
            dup
            ldc "Invalid PBE algorithm parameters"
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
        start local 9 // javax.crypto.spec.PBEParameterSpec pbeSpec
        33: .line 384
      StackMap locals: javax.crypto.spec.PBEParameterSpec
      StackMap stack:
            aload 9 /* pbeSpec */
            invokevirtual javax.crypto.spec.PBEParameterSpec.getIterationCount:()I
            istore 10 /* ic */
        start local 10 // int ic
        34: .line 386
            iload 10 /* ic */
            ldc 5000000
            if_icmple 37
        35: .line 387
            new java.io.IOException
            dup
            ldc "key PBE iteration count too large"
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
        end local 10 // int ic
        end local 9 // javax.crypto.spec.PBEParameterSpec pbeSpec
        36: .line 390
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 10 /* ic */
        start local 10 // int ic
        37: .line 393
      StackMap locals: sun.security.pkcs12.PKCS12KeyStore java.lang.String char[] sun.security.pkcs12.PKCS12KeyStore$Entry java.security.Key byte[] byte[] java.security.AlgorithmParameters sun.security.util.ObjectIdentifier top int
      StackMap stack:
            aload 0 /* this */
            aload 8 /* algOid */
            aload 7 /* algParams */
            aload 6 /* encryptedKey */
            aload 3 /* entry */
            aload 1 /* alias */
            iload 10 /* ic */
            invokedynamic tryOnce(Lsun/security/pkcs12/PKCS12KeyStore;Lsun/security/util/ObjectIdentifier;Ljava/security/AlgorithmParameters;[BLsun/security/pkcs12/PKCS12KeyStore$Entry;Ljava/lang/String;I)Lsun/security/pkcs12/PKCS12KeyStore$RetryWithZero;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  ([C)Ljava/lang/Object;
                  sun/security/pkcs12/PKCS12KeyStore.lambda$0(Lsun/security/util/ObjectIdentifier;Ljava/security/AlgorithmParameters;[BLsun/security/pkcs12/PKCS12KeyStore$Entry;Ljava/lang/String;I[C)Ljava/security/Key; (7)
                  ([C)Ljava/security/Key;
        38: .line 453
            aload 2 /* password */
        39: .line 393
            invokestatic sun.security.pkcs12.PKCS12KeyStore$RetryWithZero.run:(Lsun/security/pkcs12/PKCS12KeyStore$RetryWithZero;[C)Ljava/lang/Object;
            checkcast java.security.Key
            astore 4 /* key */
        end local 10 // int ic
        40: .line 455
            goto 48
      StackMap locals: sun.security.pkcs12.PKCS12KeyStore java.lang.String char[] sun.security.pkcs12.PKCS12KeyStore$Entry java.security.Key byte[] byte[] java.security.AlgorithmParameters sun.security.util.ObjectIdentifier
      StackMap stack: java.lang.Exception
        41: astore 9 /* e */
        start local 9 // java.lang.Exception e
        42: .line 457
            new java.security.UnrecoverableKeyException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Get Key failed: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        43: .line 458
            aload 9 /* e */
            invokevirtual java.lang.Exception.getMessage:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        44: .line 457
            invokespecial java.security.UnrecoverableKeyException.<init>:(Ljava/lang/String;)V
        45: .line 456
            astore 10 /* uke */
        start local 10 // java.security.UnrecoverableKeyException uke
        46: .line 459
            aload 10 /* uke */
            aload 9 /* e */
            invokevirtual java.security.UnrecoverableKeyException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            pop
        47: .line 460
            aload 10 /* uke */
            athrow
        end local 10 // java.security.UnrecoverableKeyException uke
        end local 9 // java.lang.Exception e
        48: .line 462
      StackMap locals:
      StackMap stack:
            aload 4 /* key */
            areturn
        end local 8 // sun.security.util.ObjectIdentifier algOid
        end local 7 // java.security.AlgorithmParameters algParams
        end local 6 // byte[] encryptedKey
        end local 5 // byte[] encrBytes
        end local 4 // java.security.Key key
        end local 3 // sun.security.pkcs12.PKCS12KeyStore$Entry entry
        end local 2 // char[] password
        end local 1 // java.lang.String alias
        end local 0 // sun.security.pkcs12.PKCS12KeyStore this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   49     0          this  Lsun/security/pkcs12/PKCS12KeyStore;
            0   49     1         alias  Ljava/lang/String;
            0   49     2      password  [C
            1   49     3         entry  Lsun/security/pkcs12/PKCS12KeyStore$Entry;
            2   49     4           key  Ljava/security/Key;
            5   49     5     encrBytes  [B
           15   20     6  encryptedKey  [B
           27   49     6  encryptedKey  [B
           19   20     7     algParams  Ljava/security/AlgorithmParameters;
           27   49     7     algParams  Ljava/security/AlgorithmParameters;
           18   20     8        algOid  Lsun/security/util/ObjectIdentifier;
           27   49     8        algOid  Lsun/security/util/ObjectIdentifier;
           14   19     9      encrInfo  Lsun/security/pkcs/EncryptedPrivateKeyInfo;
           16   19    10           val  Lsun/security/util/DerValue;
           17   19    11            in  Lsun/security/util/DerInputStream;
           21   27     9           ioe  Ljava/io/IOException;
           25   27    10           uke  Ljava/security/UnrecoverableKeyException;
           30   31     9       pbeSpec  Ljavax/crypto/spec/PBEParameterSpec;
           33   36     9       pbeSpec  Ljavax/crypto/spec/PBEParameterSpec;
           34   36    10            ic  I
           37   40    10            ic  I
           42   48     9             e  Ljava/lang/Exception;
           46   48    10           uke  Ljava/security/UnrecoverableKeyException;
      Exception table:
        from    to  target  type
          12    19      20  Class java.io.IOException
          28    30      31  Class java.security.spec.InvalidParameterSpecException
          27    40      41  Class java.lang.Exception
    Exceptions:
      throws java.security.NoSuchAlgorithmException, java.security.UnrecoverableKeyException
    MethodParameters:
          Name  Flags
      alias     
      password  

  public java.security.cert.Certificate[] engineGetCertificateChain(java.lang.String);
    descriptor: (Ljava/lang/String;)[Ljava/security/cert/Certificate;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // sun.security.pkcs12.PKCS12KeyStore this
        start local 1 // java.lang.String alias
         0: .line 477
            aload 0 /* this */
            getfield sun.security.pkcs12.PKCS12KeyStore.entries:Ljava/util/Map;
            aload 1 /* alias */
            getstatic java.util.Locale.ENGLISH:Ljava/util/Locale;
            invokevirtual java.lang.String.toLowerCase:(Ljava/util/Locale;)Ljava/lang/String;
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast sun.security.pkcs12.PKCS12KeyStore$Entry
            astore 2 /* entry */
        start local 2 // sun.security.pkcs12.PKCS12KeyStore$Entry entry
         1: .line 478
            aload 2 /* entry */
            ifnull 10
            aload 2 /* entry */
            instanceof sun.security.pkcs12.PKCS12KeyStore$PrivateKeyEntry
            ifeq 10
         2: .line 479
            aload 2 /* entry */
            checkcast sun.security.pkcs12.PKCS12KeyStore$PrivateKeyEntry
            getfield sun.security.pkcs12.PKCS12KeyStore$PrivateKeyEntry.chain:[Ljava/security/cert/Certificate;
            ifnonnull 4
         3: .line 480
            aconst_null
            areturn
         4: .line 483
      StackMap locals: sun.security.pkcs12.PKCS12KeyStore$Entry
      StackMap stack:
            getstatic sun.security.pkcs12.PKCS12KeyStore.debug:Lsun/security/util/Debug;
            ifnull 9
         5: .line 484
            getstatic sun.security.pkcs12.PKCS12KeyStore.debug:Lsun/security/util/Debug;
            new java.lang.StringBuilder
            dup
            ldc "Retrieved a "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         6: .line 485
            aload 2 /* entry */
            checkcast sun.security.pkcs12.PKCS12KeyStore$PrivateKeyEntry
            getfield sun.security.pkcs12.PKCS12KeyStore$PrivateKeyEntry.chain:[Ljava/security/cert/Certificate;
            arraylength
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
         7: .line 486
            ldc "-certificate chain at alias '"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 1 /* alias */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "'"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         8: .line 484
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
         9: .line 489
      StackMap locals:
      StackMap stack:
            aload 2 /* entry */
            checkcast sun.security.pkcs12.PKCS12KeyStore$PrivateKeyEntry
            getfield sun.security.pkcs12.PKCS12KeyStore$PrivateKeyEntry.chain:[Ljava/security/cert/Certificate;
            invokevirtual java.security.cert.Certificate[].clone:()Ljava/lang/Object;
            checkcast java.security.cert.Certificate[]
            areturn
        10: .line 492
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 2 // sun.security.pkcs12.PKCS12KeyStore$Entry entry
        end local 1 // java.lang.String alias
        end local 0 // sun.security.pkcs12.PKCS12KeyStore this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   11     0   this  Lsun/security/pkcs12/PKCS12KeyStore;
            0   11     1  alias  Ljava/lang/String;
            1   11     2  entry  Lsun/security/pkcs12/PKCS12KeyStore$Entry;
    MethodParameters:
       Name  Flags
      alias  

  public java.security.cert.Certificate engineGetCertificate(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/security/cert/Certificate;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // sun.security.pkcs12.PKCS12KeyStore this
        start local 1 // java.lang.String alias
         0: .line 512
            aload 0 /* this */
            getfield sun.security.pkcs12.PKCS12KeyStore.entries:Ljava/util/Map;
            aload 1 /* alias */
            getstatic java.util.Locale.ENGLISH:Ljava/util/Locale;
            invokevirtual java.lang.String.toLowerCase:(Ljava/util/Locale;)Ljava/lang/String;
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast sun.security.pkcs12.PKCS12KeyStore$Entry
            astore 2 /* entry */
        start local 2 // sun.security.pkcs12.PKCS12KeyStore$Entry entry
         1: .line 513
            aload 2 /* entry */
            ifnonnull 3
         2: .line 514
            aconst_null
            areturn
         3: .line 516
      StackMap locals: sun.security.pkcs12.PKCS12KeyStore$Entry
      StackMap stack:
            aload 2 /* entry */
            instanceof sun.security.pkcs12.PKCS12KeyStore$CertEntry
            ifeq 18
         4: .line 517
            aload 2 /* entry */
            checkcast sun.security.pkcs12.PKCS12KeyStore$CertEntry
            getfield sun.security.pkcs12.PKCS12KeyStore$CertEntry.trustedKeyUsage:[Lsun/security/util/ObjectIdentifier;
            ifnull 18
         5: .line 519
            getstatic sun.security.pkcs12.PKCS12KeyStore.debug:Lsun/security/util/Debug;
            ifnull 17
         6: .line 520
            getstatic sun.security.pkcs12.PKCS12KeyStore.AnyUsage:[Lsun/security/util/ObjectIdentifier;
         7: .line 521
            aload 2 /* entry */
            checkcast sun.security.pkcs12.PKCS12KeyStore$CertEntry
            getfield sun.security.pkcs12.PKCS12KeyStore$CertEntry.trustedKeyUsage:[Lsun/security/util/ObjectIdentifier;
         8: .line 520
            invokestatic java.util.Arrays.equals:([Ljava/lang/Object;[Ljava/lang/Object;)Z
         9: .line 521
            ifeq 14
        10: .line 522
            getstatic sun.security.pkcs12.PKCS12KeyStore.debug:Lsun/security/util/Debug;
            new java.lang.StringBuilder
            dup
            ldc "Retrieved a certificate at alias '"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* alias */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        11: .line 523
            ldc "' (trusted for any purpose)"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        12: .line 522
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        13: .line 524
            goto 17
        14: .line 525
      StackMap locals:
      StackMap stack:
            getstatic sun.security.pkcs12.PKCS12KeyStore.debug:Lsun/security/util/Debug;
            new java.lang.StringBuilder
            dup
            ldc "Retrieved a certificate at alias '"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* alias */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        15: .line 526
            ldc "' (trusted for limited purposes)"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        16: .line 525
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        17: .line 530
      StackMap locals:
      StackMap stack:
            aload 2 /* entry */
            checkcast sun.security.pkcs12.PKCS12KeyStore$CertEntry
            getfield sun.security.pkcs12.PKCS12KeyStore$CertEntry.cert:Ljava/security/cert/X509Certificate;
            areturn
        18: .line 532
      StackMap locals:
      StackMap stack:
            aload 2 /* entry */
            instanceof sun.security.pkcs12.PKCS12KeyStore$PrivateKeyEntry
            ifeq 26
        19: .line 533
            aload 2 /* entry */
            checkcast sun.security.pkcs12.PKCS12KeyStore$PrivateKeyEntry
            getfield sun.security.pkcs12.PKCS12KeyStore$PrivateKeyEntry.chain:[Ljava/security/cert/Certificate;
            ifnonnull 21
        20: .line 534
            aconst_null
            areturn
        21: .line 537
      StackMap locals:
      StackMap stack:
            getstatic sun.security.pkcs12.PKCS12KeyStore.debug:Lsun/security/util/Debug;
            ifnull 25
        22: .line 538
            getstatic sun.security.pkcs12.PKCS12KeyStore.debug:Lsun/security/util/Debug;
            new java.lang.StringBuilder
            dup
            ldc "Retrieved a certificate at alias '"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* alias */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        23: .line 539
            ldc "'"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        24: .line 538
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        25: .line 542
      StackMap locals:
      StackMap stack:
            aload 2 /* entry */
            checkcast sun.security.pkcs12.PKCS12KeyStore$PrivateKeyEntry
            getfield sun.security.pkcs12.PKCS12KeyStore$PrivateKeyEntry.chain:[Ljava/security/cert/Certificate;
            iconst_0
            aaload
            areturn
        26: .line 546
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 2 // sun.security.pkcs12.PKCS12KeyStore$Entry entry
        end local 1 // java.lang.String alias
        end local 0 // sun.security.pkcs12.PKCS12KeyStore this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   27     0   this  Lsun/security/pkcs12/PKCS12KeyStore;
            0   27     1  alias  Ljava/lang/String;
            1   27     2  entry  Lsun/security/pkcs12/PKCS12KeyStore$Entry;
    MethodParameters:
       Name  Flags
      alias  

  public java.util.Date engineGetCreationDate(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/util/Date;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // sun.security.pkcs12.PKCS12KeyStore this
        start local 1 // java.lang.String alias
         0: .line 559
            aload 0 /* this */
            getfield sun.security.pkcs12.PKCS12KeyStore.entries:Ljava/util/Map;
            aload 1 /* alias */
            getstatic java.util.Locale.ENGLISH:Ljava/util/Locale;
            invokevirtual java.lang.String.toLowerCase:(Ljava/util/Locale;)Ljava/lang/String;
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast sun.security.pkcs12.PKCS12KeyStore$Entry
            astore 2 /* entry */
        start local 2 // sun.security.pkcs12.PKCS12KeyStore$Entry entry
         1: .line 560
            aload 2 /* entry */
            ifnull 3
         2: .line 561
            new java.util.Date
            dup
            aload 2 /* entry */
            getfield sun.security.pkcs12.PKCS12KeyStore$Entry.date:Ljava/util/Date;
            invokevirtual java.util.Date.getTime:()J
            invokespecial java.util.Date.<init>:(J)V
            areturn
         3: .line 563
      StackMap locals: sun.security.pkcs12.PKCS12KeyStore$Entry
      StackMap stack:
            aconst_null
            areturn
        end local 2 // sun.security.pkcs12.PKCS12KeyStore$Entry entry
        end local 1 // java.lang.String alias
        end local 0 // sun.security.pkcs12.PKCS12KeyStore this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0   this  Lsun/security/pkcs12/PKCS12KeyStore;
            0    4     1  alias  Ljava/lang/String;
            1    4     2  entry  Lsun/security/pkcs12/PKCS12KeyStore$Entry;
    MethodParameters:
       Name  Flags
      alias  

  public synchronized void engineSetKeyEntry(java.lang.String, java.security.Key, char[], java.security.cert.Certificate[]);
    descriptor: (Ljava/lang/String;Ljava/security/Key;[C[Ljava/security/cert/Certificate;)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=6, locals=7, args_size=5
        start local 0 // sun.security.pkcs12.PKCS12KeyStore this
        start local 1 // java.lang.String alias
        start local 2 // java.security.Key key
        start local 3 // char[] password
        start local 4 // java.security.cert.Certificate[] chain
         0: .line 594
            new java.security.KeyStore$PasswordProtection
            dup
            aload 3 /* password */
            invokespecial java.security.KeyStore$PasswordProtection.<init>:([C)V
         1: .line 593
            astore 5 /* passwordProtection */
        start local 5 // java.security.KeyStore$PasswordProtection passwordProtection
         2: .line 597
            aload 0 /* this */
            aload 1 /* alias */
            aload 2 /* key */
            aload 5 /* passwordProtection */
            aload 4 /* chain */
            aconst_null
            invokevirtual sun.security.pkcs12.PKCS12KeyStore.setKeyEntry:(Ljava/lang/String;Ljava/security/Key;Ljava/security/KeyStore$PasswordProtection;[Ljava/security/cert/Certificate;Ljava/util/Set;)V
         3: .line 599
            goto 9
      StackMap locals: sun.security.pkcs12.PKCS12KeyStore java.lang.String java.security.Key char[] java.security.cert.Certificate[] java.security.KeyStore$PasswordProtection
      StackMap stack: java.lang.Throwable
         4: astore 6
         5: .line 601
            aload 5 /* passwordProtection */
            invokevirtual java.security.KeyStore$PasswordProtection.destroy:()V
         6: .line 602
            goto 8
      StackMap locals: sun.security.pkcs12.PKCS12KeyStore java.lang.String java.security.Key char[] java.security.cert.Certificate[] java.security.KeyStore$PasswordProtection java.lang.Throwable
      StackMap stack: javax.security.auth.DestroyFailedException
         7: pop
         8: .line 605
      StackMap locals:
      StackMap stack:
            aload 6
            athrow
         9: .line 601
      StackMap locals:
      StackMap stack:
            aload 5 /* passwordProtection */
            invokevirtual java.security.KeyStore$PasswordProtection.destroy:()V
        10: .line 602
            goto 12
      StackMap locals:
      StackMap stack: javax.security.auth.DestroyFailedException
        11: pop
        12: .line 606
      StackMap locals:
      StackMap stack:
            return
        end local 5 // java.security.KeyStore$PasswordProtection passwordProtection
        end local 4 // java.security.cert.Certificate[] chain
        end local 3 // char[] password
        end local 2 // java.security.Key key
        end local 1 // java.lang.String alias
        end local 0 // sun.security.pkcs12.PKCS12KeyStore this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   13     0                this  Lsun/security/pkcs12/PKCS12KeyStore;
            0   13     1               alias  Ljava/lang/String;
            0   13     2                 key  Ljava/security/Key;
            0   13     3            password  [C
            0   13     4               chain  [Ljava/security/cert/Certificate;
            2   13     5  passwordProtection  Ljava/security/KeyStore$PasswordProtection;
      Exception table:
        from    to  target  type
           2     4       4  any
           5     6       7  Class javax.security.auth.DestroyFailedException
           9    10      11  Class javax.security.auth.DestroyFailedException
    Exceptions:
      throws java.security.KeyStoreException
    MethodParameters:
          Name  Flags
      alias     
      key       
      password  
      chain     

  private void setKeyEntry(java.lang.String, java.security.Key, java.security.KeyStore$PasswordProtection, java.security.cert.Certificate[], java.util.Set<java.security.KeyStore$Entry$Attribute>);
    descriptor: (Ljava/lang/String;Ljava/security/Key;Ljava/security/KeyStore$PasswordProtection;[Ljava/security/cert/Certificate;Ljava/util/Set;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=11, args_size=6
        start local 0 // sun.security.pkcs12.PKCS12KeyStore this
        start local 1 // java.lang.String alias
        start local 2 // java.security.Key key
        start local 3 // java.security.KeyStore$PasswordProtection passwordProtection
        start local 4 // java.security.cert.Certificate[] chain
        start local 5 // java.util.Set attributes
         0: .line 619
            aload 2 /* key */
            instanceof java.security.PrivateKey
            ifeq 29
         1: .line 621
            aload 4 /* chain */
            invokestatic sun.security.pkcs12.PKCS12KeyStore.checkX509Certs:([Ljava/security/cert/Certificate;)V
         2: .line 623
            new sun.security.pkcs12.PKCS12KeyStore$PrivateKeyEntry
            dup
            invokespecial sun.security.pkcs12.PKCS12KeyStore$PrivateKeyEntry.<init>:()V
            astore 7 /* keyEntry */
        start local 7 // sun.security.pkcs12.PKCS12KeyStore$PrivateKeyEntry keyEntry
         3: .line 624
            aload 7 /* keyEntry */
            new java.util.Date
            dup
            invokespecial java.util.Date.<init>:()V
            putfield sun.security.pkcs12.PKCS12KeyStore$PrivateKeyEntry.date:Ljava/util/Date;
         4: .line 626
            aload 2 /* key */
            invokeinterface java.security.Key.getFormat:()Ljava/lang/String;
            ldc "PKCS#8"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 6
         5: .line 627
            aload 2 /* key */
            invokeinterface java.security.Key.getFormat:()Ljava/lang/String;
            ldc "PKCS8"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 16
         6: .line 629
      StackMap locals: sun.security.pkcs12.PKCS12KeyStore java.lang.String java.security.Key java.security.KeyStore$PasswordProtection java.security.cert.Certificate[] java.util.Set top sun.security.pkcs12.PKCS12KeyStore$PrivateKeyEntry
      StackMap stack:
            getstatic sun.security.pkcs12.PKCS12KeyStore.debug:Lsun/security/util/Debug;
            ifnull 12
         7: .line 630
            getstatic sun.security.pkcs12.PKCS12KeyStore.debug:Lsun/security/util/Debug;
         8: .line 631
            new java.lang.StringBuilder
            dup
            ldc "Setting a protected private key at alias '"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         9: .line 632
            aload 1 /* alias */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "'"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        10: .line 631
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        11: .line 630
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        12: .line 636
      StackMap locals:
      StackMap stack:
            aload 7 /* keyEntry */
        13: .line 637
            aload 0 /* this */
            aload 2 /* key */
            invokeinterface java.security.Key.getEncoded:()[B
            aload 3 /* passwordProtection */
            invokevirtual sun.security.pkcs12.PKCS12KeyStore.encryptPrivateKey:([BLjava/security/KeyStore$PasswordProtection;)[B
        14: .line 636
            putfield sun.security.pkcs12.PKCS12KeyStore$PrivateKeyEntry.protectedPrivKey:[B
        15: .line 638
            goto 17
        16: .line 639
      StackMap locals:
      StackMap stack:
            new java.security.KeyStoreException
            dup
            ldc "Private key is not encodedas PKCS#8"
            invokespecial java.security.KeyStoreException.<init>:(Ljava/lang/String;)V
            athrow
        17: .line 644
      StackMap locals:
      StackMap stack:
            aload 4 /* chain */
            ifnull 26
        18: .line 646
            aload 4 /* chain */
            arraylength
            iconst_1
            if_icmple 20
            aload 0 /* this */
            aload 4 /* chain */
            invokevirtual sun.security.pkcs12.PKCS12KeyStore.validateChain:([Ljava/security/cert/Certificate;)Z
            ifne 20
        19: .line 647
            new java.security.KeyStoreException
            dup
            ldc "Certificate chain is not valid"
            invokespecial java.security.KeyStoreException.<init>:(Ljava/lang/String;)V
            athrow
        20: .line 649
      StackMap locals:
      StackMap stack:
            aload 7 /* keyEntry */
            aload 4 /* chain */
            invokevirtual java.security.cert.Certificate[].clone:()Ljava/lang/Object;
            checkcast java.security.cert.Certificate[]
            putfield sun.security.pkcs12.PKCS12KeyStore$PrivateKeyEntry.chain:[Ljava/security/cert/Certificate;
        21: .line 650
            aload 0 /* this */
            dup
            getfield sun.security.pkcs12.PKCS12KeyStore.certificateCount:I
            aload 4 /* chain */
            arraylength
            iadd
            putfield sun.security.pkcs12.PKCS12KeyStore.certificateCount:I
        22: .line 652
            getstatic sun.security.pkcs12.PKCS12KeyStore.debug:Lsun/security/util/Debug;
            ifnull 26
        23: .line 653
            getstatic sun.security.pkcs12.PKCS12KeyStore.debug:Lsun/security/util/Debug;
            new java.lang.StringBuilder
            dup
            ldc "Setting a "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 4 /* chain */
            arraylength
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
        24: .line 654
            ldc "-certificate chain at alias '"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 1 /* alias */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "'"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        25: .line 653
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        26: .line 657
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dup
            getfield sun.security.pkcs12.PKCS12KeyStore.privateKeyCount:I
            iconst_1
            iadd
            putfield sun.security.pkcs12.PKCS12KeyStore.privateKeyCount:I
        27: .line 658
            aload 7 /* keyEntry */
            astore 6 /* entry */
        end local 7 // sun.security.pkcs12.PKCS12KeyStore$PrivateKeyEntry keyEntry
        start local 6 // sun.security.pkcs12.PKCS12KeyStore$Entry entry
        28: .line 660
            goto 50
        end local 6 // sun.security.pkcs12.PKCS12KeyStore$Entry entry
      StackMap locals: sun.security.pkcs12.PKCS12KeyStore java.lang.String java.security.Key java.security.KeyStore$PasswordProtection java.security.cert.Certificate[] java.util.Set
      StackMap stack:
        29: aload 2 /* key */
            instanceof javax.crypto.SecretKey
            ifeq 49
        30: .line 661
            new sun.security.pkcs12.PKCS12KeyStore$SecretKeyEntry
            dup
            invokespecial sun.security.pkcs12.PKCS12KeyStore$SecretKeyEntry.<init>:()V
            astore 7 /* keyEntry */
        start local 7 // sun.security.pkcs12.PKCS12KeyStore$SecretKeyEntry keyEntry
        31: .line 662
            aload 7 /* keyEntry */
            new java.util.Date
            dup
            invokespecial java.util.Date.<init>:()V
            putfield sun.security.pkcs12.PKCS12KeyStore$SecretKeyEntry.date:Ljava/util/Date;
        32: .line 665
            new sun.security.util.DerOutputStream
            dup
            invokespecial sun.security.util.DerOutputStream.<init>:()V
            astore 8 /* pkcs8 */
        start local 8 // sun.security.util.DerOutputStream pkcs8
        33: .line 666
            new sun.security.util.DerOutputStream
            dup
            invokespecial sun.security.util.DerOutputStream.<init>:()V
            astore 9 /* secretKeyInfo */
        start local 9 // sun.security.util.DerOutputStream secretKeyInfo
        34: .line 667
            aload 9 /* secretKeyInfo */
            iconst_0
            invokevirtual sun.security.util.DerOutputStream.putInteger:(I)V
        35: .line 668
            aload 2 /* key */
            invokeinterface java.security.Key.getAlgorithm:()Ljava/lang/String;
            invokestatic sun.security.x509.AlgorithmId.get:(Ljava/lang/String;)Lsun/security/x509/AlgorithmId;
            astore 10 /* algId */
        start local 10 // sun.security.x509.AlgorithmId algId
        36: .line 669
            aload 10 /* algId */
            aload 9 /* secretKeyInfo */
            invokevirtual sun.security.x509.AlgorithmId.encode:(Lsun/security/util/DerOutputStream;)V
        37: .line 670
            aload 9 /* secretKeyInfo */
            aload 2 /* key */
            invokeinterface java.security.Key.getEncoded:()[B
            invokevirtual sun.security.util.DerOutputStream.putOctetString:([B)V
        38: .line 671
            aload 8 /* pkcs8 */
            bipush 48
            aload 9 /* secretKeyInfo */
            invokevirtual sun.security.util.DerOutputStream.write:(BLsun/security/util/DerOutputStream;)V
        39: .line 674
            aload 7 /* keyEntry */
        40: .line 675
            aload 0 /* this */
            aload 8 /* pkcs8 */
            invokevirtual sun.security.util.DerOutputStream.toByteArray:()[B
            aload 3 /* passwordProtection */
            invokevirtual sun.security.pkcs12.PKCS12KeyStore.encryptPrivateKey:([BLjava/security/KeyStore$PasswordProtection;)[B
        41: .line 674
            putfield sun.security.pkcs12.PKCS12KeyStore$SecretKeyEntry.protectedSecretKey:[B
        42: .line 677
            getstatic sun.security.pkcs12.PKCS12KeyStore.debug:Lsun/security/util/Debug;
            ifnull 46
        43: .line 678
            getstatic sun.security.pkcs12.PKCS12KeyStore.debug:Lsun/security/util/Debug;
            new java.lang.StringBuilder
            dup
            ldc "Setting a protected secret key at alias '"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        44: .line 679
            aload 1 /* alias */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "'"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        45: .line 678
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        46: .line 681
      StackMap locals: sun.security.pkcs12.PKCS12KeyStore java.lang.String java.security.Key java.security.KeyStore$PasswordProtection java.security.cert.Certificate[] java.util.Set top sun.security.pkcs12.PKCS12KeyStore$SecretKeyEntry sun.security.util.DerOutputStream sun.security.util.DerOutputStream sun.security.x509.AlgorithmId
      StackMap stack:
            aload 0 /* this */
            dup
            getfield sun.security.pkcs12.PKCS12KeyStore.secretKeyCount:I
            iconst_1
            iadd
            putfield sun.security.pkcs12.PKCS12KeyStore.secretKeyCount:I
        47: .line 682
            aload 7 /* keyEntry */
            astore 6 /* entry */
        end local 10 // sun.security.x509.AlgorithmId algId
        end local 9 // sun.security.util.DerOutputStream secretKeyInfo
        end local 8 // sun.security.util.DerOutputStream pkcs8
        end local 7 // sun.security.pkcs12.PKCS12KeyStore$SecretKeyEntry keyEntry
        start local 6 // sun.security.pkcs12.PKCS12KeyStore$Entry entry
        48: .line 684
            goto 50
        end local 6 // sun.security.pkcs12.PKCS12KeyStore$Entry entry
        49: .line 685
      StackMap locals: sun.security.pkcs12.PKCS12KeyStore java.lang.String java.security.Key java.security.KeyStore$PasswordProtection java.security.cert.Certificate[] java.util.Set
      StackMap stack:
            new java.security.KeyStoreException
            dup
            ldc "Unsupported Key type"
            invokespecial java.security.KeyStoreException.<init>:(Ljava/lang/String;)V
            athrow
        start local 6 // sun.security.pkcs12.PKCS12KeyStore$Entry entry
        50: .line 688
      StackMap locals: sun.security.pkcs12.PKCS12KeyStore$Entry
      StackMap stack:
            aload 6 /* entry */
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            putfield sun.security.pkcs12.PKCS12KeyStore$Entry.attributes:Ljava/util/Set;
        51: .line 689
            aload 5 /* attributes */
            ifnull 53
        52: .line 690
            aload 6 /* entry */
            getfield sun.security.pkcs12.PKCS12KeyStore$Entry.attributes:Ljava/util/Set;
            aload 5 /* attributes */
            invokeinterface java.util.Set.addAll:(Ljava/util/Collection;)Z
            pop
        53: .line 693
      StackMap locals:
      StackMap stack:
            aload 6 /* entry */
            new java.lang.StringBuilder
            dup
            ldc "Time "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 6 /* entry */
            getfield sun.security.pkcs12.PKCS12KeyStore$Entry.date:Ljava/util/Date;
            invokevirtual java.util.Date.getTime:()J
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            ldc "UTF8"
            invokevirtual java.lang.String.getBytes:(Ljava/lang/String;)[B
            putfield sun.security.pkcs12.PKCS12KeyStore$Entry.keyId:[B
        54: .line 695
            aload 6 /* entry */
            aload 1 /* alias */
            getstatic java.util.Locale.ENGLISH:Ljava/util/Locale;
            invokevirtual java.lang.String.toLowerCase:(Ljava/util/Locale;)Ljava/lang/String;
            putfield sun.security.pkcs12.PKCS12KeyStore$Entry.alias:Ljava/lang/String;
        55: .line 697
            aload 0 /* this */
            getfield sun.security.pkcs12.PKCS12KeyStore.entries:Ljava/util/Map;
            aload 1 /* alias */
            getstatic java.util.Locale.ENGLISH:Ljava/util/Locale;
            invokevirtual java.lang.String.toLowerCase:(Ljava/util/Locale;)Ljava/lang/String;
            aload 6 /* entry */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 6 // sun.security.pkcs12.PKCS12KeyStore$Entry entry
        56: .line 699
            goto 61
      StackMap locals: sun.security.pkcs12.PKCS12KeyStore java.lang.String java.security.Key java.security.KeyStore$PasswordProtection java.security.cert.Certificate[] java.util.Set
      StackMap stack: java.lang.Exception
        57: astore 6 /* nsae */
        start local 6 // java.lang.Exception nsae
        58: .line 700
            new java.security.KeyStoreException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Key protection algorithm not found: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        59: .line 701
            aload 6 /* nsae */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 6 /* nsae */
        60: .line 700
            invokespecial java.security.KeyStoreException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 6 // java.lang.Exception nsae
        61: .line 703
      StackMap locals:
      StackMap stack:
            return
        end local 5 // java.util.Set attributes
        end local 4 // java.security.cert.Certificate[] chain
        end local 3 // java.security.KeyStore$PasswordProtection passwordProtection
        end local 2 // java.security.Key key
        end local 1 // java.lang.String alias
        end local 0 // sun.security.pkcs12.PKCS12KeyStore this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   62     0                this  Lsun/security/pkcs12/PKCS12KeyStore;
            0   62     1               alias  Ljava/lang/String;
            0   62     2                 key  Ljava/security/Key;
            0   62     3  passwordProtection  Ljava/security/KeyStore$PasswordProtection;
            0   62     4               chain  [Ljava/security/cert/Certificate;
            0   62     5          attributes  Ljava/util/Set<Ljava/security/KeyStore$Entry$Attribute;>;
           28   29     6               entry  Lsun/security/pkcs12/PKCS12KeyStore$Entry;
           48   49     6               entry  Lsun/security/pkcs12/PKCS12KeyStore$Entry;
           50   56     6               entry  Lsun/security/pkcs12/PKCS12KeyStore$Entry;
            3   28     7            keyEntry  Lsun/security/pkcs12/PKCS12KeyStore$PrivateKeyEntry;
           31   48     7            keyEntry  Lsun/security/pkcs12/PKCS12KeyStore$SecretKeyEntry;
           33   48     8               pkcs8  Lsun/security/util/DerOutputStream;
           34   48     9       secretKeyInfo  Lsun/security/util/DerOutputStream;
           36   48    10               algId  Lsun/security/x509/AlgorithmId;
           58   61     6                nsae  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           0    56      57  Class java.lang.Exception
    Exceptions:
      throws java.security.KeyStoreException
    Signature: (Ljava/lang/String;Ljava/security/Key;Ljava/security/KeyStore$PasswordProtection;[Ljava/security/cert/Certificate;Ljava/util/Set<Ljava/security/KeyStore$Entry$Attribute;>;)V
    MethodParameters:
                    Name  Flags
      alias               
      key                 
      passwordProtection  
      chain               
      attributes          

  public synchronized void engineSetKeyEntry(java.lang.String, byte[], java.security.cert.Certificate[]);
    descriptor: (Ljava/lang/String;[B[Ljava/security/cert/Certificate;)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=5, locals=5, args_size=4
        start local 0 // sun.security.pkcs12.PKCS12KeyStore this
        start local 1 // java.lang.String alias
        start local 2 // byte[] key
        start local 3 // java.security.cert.Certificate[] chain
         0: .line 733
            aload 3 /* chain */
            invokestatic sun.security.pkcs12.PKCS12KeyStore.checkX509Certs:([Ljava/security/cert/Certificate;)V
         1: .line 738
            new sun.security.pkcs.EncryptedPrivateKeyInfo
            aload 2 /* key */
            invokespecial sun.security.pkcs.EncryptedPrivateKeyInfo.<init>:([B)V
         2: .line 739
            goto 7
      StackMap locals:
      StackMap stack: java.io.IOException
         3: astore 4 /* ioe */
        start local 4 // java.io.IOException ioe
         4: .line 740
            new java.security.KeyStoreException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Private key is not stored as PKCS#8 EncryptedPrivateKeyInfo: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         5: .line 741
            aload 4 /* ioe */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 4 /* ioe */
         6: .line 740
            invokespecial java.security.KeyStoreException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 4 // java.io.IOException ioe
         7: .line 744
      StackMap locals:
      StackMap stack:
            new sun.security.pkcs12.PKCS12KeyStore$PrivateKeyEntry
            dup
            invokespecial sun.security.pkcs12.PKCS12KeyStore$PrivateKeyEntry.<init>:()V
            astore 4 /* entry */
        start local 4 // sun.security.pkcs12.PKCS12KeyStore$PrivateKeyEntry entry
         8: .line 745
            aload 4 /* entry */
            new java.util.Date
            dup
            invokespecial java.util.Date.<init>:()V
            putfield sun.security.pkcs12.PKCS12KeyStore$PrivateKeyEntry.date:Ljava/util/Date;
         9: .line 747
            getstatic sun.security.pkcs12.PKCS12KeyStore.debug:Lsun/security/util/Debug;
            ifnull 13
        10: .line 748
            getstatic sun.security.pkcs12.PKCS12KeyStore.debug:Lsun/security/util/Debug;
            new java.lang.StringBuilder
            dup
            ldc "Setting a protected private key at alias '"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        11: .line 749
            aload 1 /* alias */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "'"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        12: .line 748
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        13: .line 754
      StackMap locals: sun.security.pkcs12.PKCS12KeyStore$PrivateKeyEntry
      StackMap stack:
            aload 4 /* entry */
            new java.lang.StringBuilder
            dup
            ldc "Time "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 4 /* entry */
            getfield sun.security.pkcs12.PKCS12KeyStore$PrivateKeyEntry.date:Ljava/util/Date;
            invokevirtual java.util.Date.getTime:()J
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            ldc "UTF8"
            invokevirtual java.lang.String.getBytes:(Ljava/lang/String;)[B
            putfield sun.security.pkcs12.PKCS12KeyStore$PrivateKeyEntry.keyId:[B
        14: .line 755
            goto 16
      StackMap locals:
      StackMap stack: java.io.UnsupportedEncodingException
        15: pop
        16: .line 759
      StackMap locals:
      StackMap stack:
            aload 4 /* entry */
            aload 1 /* alias */
            getstatic java.util.Locale.ENGLISH:Ljava/util/Locale;
            invokevirtual java.lang.String.toLowerCase:(Ljava/util/Locale;)Ljava/lang/String;
            putfield sun.security.pkcs12.PKCS12KeyStore$PrivateKeyEntry.alias:Ljava/lang/String;
        17: .line 761
            aload 4 /* entry */
            aload 2 /* key */
            invokevirtual byte[].clone:()Ljava/lang/Object;
            checkcast byte[]
            putfield sun.security.pkcs12.PKCS12KeyStore$PrivateKeyEntry.protectedPrivKey:[B
        18: .line 762
            aload 3 /* chain */
            ifnull 27
        19: .line 764
            aload 3 /* chain */
            arraylength
            iconst_1
            if_icmple 21
            aload 0 /* this */
            aload 3 /* chain */
            invokevirtual sun.security.pkcs12.PKCS12KeyStore.validateChain:([Ljava/security/cert/Certificate;)Z
            ifne 21
        20: .line 765
            new java.security.KeyStoreException
            dup
            ldc "Certificate chain is not valid"
            invokespecial java.security.KeyStoreException.<init>:(Ljava/lang/String;)V
            athrow
        21: .line 768
      StackMap locals:
      StackMap stack:
            aload 4 /* entry */
            aload 3 /* chain */
            invokevirtual java.security.cert.Certificate[].clone:()Ljava/lang/Object;
            checkcast java.security.cert.Certificate[]
            putfield sun.security.pkcs12.PKCS12KeyStore$PrivateKeyEntry.chain:[Ljava/security/cert/Certificate;
        22: .line 769
            aload 0 /* this */
            dup
            getfield sun.security.pkcs12.PKCS12KeyStore.certificateCount:I
            aload 3 /* chain */
            arraylength
            iadd
            putfield sun.security.pkcs12.PKCS12KeyStore.certificateCount:I
        23: .line 771
            getstatic sun.security.pkcs12.PKCS12KeyStore.debug:Lsun/security/util/Debug;
            ifnull 27
        24: .line 772
            getstatic sun.security.pkcs12.PKCS12KeyStore.debug:Lsun/security/util/Debug;
            new java.lang.StringBuilder
            dup
            ldc "Setting a "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 4 /* entry */
            getfield sun.security.pkcs12.PKCS12KeyStore$PrivateKeyEntry.chain:[Ljava/security/cert/Certificate;
            arraylength
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
        25: .line 773
            ldc "-certificate chain at alias '"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 1 /* alias */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "'"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        26: .line 772
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        27: .line 778
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dup
            getfield sun.security.pkcs12.PKCS12KeyStore.privateKeyCount:I
            iconst_1
            iadd
            putfield sun.security.pkcs12.PKCS12KeyStore.privateKeyCount:I
        28: .line 779
            aload 0 /* this */
            getfield sun.security.pkcs12.PKCS12KeyStore.entries:Ljava/util/Map;
            aload 1 /* alias */
            getstatic java.util.Locale.ENGLISH:Ljava/util/Locale;
            invokevirtual java.lang.String.toLowerCase:(Ljava/util/Locale;)Ljava/lang/String;
            aload 4 /* entry */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        29: .line 780
            return
        end local 4 // sun.security.pkcs12.PKCS12KeyStore$PrivateKeyEntry entry
        end local 3 // java.security.cert.Certificate[] chain
        end local 2 // byte[] key
        end local 1 // java.lang.String alias
        end local 0 // sun.security.pkcs12.PKCS12KeyStore this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   30     0   this  Lsun/security/pkcs12/PKCS12KeyStore;
            0   30     1  alias  Ljava/lang/String;
            0   30     2    key  [B
            0   30     3  chain  [Ljava/security/cert/Certificate;
            4    7     4    ioe  Ljava/io/IOException;
            8   30     4  entry  Lsun/security/pkcs12/PKCS12KeyStore$PrivateKeyEntry;
      Exception table:
        from    to  target  type
           1     2       3  Class java.io.IOException
          13    14      15  Class java.io.UnsupportedEncodingException
    Exceptions:
      throws java.security.KeyStoreException
    MethodParameters:
       Name  Flags
      alias  
      key    
      chain  

  private byte[] getSalt();
    descriptor: ()[B
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // sun.security.pkcs12.PKCS12KeyStore this
         0: .line 789
            bipush 20
            newarray 8
            astore 1 /* salt */
        start local 1 // byte[] salt
         1: .line 790
            aload 0 /* this */
            getfield sun.security.pkcs12.PKCS12KeyStore.random:Ljava/security/SecureRandom;
            ifnonnull 3
         2: .line 791
            aload 0 /* this */
            new java.security.SecureRandom
            dup
            invokespecial java.security.SecureRandom.<init>:()V
            putfield sun.security.pkcs12.PKCS12KeyStore.random:Ljava/security/SecureRandom;
         3: .line 793
      StackMap locals: byte[]
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.pkcs12.PKCS12KeyStore.random:Ljava/security/SecureRandom;
            aload 1 /* salt */
            invokevirtual java.security.SecureRandom.nextBytes:([B)V
         4: .line 794
            aload 1 /* salt */
            areturn
        end local 1 // byte[] salt
        end local 0 // sun.security.pkcs12.PKCS12KeyStore this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lsun/security/pkcs12/PKCS12KeyStore;
            1    5     1  salt  [B

  private java.security.AlgorithmParameters getPBEAlgorithmParameters(java.lang.String, int);
    descriptor: (Ljava/lang/String;I)Ljava/security/AlgorithmParameters;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=6, args_size=3
        start local 0 // sun.security.pkcs12.PKCS12KeyStore this
        start local 1 // java.lang.String algorithm
        start local 2 // int iterationCount
         0: .line 802
            aconst_null
            astore 3 /* algParams */
        start local 3 // java.security.AlgorithmParameters algParams
         1: .line 806
            new javax.crypto.spec.PBEParameterSpec
            dup
            aload 0 /* this */
            invokevirtual sun.security.pkcs12.PKCS12KeyStore.getSalt:()[B
            iload 2 /* iterationCount */
            invokespecial javax.crypto.spec.PBEParameterSpec.<init>:([BI)V
         2: .line 805
            astore 4 /* paramSpec */
        start local 4 // javax.crypto.spec.PBEParameterSpec paramSpec
         3: .line 808
            aload 1 /* algorithm */
            invokestatic java.security.AlgorithmParameters.getInstance:(Ljava/lang/String;)Ljava/security/AlgorithmParameters;
            astore 3 /* algParams */
         4: .line 809
            aload 3 /* algParams */
            aload 4 /* paramSpec */
            invokevirtual java.security.AlgorithmParameters.init:(Ljava/security/spec/AlgorithmParameterSpec;)V
         5: .line 810
            goto 10
      StackMap locals: sun.security.pkcs12.PKCS12KeyStore java.lang.String int java.security.AlgorithmParameters javax.crypto.spec.PBEParameterSpec
      StackMap stack: java.lang.Exception
         6: astore 5 /* e */
        start local 5 // java.lang.Exception e
         7: .line 811
            new java.io.IOException
            dup
            new java.lang.StringBuilder
            dup
            ldc "getPBEAlgorithmParameters failed: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         8: .line 812
            aload 5 /* e */
            invokevirtual java.lang.Exception.getMessage:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 5 /* e */
         9: .line 811
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 5 // java.lang.Exception e
        10: .line 814
      StackMap locals:
      StackMap stack:
            aload 3 /* algParams */
            areturn
        end local 4 // javax.crypto.spec.PBEParameterSpec paramSpec
        end local 3 // java.security.AlgorithmParameters algParams
        end local 2 // int iterationCount
        end local 1 // java.lang.String algorithm
        end local 0 // sun.security.pkcs12.PKCS12KeyStore this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   11     0            this  Lsun/security/pkcs12/PKCS12KeyStore;
            0   11     1       algorithm  Ljava/lang/String;
            0   11     2  iterationCount  I
            1   11     3       algParams  Ljava/security/AlgorithmParameters;
            3   11     4       paramSpec  Ljavax/crypto/spec/PBEParameterSpec;
            7   10     5               e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           3     5       6  Class java.lang.Exception
    Exceptions:
      throws java.io.IOException
    MethodParameters:
                Name  Flags
      algorithm       
      iterationCount  

  private java.security.AlgorithmParameters parseAlgParameters(sun.security.util.ObjectIdentifier, sun.security.util.DerInputStream);
    descriptor: (Lsun/security/util/ObjectIdentifier;Lsun/security/util/DerInputStream;)Ljava/security/AlgorithmParameters;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=5, args_size=3
        start local 0 // sun.security.pkcs12.PKCS12KeyStore this
        start local 1 // sun.security.util.ObjectIdentifier algorithm
        start local 2 // sun.security.util.DerInputStream in
         0: .line 823
            aconst_null
            astore 3 /* algParams */
        start local 3 // java.security.AlgorithmParameters algParams
         1: .line 826
            aload 2 /* in */
            invokevirtual sun.security.util.DerInputStream.available:()I
            ifne 4
         2: .line 827
            aconst_null
            astore 4 /* params */
        start local 4 // sun.security.util.DerValue params
         3: .line 828
            goto 7
        end local 4 // sun.security.util.DerValue params
         4: .line 829
      StackMap locals: java.security.AlgorithmParameters
      StackMap stack:
            aload 2 /* in */
            invokevirtual sun.security.util.DerInputStream.getDerValue:()Lsun/security/util/DerValue;
            astore 4 /* params */
        start local 4 // sun.security.util.DerValue params
         5: .line 830
            aload 4 /* params */
            getfield sun.security.util.DerValue.tag:B
            iconst_5
            if_icmpne 7
         6: .line 831
            aconst_null
            astore 4 /* params */
         7: .line 834
      StackMap locals: sun.security.util.DerValue
      StackMap stack:
            aload 4 /* params */
            ifnull 18
         8: .line 835
            aload 1 /* algorithm */
            getstatic sun.security.pkcs12.PKCS12KeyStore.pbes2_OID:Lsun/security/util/ObjectIdentifier;
            invokevirtual sun.security.util.ObjectIdentifier.equals:(Ljava/lang/Object;)Z
            ifeq 11
         9: .line 836
            ldc "PBES2"
            invokestatic java.security.AlgorithmParameters.getInstance:(Ljava/lang/String;)Ljava/security/AlgorithmParameters;
            astore 3 /* algParams */
        10: .line 837
            goto 12
        11: .line 838
      StackMap locals:
      StackMap stack:
            ldc "PBE"
            invokestatic java.security.AlgorithmParameters.getInstance:(Ljava/lang/String;)Ljava/security/AlgorithmParameters;
            astore 3 /* algParams */
        12: .line 840
      StackMap locals:
      StackMap stack:
            aload 3 /* algParams */
            aload 4 /* params */
            invokevirtual sun.security.util.DerValue.toByteArray:()[B
            invokevirtual java.security.AlgorithmParameters.init:([B)V
        end local 4 // sun.security.util.DerValue params
        13: .line 842
            goto 18
      StackMap locals: sun.security.pkcs12.PKCS12KeyStore sun.security.util.ObjectIdentifier sun.security.util.DerInputStream java.security.AlgorithmParameters
      StackMap stack: java.lang.Exception
        14: astore 4 /* e */
        start local 4 // java.lang.Exception e
        15: .line 843
            new java.io.IOException
            dup
            new java.lang.StringBuilder
            dup
            ldc "parseAlgParameters failed: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        16: .line 844
            aload 4 /* e */
            invokevirtual java.lang.Exception.getMessage:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 4 /* e */
        17: .line 843
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 4 // java.lang.Exception e
        18: .line 846
      StackMap locals:
      StackMap stack:
            aload 3 /* algParams */
            areturn
        end local 3 // java.security.AlgorithmParameters algParams
        end local 2 // sun.security.util.DerInputStream in
        end local 1 // sun.security.util.ObjectIdentifier algorithm
        end local 0 // sun.security.pkcs12.PKCS12KeyStore this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   19     0       this  Lsun/security/pkcs12/PKCS12KeyStore;
            0   19     1  algorithm  Lsun/security/util/ObjectIdentifier;
            0   19     2         in  Lsun/security/util/DerInputStream;
            1   19     3  algParams  Ljava/security/AlgorithmParameters;
            3    4     4     params  Lsun/security/util/DerValue;
            5   13     4     params  Lsun/security/util/DerValue;
           15   18     4          e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           1    13      14  Class java.lang.Exception
    Exceptions:
      throws java.io.IOException
    MethodParameters:
           Name  Flags
      algorithm  
      in         

  private javax.crypto.SecretKey getPBEKey(char[]);
    descriptor: ([C)Ljavax/crypto/SecretKey;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=5, args_size=2
        start local 0 // sun.security.pkcs12.PKCS12KeyStore this
        start local 1 // char[] password
         0: .line 854
            aconst_null
            astore 2 /* skey */
        start local 2 // javax.crypto.SecretKey skey
         1: .line 857
            new javax.crypto.spec.PBEKeySpec
            dup
            aload 1 /* password */
            invokespecial javax.crypto.spec.PBEKeySpec.<init>:([C)V
            astore 3 /* keySpec */
        start local 3 // javax.crypto.spec.PBEKeySpec keySpec
         2: .line 858
            ldc "PBE"
            invokestatic javax.crypto.SecretKeyFactory.getInstance:(Ljava/lang/String;)Ljavax/crypto/SecretKeyFactory;
            astore 4 /* skFac */
        start local 4 // javax.crypto.SecretKeyFactory skFac
         3: .line 859
            aload 4 /* skFac */
            aload 3 /* keySpec */
            invokevirtual javax.crypto.SecretKeyFactory.generateSecret:(Ljava/security/spec/KeySpec;)Ljavax/crypto/SecretKey;
            astore 2 /* skey */
         4: .line 860
            aload 3 /* keySpec */
            invokevirtual javax.crypto.spec.PBEKeySpec.clearPassword:()V
        end local 4 // javax.crypto.SecretKeyFactory skFac
        end local 3 // javax.crypto.spec.PBEKeySpec keySpec
         5: .line 861
            goto 10
      StackMap locals: sun.security.pkcs12.PKCS12KeyStore char[] javax.crypto.SecretKey
      StackMap stack: java.lang.Exception
         6: astore 3 /* e */
        start local 3 // java.lang.Exception e
         7: .line 862
            new java.io.IOException
            dup
            new java.lang.StringBuilder
            dup
            ldc "getSecretKey failed: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         8: .line 863
            aload 3 /* e */
            invokevirtual java.lang.Exception.getMessage:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 3 /* e */
         9: .line 862
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 3 // java.lang.Exception e
        10: .line 865
      StackMap locals:
      StackMap stack:
            aload 2 /* skey */
            areturn
        end local 2 // javax.crypto.SecretKey skey
        end local 1 // char[] password
        end local 0 // sun.security.pkcs12.PKCS12KeyStore this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   11     0      this  Lsun/security/pkcs12/PKCS12KeyStore;
            0   11     1  password  [C
            1   11     2      skey  Ljavax/crypto/SecretKey;
            2    5     3   keySpec  Ljavax/crypto/spec/PBEKeySpec;
            3    5     4     skFac  Ljavax/crypto/SecretKeyFactory;
            7   10     3         e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           1     5       6  Class java.lang.Exception
    Exceptions:
      throws java.io.IOException
    MethodParameters:
          Name  Flags
      password  

  private byte[] encryptPrivateKey(byte[], java.security.KeyStore$PasswordProtection);
    descriptor: ([BLjava/security/KeyStore$PasswordProtection;)[B
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=12, args_size=3
        start local 0 // sun.security.pkcs12.PKCS12KeyStore this
        start local 1 // byte[] data
        start local 2 // java.security.KeyStore$PasswordProtection passwordProtection
         0: .line 882
            aconst_null
            astore 3 /* key */
        start local 3 // byte[] key
         1: .line 890
            aload 2 /* passwordProtection */
            invokevirtual java.security.KeyStore$PasswordProtection.getProtectionAlgorithm:()Ljava/lang/String;
            astore 4 /* algorithm */
        start local 4 // java.lang.String algorithm
         2: .line 891
            aload 4 /* algorithm */
            ifnull 13
         3: .line 893
            aload 2 /* passwordProtection */
            invokevirtual java.security.KeyStore$PasswordProtection.getProtectionParameters:()Ljava/security/spec/AlgorithmParameterSpec;
         4: .line 892
            astore 7 /* algParamSpec */
        start local 7 // java.security.spec.AlgorithmParameterSpec algParamSpec
         5: .line 894
            aload 7 /* algParamSpec */
            ifnull 9
         6: .line 895
            aload 4 /* algorithm */
            invokestatic java.security.AlgorithmParameters.getInstance:(Ljava/lang/String;)Ljava/security/AlgorithmParameters;
            astore 5 /* algParams */
        start local 5 // java.security.AlgorithmParameters algParams
         7: .line 896
            aload 5 /* algParams */
            aload 7 /* algParamSpec */
            invokevirtual java.security.AlgorithmParameters.init:(Ljava/security/spec/AlgorithmParameterSpec;)V
         8: .line 897
            goto 17
        end local 5 // java.security.AlgorithmParameters algParams
         9: .line 898
      StackMap locals: sun.security.pkcs12.PKCS12KeyStore byte[] java.security.KeyStore$PasswordProtection byte[] java.lang.String top top java.security.spec.AlgorithmParameterSpec
      StackMap stack:
            aload 0 /* this */
            aload 4 /* algorithm */
        10: .line 899
            invokestatic sun.security.pkcs12.PKCS12KeyStore.defaultKeyPbeIterationCount:()I
        11: .line 898
            invokevirtual sun.security.pkcs12.PKCS12KeyStore.getPBEAlgorithmParameters:(Ljava/lang/String;I)Ljava/security/AlgorithmParameters;
            astore 5 /* algParams */
        end local 7 // java.security.spec.AlgorithmParameterSpec algParamSpec
        start local 5 // java.security.AlgorithmParameters algParams
        12: .line 901
            goto 17
        end local 5 // java.security.AlgorithmParameters algParams
        13: .line 903
      StackMap locals: sun.security.pkcs12.PKCS12KeyStore byte[] java.security.KeyStore$PasswordProtection byte[] java.lang.String
      StackMap stack:
            invokestatic sun.security.pkcs12.PKCS12KeyStore.defaultKeyProtectionAlgorithm:()Ljava/lang/String;
            astore 4 /* algorithm */
        14: .line 904
            aload 0 /* this */
            aload 4 /* algorithm */
        15: .line 905
            invokestatic sun.security.pkcs12.PKCS12KeyStore.defaultKeyPbeIterationCount:()I
        16: .line 904
            invokevirtual sun.security.pkcs12.PKCS12KeyStore.getPBEAlgorithmParameters:(Ljava/lang/String;I)Ljava/security/AlgorithmParameters;
            astore 5 /* algParams */
        start local 5 // java.security.AlgorithmParameters algParams
        17: .line 908
      StackMap locals: java.security.AlgorithmParameters
      StackMap stack:
            aload 4 /* algorithm */
            invokestatic sun.security.pkcs12.PKCS12KeyStore.mapPBEAlgorithmToOID:(Ljava/lang/String;)Lsun/security/util/ObjectIdentifier;
            astore 7 /* pbeOID */
        start local 7 // sun.security.util.ObjectIdentifier pbeOID
        18: .line 909
            aload 7 /* pbeOID */
            ifnonnull 22
        19: .line 910
            new java.io.IOException
            dup
            new java.lang.StringBuilder
            dup
            ldc "PBE algorithm '"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 4 /* algorithm */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        20: .line 911
            ldc " 'is not supported for key entry protection"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        21: .line 910
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
        22: .line 915
      StackMap locals: sun.security.pkcs12.PKCS12KeyStore byte[] java.security.KeyStore$PasswordProtection byte[] java.lang.String java.security.AlgorithmParameters top sun.security.util.ObjectIdentifier
      StackMap stack:
            aload 0 /* this */
            aload 2 /* passwordProtection */
            invokevirtual java.security.KeyStore$PasswordProtection.getPassword:()[C
            invokevirtual sun.security.pkcs12.PKCS12KeyStore.getPBEKey:([C)Ljavax/crypto/SecretKey;
            astore 8 /* skey */
        start local 8 // javax.crypto.SecretKey skey
        23: .line 916
            aload 4 /* algorithm */
            invokestatic javax.crypto.Cipher.getInstance:(Ljava/lang/String;)Ljavax/crypto/Cipher;
            astore 9 /* cipher */
        start local 9 // javax.crypto.Cipher cipher
        24: .line 917
            aload 9 /* cipher */
            iconst_1
            aload 8 /* skey */
            aload 5 /* algParams */
            invokevirtual javax.crypto.Cipher.init:(ILjava/security/Key;Ljava/security/AlgorithmParameters;)V
        25: .line 918
            aload 9 /* cipher */
            aload 1 /* data */
            invokevirtual javax.crypto.Cipher.doFinal:([B)[B
            astore 10 /* encryptedKey */
        start local 10 // byte[] encryptedKey
        26: .line 919
            new sun.security.x509.AlgorithmId
            dup
            aload 7 /* pbeOID */
            aload 9 /* cipher */
            invokevirtual javax.crypto.Cipher.getParameters:()Ljava/security/AlgorithmParameters;
            invokespecial sun.security.x509.AlgorithmId.<init>:(Lsun/security/util/ObjectIdentifier;Ljava/security/AlgorithmParameters;)V
            astore 6 /* algid */
        start local 6 // sun.security.x509.AlgorithmId algid
        27: .line 921
            getstatic sun.security.pkcs12.PKCS12KeyStore.debug:Lsun/security/util/Debug;
            ifnull 31
        28: .line 922
            getstatic sun.security.pkcs12.PKCS12KeyStore.debug:Lsun/security/util/Debug;
            new java.lang.StringBuilder
            dup
            ldc "  (Cipher algorithm: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 9 /* cipher */
            invokevirtual javax.crypto.Cipher.getAlgorithm:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        29: .line 923
            ldc ")"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        30: .line 922
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        31: .line 929
      StackMap locals: sun.security.pkcs12.PKCS12KeyStore byte[] java.security.KeyStore$PasswordProtection byte[] java.lang.String java.security.AlgorithmParameters sun.security.x509.AlgorithmId sun.security.util.ObjectIdentifier javax.crypto.SecretKey javax.crypto.Cipher byte[]
      StackMap stack:
            new sun.security.pkcs.EncryptedPrivateKeyInfo
            dup
            aload 6 /* algid */
            aload 10 /* encryptedKey */
            invokespecial sun.security.pkcs.EncryptedPrivateKeyInfo.<init>:(Lsun/security/x509/AlgorithmId;[B)V
        32: .line 928
            astore 11 /* encrInfo */
        start local 11 // sun.security.pkcs.EncryptedPrivateKeyInfo encrInfo
        33: .line 930
            aload 11 /* encrInfo */
            invokevirtual sun.security.pkcs.EncryptedPrivateKeyInfo.getEncoded:()[B
            astore 3 /* key */
        end local 11 // sun.security.pkcs.EncryptedPrivateKeyInfo encrInfo
        end local 10 // byte[] encryptedKey
        end local 9 // javax.crypto.Cipher cipher
        end local 8 // javax.crypto.SecretKey skey
        end local 7 // sun.security.util.ObjectIdentifier pbeOID
        end local 6 // sun.security.x509.AlgorithmId algid
        end local 5 // java.security.AlgorithmParameters algParams
        end local 4 // java.lang.String algorithm
        34: .line 931
            goto 42
      StackMap locals: sun.security.pkcs12.PKCS12KeyStore byte[] java.security.KeyStore$PasswordProtection byte[]
      StackMap stack: java.lang.Exception
        35: astore 4 /* e */
        start local 4 // java.lang.Exception e
        36: .line 933
            new java.security.UnrecoverableKeyException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Encrypt Private Key failed: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        37: .line 934
            aload 4 /* e */
            invokevirtual java.lang.Exception.getMessage:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        38: .line 933
            invokespecial java.security.UnrecoverableKeyException.<init>:(Ljava/lang/String;)V
        39: .line 932
            astore 5 /* uke */
        start local 5 // java.security.UnrecoverableKeyException uke
        40: .line 935
            aload 5 /* uke */
            aload 4 /* e */
            invokevirtual java.security.UnrecoverableKeyException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            pop
        41: .line 936
            aload 5 /* uke */
            athrow
        end local 5 // java.security.UnrecoverableKeyException uke
        end local 4 // java.lang.Exception e
        42: .line 939
      StackMap locals:
      StackMap stack:
            aload 3 /* key */
            areturn
        end local 3 // byte[] key
        end local 2 // java.security.KeyStore$PasswordProtection passwordProtection
        end local 1 // byte[] data
        end local 0 // sun.security.pkcs12.PKCS12KeyStore this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   43     0                this  Lsun/security/pkcs12/PKCS12KeyStore;
            0   43     1                data  [B
            0   43     2  passwordProtection  Ljava/security/KeyStore$PasswordProtection;
            1   43     3                 key  [B
            2   34     4           algorithm  Ljava/lang/String;
            7    9     5           algParams  Ljava/security/AlgorithmParameters;
           12   13     5           algParams  Ljava/security/AlgorithmParameters;
           17   34     5           algParams  Ljava/security/AlgorithmParameters;
           27   34     6               algid  Lsun/security/x509/AlgorithmId;
            5   12     7        algParamSpec  Ljava/security/spec/AlgorithmParameterSpec;
           18   34     7              pbeOID  Lsun/security/util/ObjectIdentifier;
           23   34     8                skey  Ljavax/crypto/SecretKey;
           24   34     9              cipher  Ljavax/crypto/Cipher;
           26   34    10        encryptedKey  [B
           33   34    11            encrInfo  Lsun/security/pkcs/EncryptedPrivateKeyInfo;
           36   42     4                   e  Ljava/lang/Exception;
           40   42     5                 uke  Ljava/security/UnrecoverableKeyException;
      Exception table:
        from    to  target  type
           1    34      35  Class java.lang.Exception
    Exceptions:
      throws java.io.IOException, java.security.NoSuchAlgorithmException, java.security.UnrecoverableKeyException
    MethodParameters:
                    Name  Flags
      data                
      passwordProtection  

  private static sun.security.util.ObjectIdentifier mapPBEAlgorithmToOID(java.lang.String);
    descriptor: (Ljava/lang/String;)Lsun/security/util/ObjectIdentifier;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.String algorithm
         0: .line 948
            aload 0 /* algorithm */
            getstatic java.util.Locale.ENGLISH:Ljava/util/Locale;
            invokevirtual java.lang.String.toLowerCase:(Ljava/util/Locale;)Ljava/lang/String;
            ldc "pbewithhmacsha"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 2
         1: .line 949
            getstatic sun.security.pkcs12.PKCS12KeyStore.pbes2_OID:Lsun/security/util/ObjectIdentifier;
            areturn
         2: .line 951
      StackMap locals:
      StackMap stack:
            aload 0 /* algorithm */
            invokestatic sun.security.x509.AlgorithmId.get:(Ljava/lang/String;)Lsun/security/x509/AlgorithmId;
            invokevirtual sun.security.x509.AlgorithmId.getOID:()Lsun/security/util/ObjectIdentifier;
            areturn
        end local 0 // java.lang.String algorithm
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0  algorithm  Ljava/lang/String;
    Exceptions:
      throws java.security.NoSuchAlgorithmException
    MethodParameters:
           Name  Flags
      algorithm  

  private static java.lang.String mapPBEParamsToAlgorithm(sun.security.util.ObjectIdentifier, java.security.AlgorithmParameters);
    descriptor: (Lsun/security/util/ObjectIdentifier;Ljava/security/AlgorithmParameters;)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // sun.security.util.ObjectIdentifier algorithm
        start local 1 // java.security.AlgorithmParameters algParams
         0: .line 960
            aload 0 /* algorithm */
            getstatic sun.security.pkcs12.PKCS12KeyStore.pbes2_OID:Lsun/security/util/ObjectIdentifier;
            invokevirtual sun.security.util.ObjectIdentifier.equals:(Ljava/lang/Object;)Z
            ifeq 2
            aload 1 /* algParams */
            ifnull 2
         1: .line 961
            aload 1 /* algParams */
            invokevirtual java.security.AlgorithmParameters.toString:()Ljava/lang/String;
            areturn
         2: .line 963
      StackMap locals:
      StackMap stack:
            new sun.security.x509.AlgorithmId
            dup
            aload 0 /* algorithm */
            invokespecial sun.security.x509.AlgorithmId.<init>:(Lsun/security/util/ObjectIdentifier;)V
            invokevirtual sun.security.x509.AlgorithmId.getName:()Ljava/lang/String;
            areturn
        end local 1 // java.security.AlgorithmParameters algParams
        end local 0 // sun.security.util.ObjectIdentifier algorithm
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0  algorithm  Lsun/security/util/ObjectIdentifier;
            0    3     1  algParams  Ljava/security/AlgorithmParameters;
    Exceptions:
      throws java.security.NoSuchAlgorithmException
    MethodParameters:
           Name  Flags
      algorithm  
      algParams  

  public synchronized void engineSetCertificateEntry(java.lang.String, java.security.cert.Certificate);
    descriptor: (Ljava/lang/String;Ljava/security/cert/Certificate;)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // sun.security.pkcs12.PKCS12KeyStore this
        start local 1 // java.lang.String alias
        start local 2 // java.security.cert.Certificate cert
         0: .line 983
            aload 0 /* this */
            aload 1 /* alias */
            aload 2 /* cert */
            aconst_null
            invokevirtual sun.security.pkcs12.PKCS12KeyStore.setCertEntry:(Ljava/lang/String;Ljava/security/cert/Certificate;Ljava/util/Set;)V
         1: .line 984
            return
        end local 2 // java.security.cert.Certificate cert
        end local 1 // java.lang.String alias
        end local 0 // sun.security.pkcs12.PKCS12KeyStore this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lsun/security/pkcs12/PKCS12KeyStore;
            0    2     1  alias  Ljava/lang/String;
            0    2     2   cert  Ljava/security/cert/Certificate;
    Exceptions:
      throws java.security.KeyStoreException
    MethodParameters:
       Name  Flags
      alias  
      cert   

  private void setCertEntry(java.lang.String, java.security.cert.Certificate, java.util.Set<java.security.KeyStore$Entry$Attribute>);
    descriptor: (Ljava/lang/String;Ljava/security/cert/Certificate;Ljava/util/Set;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=6, args_size=4
        start local 0 // sun.security.pkcs12.PKCS12KeyStore this
        start local 1 // java.lang.String alias
        start local 2 // java.security.cert.Certificate cert
        start local 3 // java.util.Set attributes
         0: .line 993
            aload 2 /* cert */
            ifnull 6
            aload 2 /* cert */
            instanceof java.security.cert.X509Certificate
            ifne 6
         1: .line 994
            new java.security.KeyStoreException
            dup
         2: .line 995
            new java.lang.StringBuilder
            dup
            ldc "Only X.509 certificates are supported - rejecting class: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         3: .line 996
            aload 2 /* cert */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         4: .line 995
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         5: .line 994
            invokespecial java.security.KeyStoreException.<init>:(Ljava/lang/String;)V
            athrow
         6: .line 999
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.pkcs12.PKCS12KeyStore.entries:Ljava/util/Map;
            aload 1 /* alias */
            getstatic java.util.Locale.ENGLISH:Ljava/util/Locale;
            invokevirtual java.lang.String.toLowerCase:(Ljava/util/Locale;)Ljava/lang/String;
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast sun.security.pkcs12.PKCS12KeyStore$Entry
            astore 4 /* entry */
        start local 4 // sun.security.pkcs12.PKCS12KeyStore$Entry entry
         7: .line 1000
            aload 4 /* entry */
            ifnull 9
            aload 4 /* entry */
            instanceof sun.security.pkcs12.PKCS12KeyStore$KeyEntry
            ifeq 9
         8: .line 1001
            new java.security.KeyStoreException
            dup
            ldc "Cannot overwrite own certificate"
            invokespecial java.security.KeyStoreException.<init>:(Ljava/lang/String;)V
            athrow
         9: .line 1005
      StackMap locals: sun.security.pkcs12.PKCS12KeyStore$Entry
      StackMap stack:
            new sun.security.pkcs12.PKCS12KeyStore$CertEntry
            dup
            aload 2 /* cert */
            checkcast java.security.cert.X509Certificate
            aconst_null
            aload 1 /* alias */
            getstatic sun.security.pkcs12.PKCS12KeyStore.AnyUsage:[Lsun/security/util/ObjectIdentifier;
        10: .line 1006
            aload 3 /* attributes */
        11: .line 1005
            invokespecial sun.security.pkcs12.PKCS12KeyStore$CertEntry.<init>:(Ljava/security/cert/X509Certificate;[BLjava/lang/String;[Lsun/security/util/ObjectIdentifier;Ljava/util/Set;)V
        12: .line 1004
            astore 5 /* certEntry */
        start local 5 // sun.security.pkcs12.PKCS12KeyStore$CertEntry certEntry
        13: .line 1007
            aload 0 /* this */
            dup
            getfield sun.security.pkcs12.PKCS12KeyStore.certificateCount:I
            iconst_1
            iadd
            putfield sun.security.pkcs12.PKCS12KeyStore.certificateCount:I
        14: .line 1008
            aload 0 /* this */
            getfield sun.security.pkcs12.PKCS12KeyStore.entries:Ljava/util/Map;
            aload 1 /* alias */
            getstatic java.util.Locale.ENGLISH:Ljava/util/Locale;
            invokevirtual java.lang.String.toLowerCase:(Ljava/util/Locale;)Ljava/lang/String;
            aload 5 /* certEntry */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        15: .line 1010
            getstatic sun.security.pkcs12.PKCS12KeyStore.debug:Lsun/security/util/Debug;
            ifnull 19
        16: .line 1011
            getstatic sun.security.pkcs12.PKCS12KeyStore.debug:Lsun/security/util/Debug;
            new java.lang.StringBuilder
            dup
            ldc "Setting a trusted certificate at alias '"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* alias */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        17: .line 1012
            ldc "'"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        18: .line 1011
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        19: .line 1014
      StackMap locals: sun.security.pkcs12.PKCS12KeyStore$CertEntry
      StackMap stack:
            return
        end local 5 // sun.security.pkcs12.PKCS12KeyStore$CertEntry certEntry
        end local 4 // sun.security.pkcs12.PKCS12KeyStore$Entry entry
        end local 3 // java.util.Set attributes
        end local 2 // java.security.cert.Certificate cert
        end local 1 // java.lang.String alias
        end local 0 // sun.security.pkcs12.PKCS12KeyStore this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   20     0        this  Lsun/security/pkcs12/PKCS12KeyStore;
            0   20     1       alias  Ljava/lang/String;
            0   20     2        cert  Ljava/security/cert/Certificate;
            0   20     3  attributes  Ljava/util/Set<Ljava/security/KeyStore$Entry$Attribute;>;
            7   20     4       entry  Lsun/security/pkcs12/PKCS12KeyStore$Entry;
           13   20     5   certEntry  Lsun/security/pkcs12/PKCS12KeyStore$CertEntry;
    Exceptions:
      throws java.security.KeyStoreException
    Signature: (Ljava/lang/String;Ljava/security/cert/Certificate;Ljava/util/Set<Ljava/security/KeyStore$Entry$Attribute;>;)V
    MethodParameters:
            Name  Flags
      alias       
      cert        
      attributes  

  public synchronized void engineDeleteEntry(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // sun.security.pkcs12.PKCS12KeyStore this
        start local 1 // java.lang.String alias
         0: .line 1026
            getstatic sun.security.pkcs12.PKCS12KeyStore.debug:Lsun/security/util/Debug;
            ifnull 2
         1: .line 1027
            getstatic sun.security.pkcs12.PKCS12KeyStore.debug:Lsun/security/util/Debug;
            new java.lang.StringBuilder
            dup
            ldc "Removing entry at alias '"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* alias */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "'"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
         2: .line 1030
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.pkcs12.PKCS12KeyStore.entries:Ljava/util/Map;
            aload 1 /* alias */
            getstatic java.util.Locale.ENGLISH:Ljava/util/Locale;
            invokevirtual java.lang.String.toLowerCase:(Ljava/util/Locale;)Ljava/lang/String;
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast sun.security.pkcs12.PKCS12KeyStore$Entry
            astore 2 /* entry */
        start local 2 // sun.security.pkcs12.PKCS12KeyStore$Entry entry
         3: .line 1031
            aload 2 /* entry */
            instanceof sun.security.pkcs12.PKCS12KeyStore$PrivateKeyEntry
            ifeq 9
         4: .line 1032
            aload 2 /* entry */
            checkcast sun.security.pkcs12.PKCS12KeyStore$PrivateKeyEntry
            astore 3 /* keyEntry */
        start local 3 // sun.security.pkcs12.PKCS12KeyStore$PrivateKeyEntry keyEntry
         5: .line 1033
            aload 3 /* keyEntry */
            getfield sun.security.pkcs12.PKCS12KeyStore$PrivateKeyEntry.chain:[Ljava/security/cert/Certificate;
            ifnull 7
         6: .line 1034
            aload 0 /* this */
            dup
            getfield sun.security.pkcs12.PKCS12KeyStore.certificateCount:I
            aload 3 /* keyEntry */
            getfield sun.security.pkcs12.PKCS12KeyStore$PrivateKeyEntry.chain:[Ljava/security/cert/Certificate;
            arraylength
            isub
            putfield sun.security.pkcs12.PKCS12KeyStore.certificateCount:I
         7: .line 1036
      StackMap locals: sun.security.pkcs12.PKCS12KeyStore$Entry sun.security.pkcs12.PKCS12KeyStore$PrivateKeyEntry
      StackMap stack:
            aload 0 /* this */
            dup
            getfield sun.security.pkcs12.PKCS12KeyStore.privateKeyCount:I
            iconst_1
            isub
            putfield sun.security.pkcs12.PKCS12KeyStore.privateKeyCount:I
        end local 3 // sun.security.pkcs12.PKCS12KeyStore$PrivateKeyEntry keyEntry
         8: .line 1037
            goto 14
      StackMap locals:
      StackMap stack:
         9: aload 2 /* entry */
            instanceof sun.security.pkcs12.PKCS12KeyStore$CertEntry
            ifeq 12
        10: .line 1038
            aload 0 /* this */
            dup
            getfield sun.security.pkcs12.PKCS12KeyStore.certificateCount:I
            iconst_1
            isub
            putfield sun.security.pkcs12.PKCS12KeyStore.certificateCount:I
        11: .line 1039
            goto 14
      StackMap locals:
      StackMap stack:
        12: aload 2 /* entry */
            instanceof sun.security.pkcs12.PKCS12KeyStore$SecretKeyEntry
            ifeq 14
        13: .line 1040
            aload 0 /* this */
            dup
            getfield sun.security.pkcs12.PKCS12KeyStore.secretKeyCount:I
            iconst_1
            isub
            putfield sun.security.pkcs12.PKCS12KeyStore.secretKeyCount:I
        14: .line 1042
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.pkcs12.PKCS12KeyStore.entries:Ljava/util/Map;
            aload 1 /* alias */
            getstatic java.util.Locale.ENGLISH:Ljava/util/Locale;
            invokevirtual java.lang.String.toLowerCase:(Ljava/util/Locale;)Ljava/lang/String;
            invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
        15: .line 1043
            return
        end local 2 // sun.security.pkcs12.PKCS12KeyStore$Entry entry
        end local 1 // java.lang.String alias
        end local 0 // sun.security.pkcs12.PKCS12KeyStore this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   16     0      this  Lsun/security/pkcs12/PKCS12KeyStore;
            0   16     1     alias  Ljava/lang/String;
            3   16     2     entry  Lsun/security/pkcs12/PKCS12KeyStore$Entry;
            5    8     3  keyEntry  Lsun/security/pkcs12/PKCS12KeyStore$PrivateKeyEntry;
    Exceptions:
      throws java.security.KeyStoreException
    MethodParameters:
       Name  Flags
      alias  

  public java.util.Enumeration<java.lang.String> engineAliases();
    descriptor: ()Ljava/util/Enumeration;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.security.pkcs12.PKCS12KeyStore this
         0: .line 1051
            aload 0 /* this */
            getfield sun.security.pkcs12.PKCS12KeyStore.entries:Ljava/util/Map;
            invokeinterface java.util.Map.keySet:()Ljava/util/Set;
            invokestatic java.util.Collections.enumeration:(Ljava/util/Collection;)Ljava/util/Enumeration;
            areturn
        end local 0 // sun.security.pkcs12.PKCS12KeyStore this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/security/pkcs12/PKCS12KeyStore;
    Signature: ()Ljava/util/Enumeration<Ljava/lang/String;>;

  public boolean engineContainsAlias(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // sun.security.pkcs12.PKCS12KeyStore this
        start local 1 // java.lang.String alias
         0: .line 1062
            aload 0 /* this */
            getfield sun.security.pkcs12.PKCS12KeyStore.entries:Ljava/util/Map;
            aload 1 /* alias */
            getstatic java.util.Locale.ENGLISH:Ljava/util/Locale;
            invokevirtual java.lang.String.toLowerCase:(Ljava/util/Locale;)Ljava/lang/String;
            invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
            ireturn
        end local 1 // java.lang.String alias
        end local 0 // sun.security.pkcs12.PKCS12KeyStore this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lsun/security/pkcs12/PKCS12KeyStore;
            0    1     1  alias  Ljava/lang/String;
    MethodParameters:
       Name  Flags
      alias  

  public int engineSize();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.security.pkcs12.PKCS12KeyStore this
         0: .line 1071
            aload 0 /* this */
            getfield sun.security.pkcs12.PKCS12KeyStore.entries:Ljava/util/Map;
            invokeinterface java.util.Map.size:()I
            ireturn
        end local 0 // sun.security.pkcs12.PKCS12KeyStore this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/security/pkcs12/PKCS12KeyStore;

  public boolean engineIsKeyEntry(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // sun.security.pkcs12.PKCS12KeyStore this
        start local 1 // java.lang.String alias
         0: .line 1082
            aload 0 /* this */
            getfield sun.security.pkcs12.PKCS12KeyStore.entries:Ljava/util/Map;
            aload 1 /* alias */
            getstatic java.util.Locale.ENGLISH:Ljava/util/Locale;
            invokevirtual java.lang.String.toLowerCase:(Ljava/util/Locale;)Ljava/lang/String;
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast sun.security.pkcs12.PKCS12KeyStore$Entry
            astore 2 /* entry */
        start local 2 // sun.security.pkcs12.PKCS12KeyStore$Entry entry
         1: .line 1083
            aload 2 /* entry */
            ifnull 3
            aload 2 /* entry */
            instanceof sun.security.pkcs12.PKCS12KeyStore$KeyEntry
            ifeq 3
         2: .line 1084
            iconst_1
            ireturn
         3: .line 1086
      StackMap locals: sun.security.pkcs12.PKCS12KeyStore$Entry
      StackMap stack:
            iconst_0
            ireturn
        end local 2 // sun.security.pkcs12.PKCS12KeyStore$Entry entry
        end local 1 // java.lang.String alias
        end local 0 // sun.security.pkcs12.PKCS12KeyStore this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0   this  Lsun/security/pkcs12/PKCS12KeyStore;
            0    4     1  alias  Ljava/lang/String;
            1    4     2  entry  Lsun/security/pkcs12/PKCS12KeyStore$Entry;
    MethodParameters:
       Name  Flags
      alias  

  public boolean engineIsCertificateEntry(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // sun.security.pkcs12.PKCS12KeyStore this
        start local 1 // java.lang.String alias
         0: .line 1098
            aload 0 /* this */
            getfield sun.security.pkcs12.PKCS12KeyStore.entries:Ljava/util/Map;
            aload 1 /* alias */
            getstatic java.util.Locale.ENGLISH:Ljava/util/Locale;
            invokevirtual java.lang.String.toLowerCase:(Ljava/util/Locale;)Ljava/lang/String;
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast sun.security.pkcs12.PKCS12KeyStore$Entry
            astore 2 /* entry */
        start local 2 // sun.security.pkcs12.PKCS12KeyStore$Entry entry
         1: .line 1099
            aload 2 /* entry */
            ifnull 4
            aload 2 /* entry */
            instanceof sun.security.pkcs12.PKCS12KeyStore$CertEntry
            ifeq 4
         2: .line 1100
            aload 2 /* entry */
            checkcast sun.security.pkcs12.PKCS12KeyStore$CertEntry
            getfield sun.security.pkcs12.PKCS12KeyStore$CertEntry.trustedKeyUsage:[Lsun/security/util/ObjectIdentifier;
            ifnull 4
         3: .line 1101
            iconst_1
            ireturn
         4: .line 1103
      StackMap locals: sun.security.pkcs12.PKCS12KeyStore$Entry
      StackMap stack:
            iconst_0
            ireturn
        end local 2 // sun.security.pkcs12.PKCS12KeyStore$Entry entry
        end local 1 // java.lang.String alias
        end local 0 // sun.security.pkcs12.PKCS12KeyStore this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    5     0   this  Lsun/security/pkcs12/PKCS12KeyStore;
            0    5     1  alias  Ljava/lang/String;
            1    5     2  entry  Lsun/security/pkcs12/PKCS12KeyStore$Entry;
    MethodParameters:
       Name  Flags
      alias  

  public boolean engineEntryInstanceOf(java.lang.String, java.lang.Class<? extends java.security.KeyStore$Entry>);
    descriptor: (Ljava/lang/String;Ljava/lang/Class;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // sun.security.pkcs12.PKCS12KeyStore this
        start local 1 // java.lang.String alias
        start local 2 // java.lang.Class entryClass
         0: .line 1126
            aload 2 /* entryClass */
            ldc Ljava/security/KeyStore$TrustedCertificateEntry;
            if_acmpne 2
         1: .line 1127
            aload 0 /* this */
            aload 1 /* alias */
            invokevirtual sun.security.pkcs12.PKCS12KeyStore.engineIsCertificateEntry:(Ljava/lang/String;)Z
            ireturn
         2: .line 1130
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.pkcs12.PKCS12KeyStore.entries:Ljava/util/Map;
            aload 1 /* alias */
            getstatic java.util.Locale.ENGLISH:Ljava/util/Locale;
            invokevirtual java.lang.String.toLowerCase:(Ljava/util/Locale;)Ljava/lang/String;
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast sun.security.pkcs12.PKCS12KeyStore$Entry
            astore 3 /* entry */
        start local 3 // sun.security.pkcs12.PKCS12KeyStore$Entry entry
         3: .line 1131
            aload 2 /* entryClass */
            ldc Ljava/security/KeyStore$PrivateKeyEntry;
            if_acmpne 6
         4: .line 1132
            aload 3 /* entry */
            ifnull 5
            aload 3 /* entry */
            instanceof sun.security.pkcs12.PKCS12KeyStore$PrivateKeyEntry
            ifeq 5
            iconst_1
            ireturn
      StackMap locals: sun.security.pkcs12.PKCS12KeyStore$Entry
      StackMap stack:
         5: iconst_0
            ireturn
         6: .line 1134
      StackMap locals:
      StackMap stack:
            aload 2 /* entryClass */
            ldc Ljava/security/KeyStore$SecretKeyEntry;
            if_acmpne 9
         7: .line 1135
            aload 3 /* entry */
            ifnull 8
            aload 3 /* entry */
            instanceof sun.security.pkcs12.PKCS12KeyStore$SecretKeyEntry
            ifeq 8
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         8: iconst_0
            ireturn
         9: .line 1137
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 3 // sun.security.pkcs12.PKCS12KeyStore$Entry entry
        end local 2 // java.lang.Class entryClass
        end local 1 // java.lang.String alias
        end local 0 // sun.security.pkcs12.PKCS12KeyStore this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   10     0        this  Lsun/security/pkcs12/PKCS12KeyStore;
            0   10     1       alias  Ljava/lang/String;
            0   10     2  entryClass  Ljava/lang/Class<+Ljava/security/KeyStore$Entry;>;
            3   10     3       entry  Lsun/security/pkcs12/PKCS12KeyStore$Entry;
    Signature: (Ljava/lang/String;Ljava/lang/Class<+Ljava/security/KeyStore$Entry;>;)Z
    MethodParameters:
            Name  Flags
      alias       
      entryClass  

  public java.lang.String engineGetCertificateAlias(java.security.cert.Certificate);
    descriptor: (Ljava/security/cert/Certificate;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=6, args_size=2
        start local 0 // sun.security.pkcs12.PKCS12KeyStore this
        start local 1 // java.security.cert.Certificate cert
         0: .line 1157
            aconst_null
            astore 2 /* certElem */
        start local 2 // java.security.cert.Certificate certElem
         1: .line 1159
            aload 0 /* this */
            invokevirtual sun.security.pkcs12.PKCS12KeyStore.engineAliases:()Ljava/util/Enumeration;
            astore 3 /* e */
        start local 3 // java.util.Enumeration e
         2: goto 14
         3: .line 1160
      StackMap locals: java.security.cert.Certificate java.util.Enumeration
      StackMap stack:
            aload 3 /* e */
            invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 4 /* alias */
        start local 4 // java.lang.String alias
         4: .line 1161
            aload 0 /* this */
            getfield sun.security.pkcs12.PKCS12KeyStore.entries:Ljava/util/Map;
            aload 4 /* alias */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast sun.security.pkcs12.PKCS12KeyStore$Entry
            astore 5 /* entry */
        start local 5 // sun.security.pkcs12.PKCS12KeyStore$Entry entry
         5: .line 1162
            aload 5 /* entry */
            instanceof sun.security.pkcs12.PKCS12KeyStore$PrivateKeyEntry
            ifeq 9
         6: .line 1163
            aload 5 /* entry */
            checkcast sun.security.pkcs12.PKCS12KeyStore$PrivateKeyEntry
            getfield sun.security.pkcs12.PKCS12KeyStore$PrivateKeyEntry.chain:[Ljava/security/cert/Certificate;
            ifnull 12
         7: .line 1164
            aload 5 /* entry */
            checkcast sun.security.pkcs12.PKCS12KeyStore$PrivateKeyEntry
            getfield sun.security.pkcs12.PKCS12KeyStore$PrivateKeyEntry.chain:[Ljava/security/cert/Certificate;
            iconst_0
            aaload
            astore 2 /* certElem */
         8: .line 1166
            goto 12
      StackMap locals: java.lang.String sun.security.pkcs12.PKCS12KeyStore$Entry
      StackMap stack:
         9: aload 5 /* entry */
            instanceof sun.security.pkcs12.PKCS12KeyStore$CertEntry
            ifeq 14
        10: .line 1167
            aload 5 /* entry */
            checkcast sun.security.pkcs12.PKCS12KeyStore$CertEntry
            getfield sun.security.pkcs12.PKCS12KeyStore$CertEntry.trustedKeyUsage:[Lsun/security/util/ObjectIdentifier;
            ifnull 14
        11: .line 1168
            aload 5 /* entry */
            checkcast sun.security.pkcs12.PKCS12KeyStore$CertEntry
            getfield sun.security.pkcs12.PKCS12KeyStore$CertEntry.cert:Ljava/security/cert/X509Certificate;
            astore 2 /* certElem */
        12: .line 1172
      StackMap locals:
      StackMap stack:
            aload 2 /* certElem */
            ifnull 14
            aload 2 /* certElem */
            aload 1 /* cert */
            invokevirtual java.security.cert.Certificate.equals:(Ljava/lang/Object;)Z
            ifeq 14
        13: .line 1173
            aload 4 /* alias */
            areturn
        end local 5 // sun.security.pkcs12.PKCS12KeyStore$Entry entry
        end local 4 // java.lang.String alias
        14: .line 1159
      StackMap locals:
      StackMap stack:
            aload 3 /* e */
            invokeinterface java.util.Enumeration.hasMoreElements:()Z
            ifne 3
        end local 3 // java.util.Enumeration e
        15: .line 1176
            aconst_null
            areturn
        end local 2 // java.security.cert.Certificate certElem
        end local 1 // java.security.cert.Certificate cert
        end local 0 // sun.security.pkcs12.PKCS12KeyStore this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   16     0      this  Lsun/security/pkcs12/PKCS12KeyStore;
            0   16     1      cert  Ljava/security/cert/Certificate;
            1   16     2  certElem  Ljava/security/cert/Certificate;
            2   15     3         e  Ljava/util/Enumeration<Ljava/lang/String;>;
            4   14     4     alias  Ljava/lang/String;
            5   14     5     entry  Lsun/security/pkcs12/PKCS12KeyStore$Entry;
    MethodParameters:
      Name  Flags
      cert  

  public synchronized void engineStore(java.io.OutputStream, char[]);
    descriptor: (Ljava/io/OutputStream;[C)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=6, locals=14, args_size=3
        start local 0 // sun.security.pkcs12.PKCS12KeyStore this
        start local 1 // java.io.OutputStream stream
        start local 2 // char[] password
         0: .line 1197
            new sun.security.util.DerOutputStream
            dup
            invokespecial sun.security.util.DerOutputStream.<init>:()V
            astore 3 /* pfx */
        start local 3 // sun.security.util.DerOutputStream pfx
         1: .line 1200
            new sun.security.util.DerOutputStream
            dup
            invokespecial sun.security.util.DerOutputStream.<init>:()V
            astore 4 /* version */
        start local 4 // sun.security.util.DerOutputStream version
         2: .line 1201
            aload 4 /* version */
            iconst_3
            invokevirtual sun.security.util.DerOutputStream.putInteger:(I)V
         3: .line 1202
            aload 4 /* version */
            invokevirtual sun.security.util.DerOutputStream.toByteArray:()[B
            astore 5 /* pfxVersion */
        start local 5 // byte[] pfxVersion
         4: .line 1203
            aload 3 /* pfx */
            aload 5 /* pfxVersion */
            invokevirtual sun.security.util.DerOutputStream.write:([B)V
         5: .line 1206
            new sun.security.util.DerOutputStream
            dup
            invokespecial sun.security.util.DerOutputStream.<init>:()V
            astore 6 /* authSafe */
        start local 6 // sun.security.util.DerOutputStream authSafe
         6: .line 1209
            new sun.security.util.DerOutputStream
            dup
            invokespecial sun.security.util.DerOutputStream.<init>:()V
            astore 7 /* authSafeContentInfo */
        start local 7 // sun.security.util.DerOutputStream authSafeContentInfo
         7: .line 1212
            aload 0 /* this */
            getfield sun.security.pkcs12.PKCS12KeyStore.privateKeyCount:I
            ifgt 8
            aload 0 /* this */
            getfield sun.security.pkcs12.PKCS12KeyStore.secretKeyCount:I
            ifle 15
         8: .line 1214
      StackMap locals: sun.security.pkcs12.PKCS12KeyStore java.io.OutputStream char[] sun.security.util.DerOutputStream sun.security.util.DerOutputStream byte[] sun.security.util.DerOutputStream sun.security.util.DerOutputStream
      StackMap stack:
            getstatic sun.security.pkcs12.PKCS12KeyStore.debug:Lsun/security/util/Debug;
            ifnull 12
         9: .line 1215
            getstatic sun.security.pkcs12.PKCS12KeyStore.debug:Lsun/security/util/Debug;
            new java.lang.StringBuilder
            dup
            ldc "Storing "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield sun.security.pkcs12.PKCS12KeyStore.privateKeyCount:I
            aload 0 /* this */
            getfield sun.security.pkcs12.PKCS12KeyStore.secretKeyCount:I
            iadd
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
        10: .line 1216
            ldc " protected key(s) in a PKCS#7 data"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        11: .line 1215
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        12: .line 1219
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual sun.security.pkcs12.PKCS12KeyStore.createSafeContent:()[B
            astore 8 /* safeContentData */
        start local 8 // byte[] safeContentData
        13: .line 1220
            new sun.security.pkcs.ContentInfo
            dup
            aload 8 /* safeContentData */
            invokespecial sun.security.pkcs.ContentInfo.<init>:([B)V
            astore 9 /* dataContentInfo */
        start local 9 // sun.security.pkcs.ContentInfo dataContentInfo
        14: .line 1221
            aload 9 /* dataContentInfo */
            aload 7 /* authSafeContentInfo */
            invokevirtual sun.security.pkcs.ContentInfo.encode:(Lsun/security/util/DerOutputStream;)V
        end local 9 // sun.security.pkcs.ContentInfo dataContentInfo
        end local 8 // byte[] safeContentData
        15: .line 1225
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.pkcs12.PKCS12KeyStore.certificateCount:I
            ifle 34
        16: .line 1227
            aload 0 /* this */
            getfield sun.security.pkcs12.PKCS12KeyStore.certProtectionAlgorithm:Ljava/lang/String;
            ifnonnull 18
        17: .line 1228
            aload 0 /* this */
            invokestatic sun.security.pkcs12.PKCS12KeyStore.defaultCertProtectionAlgorithm:()Ljava/lang/String;
            putfield sun.security.pkcs12.PKCS12KeyStore.certProtectionAlgorithm:Ljava/lang/String;
        18: .line 1230
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.pkcs12.PKCS12KeyStore.certPbeIterationCount:I
            ifge 20
        19: .line 1231
            aload 0 /* this */
            invokestatic sun.security.pkcs12.PKCS12KeyStore.defaultCertPbeIterationCount:()I
            putfield sun.security.pkcs12.PKCS12KeyStore.certPbeIterationCount:I
        20: .line 1234
      StackMap locals:
      StackMap stack:
            getstatic sun.security.pkcs12.PKCS12KeyStore.debug:Lsun/security/util/Debug;
            ifnull 24
        21: .line 1235
            getstatic sun.security.pkcs12.PKCS12KeyStore.debug:Lsun/security/util/Debug;
            new java.lang.StringBuilder
            dup
            ldc "Storing "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield sun.security.pkcs12.PKCS12KeyStore.certificateCount:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
        22: .line 1236
            ldc " certificate(s) in a PKCS#7 encryptedData"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        23: .line 1235
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        24: .line 1239
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* password */
            invokevirtual sun.security.pkcs12.PKCS12KeyStore.createEncryptedData:([C)[B
            astore 8 /* encrData */
        start local 8 // byte[] encrData
        25: .line 1240
            aload 0 /* this */
            getfield sun.security.pkcs12.PKCS12KeyStore.certProtectionAlgorithm:Ljava/lang/String;
            ldc "NONE"
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifne 32
        26: .line 1242
            new sun.security.pkcs.ContentInfo
            dup
            getstatic sun.security.pkcs.ContentInfo.ENCRYPTED_DATA_OID:Lsun/security/util/ObjectIdentifier;
        27: .line 1243
            new sun.security.util.DerValue
            dup
            aload 8 /* encrData */
            invokespecial sun.security.util.DerValue.<init>:([B)V
        28: .line 1242
            invokespecial sun.security.pkcs.ContentInfo.<init>:(Lsun/security/util/ObjectIdentifier;Lsun/security/util/DerValue;)V
        29: .line 1241
            astore 9 /* encrContentInfo */
        start local 9 // sun.security.pkcs.ContentInfo encrContentInfo
        30: .line 1244
            aload 9 /* encrContentInfo */
            aload 7 /* authSafeContentInfo */
            invokevirtual sun.security.pkcs.ContentInfo.encode:(Lsun/security/util/DerOutputStream;)V
        end local 9 // sun.security.pkcs.ContentInfo encrContentInfo
        31: .line 1245
            goto 34
        32: .line 1246
      StackMap locals: byte[]
      StackMap stack:
            new sun.security.pkcs.ContentInfo
            dup
            aload 8 /* encrData */
            invokespecial sun.security.pkcs.ContentInfo.<init>:([B)V
            astore 9 /* dataContentInfo */
        start local 9 // sun.security.pkcs.ContentInfo dataContentInfo
        33: .line 1247
            aload 9 /* dataContentInfo */
            aload 7 /* authSafeContentInfo */
            invokevirtual sun.security.pkcs.ContentInfo.encode:(Lsun/security/util/DerOutputStream;)V
        end local 9 // sun.security.pkcs.ContentInfo dataContentInfo
        end local 8 // byte[] encrData
        34: .line 1252
      StackMap locals:
      StackMap stack:
            new sun.security.util.DerOutputStream
            dup
            invokespecial sun.security.util.DerOutputStream.<init>:()V
            astore 8 /* cInfo */
        start local 8 // sun.security.util.DerOutputStream cInfo
        35: .line 1253
            aload 8 /* cInfo */
            bipush 48
            aload 7 /* authSafeContentInfo */
            invokevirtual sun.security.util.DerOutputStream.write:(BLsun/security/util/DerOutputStream;)V
        36: .line 1254
            aload 8 /* cInfo */
            invokevirtual sun.security.util.DerOutputStream.toByteArray:()[B
            astore 9 /* authenticatedSafe */
        start local 9 // byte[] authenticatedSafe
        37: .line 1257
            new sun.security.pkcs.ContentInfo
            dup
            aload 9 /* authenticatedSafe */
            invokespecial sun.security.pkcs.ContentInfo.<init>:([B)V
            astore 10 /* contentInfo */
        start local 10 // sun.security.pkcs.ContentInfo contentInfo
        38: .line 1258
            aload 10 /* contentInfo */
            aload 6 /* authSafe */
            invokevirtual sun.security.pkcs.ContentInfo.encode:(Lsun/security/util/DerOutputStream;)V
        39: .line 1259
            aload 6 /* authSafe */
            invokevirtual sun.security.util.DerOutputStream.toByteArray:()[B
            astore 11 /* authSafeData */
        start local 11 // byte[] authSafeData
        40: .line 1260
            aload 3 /* pfx */
            aload 11 /* authSafeData */
            invokevirtual sun.security.util.DerOutputStream.write:([B)V
        41: .line 1263
            aload 0 /* this */
            getfield sun.security.pkcs12.PKCS12KeyStore.macAlgorithm:Ljava/lang/String;
            ifnonnull 43
        42: .line 1264
            aload 0 /* this */
            invokestatic sun.security.pkcs12.PKCS12KeyStore.defaultMacAlgorithm:()Ljava/lang/String;
            putfield sun.security.pkcs12.PKCS12KeyStore.macAlgorithm:Ljava/lang/String;
        43: .line 1266
      StackMap locals: sun.security.pkcs12.PKCS12KeyStore java.io.OutputStream char[] sun.security.util.DerOutputStream sun.security.util.DerOutputStream byte[] sun.security.util.DerOutputStream sun.security.util.DerOutputStream sun.security.util.DerOutputStream byte[] sun.security.pkcs.ContentInfo byte[]
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.pkcs12.PKCS12KeyStore.macIterationCount:I
            ifge 45
        44: .line 1267
            aload 0 /* this */
            invokestatic sun.security.pkcs12.PKCS12KeyStore.defaultMacIterationCount:()I
            putfield sun.security.pkcs12.PKCS12KeyStore.macIterationCount:I
        45: .line 1269
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.pkcs12.PKCS12KeyStore.macAlgorithm:Ljava/lang/String;
            ldc "NONE"
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifne 48
        46: .line 1270
            aload 0 /* this */
            aload 2 /* password */
            aload 9 /* authenticatedSafe */
            invokevirtual sun.security.pkcs12.PKCS12KeyStore.calculateMac:([C[B)[B
            astore 12 /* macData */
        start local 12 // byte[] macData
        47: .line 1271
            aload 3 /* pfx */
            aload 12 /* macData */
            invokevirtual sun.security.util.DerOutputStream.write:([B)V
        end local 12 // byte[] macData
        48: .line 1274
      StackMap locals:
      StackMap stack:
            new sun.security.util.DerOutputStream
            dup
            invokespecial sun.security.util.DerOutputStream.<init>:()V
            astore 12 /* pfxout */
        start local 12 // sun.security.util.DerOutputStream pfxout
        49: .line 1275
            aload 12 /* pfxout */
            bipush 48
            aload 3 /* pfx */
            invokevirtual sun.security.util.DerOutputStream.write:(BLsun/security/util/DerOutputStream;)V
        50: .line 1276
            aload 12 /* pfxout */
            invokevirtual sun.security.util.DerOutputStream.toByteArray:()[B
            astore 13 /* pfxData */
        start local 13 // byte[] pfxData
        51: .line 1277
            aload 1 /* stream */
            aload 13 /* pfxData */
            invokevirtual java.io.OutputStream.write:([B)V
        52: .line 1278
            aload 1 /* stream */
            invokevirtual java.io.OutputStream.flush:()V
        53: .line 1279
            return
        end local 13 // byte[] pfxData
        end local 12 // sun.security.util.DerOutputStream pfxout
        end local 11 // byte[] authSafeData
        end local 10 // sun.security.pkcs.ContentInfo contentInfo
        end local 9 // byte[] authenticatedSafe
        end local 8 // sun.security.util.DerOutputStream cInfo
        end local 7 // sun.security.util.DerOutputStream authSafeContentInfo
        end local 6 // sun.security.util.DerOutputStream authSafe
        end local 5 // byte[] pfxVersion
        end local 4 // sun.security.util.DerOutputStream version
        end local 3 // sun.security.util.DerOutputStream pfx
        end local 2 // char[] password
        end local 1 // java.io.OutputStream stream
        end local 0 // sun.security.pkcs12.PKCS12KeyStore this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   54     0                 this  Lsun/security/pkcs12/PKCS12KeyStore;
            0   54     1               stream  Ljava/io/OutputStream;
            0   54     2             password  [C
            1   54     3                  pfx  Lsun/security/util/DerOutputStream;
            2   54     4              version  Lsun/security/util/DerOutputStream;
            4   54     5           pfxVersion  [B
            6   54     6             authSafe  Lsun/security/util/DerOutputStream;
            7   54     7  authSafeContentInfo  Lsun/security/util/DerOutputStream;
           13   15     8      safeContentData  [B
           14   15     9      dataContentInfo  Lsun/security/pkcs/ContentInfo;
           25   34     8             encrData  [B
           30   31     9      encrContentInfo  Lsun/security/pkcs/ContentInfo;
           33   34     9      dataContentInfo  Lsun/security/pkcs/ContentInfo;
           35   54     8                cInfo  Lsun/security/util/DerOutputStream;
           37   54     9    authenticatedSafe  [B
           38   54    10          contentInfo  Lsun/security/pkcs/ContentInfo;
           40   54    11         authSafeData  [B
           47   48    12              macData  [B
           49   54    12               pfxout  Lsun/security/util/DerOutputStream;
           51   54    13              pfxData  [B
    Exceptions:
      throws java.io.IOException, java.security.NoSuchAlgorithmException, java.security.cert.CertificateException
    MethodParameters:
          Name  Flags
      stream    
      password  

  public java.security.KeyStore$Entry engineGetEntry(java.lang.String, java.security.KeyStore$ProtectionParameter);
    descriptor: (Ljava/lang/String;Ljava/security/KeyStore$ProtectionParameter;)Ljava/security/KeyStore$Entry;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=8, args_size=3
        start local 0 // sun.security.pkcs12.PKCS12KeyStore this
        start local 1 // java.lang.String alias
        start local 2 // java.security.KeyStore$ProtectionParameter protParam
         0: .line 1311
            aload 0 /* this */
            aload 1 /* alias */
            invokevirtual sun.security.pkcs12.PKCS12KeyStore.engineContainsAlias:(Ljava/lang/String;)Z
            ifne 2
         1: .line 1312
            aconst_null
            areturn
         2: .line 1315
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.pkcs12.PKCS12KeyStore.entries:Ljava/util/Map;
            aload 1 /* alias */
            getstatic java.util.Locale.ENGLISH:Ljava/util/Locale;
            invokevirtual java.lang.String.toLowerCase:(Ljava/util/Locale;)Ljava/lang/String;
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast sun.security.pkcs12.PKCS12KeyStore$Entry
            astore 3 /* entry */
        start local 3 // sun.security.pkcs12.PKCS12KeyStore$Entry entry
         3: .line 1316
            aload 2 /* protParam */
            ifnonnull 17
         4: .line 1317
            aload 0 /* this */
            aload 1 /* alias */
            invokevirtual sun.security.pkcs12.PKCS12KeyStore.engineIsCertificateEntry:(Ljava/lang/String;)Z
            ifeq 14
         5: .line 1318
            aload 3 /* entry */
            instanceof sun.security.pkcs12.PKCS12KeyStore$CertEntry
            ifeq 17
         6: .line 1319
            aload 3 /* entry */
            checkcast sun.security.pkcs12.PKCS12KeyStore$CertEntry
            getfield sun.security.pkcs12.PKCS12KeyStore$CertEntry.trustedKeyUsage:[Lsun/security/util/ObjectIdentifier;
            ifnull 17
         7: .line 1321
            getstatic sun.security.pkcs12.PKCS12KeyStore.debug:Lsun/security/util/Debug;
            ifnull 11
         8: .line 1322
            getstatic sun.security.pkcs12.PKCS12KeyStore.debug:Lsun/security/util/Debug;
            new java.lang.StringBuilder
            dup
            ldc "Retrieved a trusted certificate at alias '"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         9: .line 1323
            aload 1 /* alias */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "'"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        10: .line 1322
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        11: .line 1326
      StackMap locals: sun.security.pkcs12.PKCS12KeyStore$Entry
      StackMap stack:
            new java.security.KeyStore$TrustedCertificateEntry
            dup
        12: .line 1327
            aload 3 /* entry */
            checkcast sun.security.pkcs12.PKCS12KeyStore$CertEntry
            getfield sun.security.pkcs12.PKCS12KeyStore$CertEntry.cert:Ljava/security/cert/X509Certificate;
            aload 0 /* this */
            aload 3 /* entry */
            invokevirtual sun.security.pkcs12.PKCS12KeyStore.getAttributes:(Lsun/security/pkcs12/PKCS12KeyStore$Entry;)Ljava/util/Set;
        13: .line 1326
            invokespecial java.security.KeyStore$TrustedCertificateEntry.<init>:(Ljava/security/cert/Certificate;Ljava/util/Set;)V
            areturn
        14: .line 1330
      StackMap locals:
      StackMap stack:
            new java.security.UnrecoverableKeyException
            dup
        15: .line 1331
            ldc "requested entry requires a password"
        16: .line 1330
            invokespecial java.security.UnrecoverableKeyException.<init>:(Ljava/lang/String;)V
            athrow
        17: .line 1335
      StackMap locals:
      StackMap stack:
            aload 2 /* protParam */
            instanceof java.security.KeyStore$PasswordProtection
            ifeq 40
        18: .line 1336
            aload 0 /* this */
            aload 1 /* alias */
            invokevirtual sun.security.pkcs12.PKCS12KeyStore.engineIsCertificateEntry:(Ljava/lang/String;)Z
            ifeq 22
        19: .line 1337
            new java.lang.UnsupportedOperationException
            dup
        20: .line 1338
            ldc "trusted certificate entries are not password-protected"
        21: .line 1337
            invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
            athrow
        22: .line 1339
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* alias */
            invokevirtual sun.security.pkcs12.PKCS12KeyStore.engineIsKeyEntry:(Ljava/lang/String;)Z
            ifeq 36
        23: .line 1341
            aload 2 /* protParam */
            checkcast java.security.KeyStore$PasswordProtection
        24: .line 1340
            astore 4 /* pp */
        start local 4 // java.security.KeyStore$PasswordProtection pp
        25: .line 1342
            aload 4 /* pp */
            invokevirtual java.security.KeyStore$PasswordProtection.getPassword:()[C
            astore 5 /* password */
        start local 5 // char[] password
        26: .line 1344
            aload 0 /* this */
            aload 1 /* alias */
            aload 5 /* password */
            invokevirtual sun.security.pkcs12.PKCS12KeyStore.engineGetKey:(Ljava/lang/String;[C)Ljava/security/Key;
            astore 6 /* key */
        start local 6 // java.security.Key key
        27: .line 1345
            aload 6 /* key */
            instanceof java.security.PrivateKey
            ifeq 32
        28: .line 1346
            aload 0 /* this */
            aload 1 /* alias */
            invokevirtual sun.security.pkcs12.PKCS12KeyStore.engineGetCertificateChain:(Ljava/lang/String;)[Ljava/security/cert/Certificate;
            astore 7 /* chain */
        start local 7 // java.security.cert.Certificate[] chain
        29: .line 1348
            new java.security.KeyStore$PrivateKeyEntry
            dup
            aload 6 /* key */
            checkcast java.security.PrivateKey
            aload 7 /* chain */
        30: .line 1349
            aload 0 /* this */
            aload 3 /* entry */
            invokevirtual sun.security.pkcs12.PKCS12KeyStore.getAttributes:(Lsun/security/pkcs12/PKCS12KeyStore$Entry;)Ljava/util/Set;
        31: .line 1348
            invokespecial java.security.KeyStore$PrivateKeyEntry.<init>:(Ljava/security/PrivateKey;[Ljava/security/cert/Certificate;Ljava/util/Set;)V
            areturn
        end local 7 // java.security.cert.Certificate[] chain
        32: .line 1351
      StackMap locals: java.security.KeyStore$PasswordProtection char[] java.security.Key
      StackMap stack:
            aload 6 /* key */
            instanceof javax.crypto.SecretKey
            ifeq 40
        33: .line 1353
            new java.security.KeyStore$SecretKeyEntry
            dup
            aload 6 /* key */
            checkcast javax.crypto.SecretKey
        34: .line 1354
            aload 0 /* this */
            aload 3 /* entry */
            invokevirtual sun.security.pkcs12.PKCS12KeyStore.getAttributes:(Lsun/security/pkcs12/PKCS12KeyStore$Entry;)Ljava/util/Set;
        35: .line 1353
            invokespecial java.security.KeyStore$SecretKeyEntry.<init>:(Ljavax/crypto/SecretKey;Ljava/util/Set;)V
            areturn
        end local 6 // java.security.Key key
        end local 5 // char[] password
        end local 4 // java.security.KeyStore$PasswordProtection pp
        36: .line 1356
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* alias */
            invokevirtual sun.security.pkcs12.PKCS12KeyStore.engineIsKeyEntry:(Ljava/lang/String;)Z
            ifne 40
        37: .line 1357
            new java.lang.UnsupportedOperationException
            dup
        38: .line 1358
            ldc "untrusted certificate entries are not password-protected"
        39: .line 1357
            invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
            athrow
        40: .line 1363
      StackMap locals:
      StackMap stack:
            new java.lang.UnsupportedOperationException
            dup
            invokespecial java.lang.UnsupportedOperationException.<init>:()V
            athrow
        end local 3 // sun.security.pkcs12.PKCS12KeyStore$Entry entry
        end local 2 // java.security.KeyStore$ProtectionParameter protParam
        end local 1 // java.lang.String alias
        end local 0 // sun.security.pkcs12.PKCS12KeyStore this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   41     0       this  Lsun/security/pkcs12/PKCS12KeyStore;
            0   41     1      alias  Ljava/lang/String;
            0   41     2  protParam  Ljava/security/KeyStore$ProtectionParameter;
            3   41     3      entry  Lsun/security/pkcs12/PKCS12KeyStore$Entry;
           25   36     4         pp  Ljava/security/KeyStore$PasswordProtection;
           26   36     5   password  [C
           27   36     6        key  Ljava/security/Key;
           29   32     7      chain  [Ljava/security/cert/Certificate;
    Exceptions:
      throws java.security.KeyStoreException, java.security.NoSuchAlgorithmException, java.security.UnrecoverableEntryException
    MethodParameters:
           Name  Flags
      alias      
      protParam  

  public synchronized void engineSetEntry(java.lang.String, java.security.KeyStore$Entry, java.security.KeyStore$ProtectionParameter);
    descriptor: (Ljava/lang/String;Ljava/security/KeyStore$Entry;Ljava/security/KeyStore$ProtectionParameter;)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=6, locals=6, args_size=4
        start local 0 // sun.security.pkcs12.PKCS12KeyStore this
        start local 1 // java.lang.String alias
        start local 2 // java.security.KeyStore$Entry entry
        start local 3 // java.security.KeyStore$ProtectionParameter protParam
         0: .line 1389
            aload 3 /* protParam */
            ifnull 3
         1: .line 1390
            aload 3 /* protParam */
            instanceof java.security.KeyStore$PasswordProtection
            ifne 3
         2: .line 1391
            new java.security.KeyStoreException
            dup
            ldc "unsupported protection parameter"
            invokespecial java.security.KeyStoreException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 1393
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 4 /* pProtect */
        start local 4 // java.security.KeyStore$PasswordProtection pProtect
         4: .line 1394
            aload 3 /* protParam */
            ifnull 6
         5: .line 1395
            aload 3 /* protParam */
            checkcast java.security.KeyStore$PasswordProtection
            astore 4 /* pProtect */
         6: .line 1399
      StackMap locals: java.security.KeyStore$PasswordProtection
      StackMap stack:
            aload 2 /* entry */
            instanceof java.security.KeyStore$TrustedCertificateEntry
            ifeq 17
         7: .line 1400
            aload 3 /* protParam */
            ifnull 11
            aload 4 /* pProtect */
            invokevirtual java.security.KeyStore$PasswordProtection.getPassword:()[C
            ifnull 11
         8: .line 1402
            new java.security.KeyStoreException
            dup
         9: .line 1403
            ldc "trusted certificate entries are not password-protected"
        10: .line 1402
            invokespecial java.security.KeyStoreException.<init>:(Ljava/lang/String;)V
            athrow
        11: .line 1406
      StackMap locals:
      StackMap stack:
            aload 2 /* entry */
            checkcast java.security.KeyStore$TrustedCertificateEntry
        12: .line 1405
            astore 5 /* tce */
        start local 5 // java.security.KeyStore$TrustedCertificateEntry tce
        13: .line 1407
            aload 0 /* this */
            aload 1 /* alias */
            aload 5 /* tce */
            invokevirtual java.security.KeyStore$TrustedCertificateEntry.getTrustedCertificate:()Ljava/security/cert/Certificate;
        14: .line 1408
            aload 5 /* tce */
            invokevirtual java.security.KeyStore$TrustedCertificateEntry.getAttributes:()Ljava/util/Set;
        15: .line 1407
            invokevirtual sun.security.pkcs12.PKCS12KeyStore.setCertEntry:(Ljava/lang/String;Ljava/security/cert/Certificate;Ljava/util/Set;)V
        16: .line 1410
            return
        end local 5 // java.security.KeyStore$TrustedCertificateEntry tce
        17: .line 1412
      StackMap locals:
      StackMap stack:
            aload 2 /* entry */
            instanceof java.security.KeyStore$PrivateKeyEntry
            ifeq 27
        18: .line 1413
            aload 4 /* pProtect */
            ifnull 19
            aload 4 /* pProtect */
            invokevirtual java.security.KeyStore$PasswordProtection.getPassword:()[C
            ifnonnull 22
        19: .line 1415
      StackMap locals:
      StackMap stack:
            new java.security.KeyStoreException
            dup
        20: .line 1416
            ldc "non-null password required to create PrivateKeyEntry"
        21: .line 1415
            invokespecial java.security.KeyStoreException.<init>:(Ljava/lang/String;)V
            athrow
        22: .line 1418
      StackMap locals:
      StackMap stack:
            aload 2 /* entry */
            checkcast java.security.KeyStore$PrivateKeyEntry
            astore 5 /* pke */
        start local 5 // java.security.KeyStore$PrivateKeyEntry pke
        23: .line 1419
            aload 0 /* this */
            aload 1 /* alias */
            aload 5 /* pke */
            invokevirtual java.security.KeyStore$PrivateKeyEntry.getPrivateKey:()Ljava/security/PrivateKey;
            aload 4 /* pProtect */
        24: .line 1420
            aload 5 /* pke */
            invokevirtual java.security.KeyStore$PrivateKeyEntry.getCertificateChain:()[Ljava/security/cert/Certificate;
            aload 5 /* pke */
            invokevirtual java.security.KeyStore$PrivateKeyEntry.getAttributes:()Ljava/util/Set;
        25: .line 1419
            invokevirtual sun.security.pkcs12.PKCS12KeyStore.setKeyEntry:(Ljava/lang/String;Ljava/security/Key;Ljava/security/KeyStore$PasswordProtection;[Ljava/security/cert/Certificate;Ljava/util/Set;)V
        26: .line 1422
            return
        end local 5 // java.security.KeyStore$PrivateKeyEntry pke
        27: .line 1424
      StackMap locals:
      StackMap stack:
            aload 2 /* entry */
            instanceof java.security.KeyStore$SecretKeyEntry
            ifeq 37
        28: .line 1425
            aload 4 /* pProtect */
            ifnull 29
            aload 4 /* pProtect */
            invokevirtual java.security.KeyStore$PasswordProtection.getPassword:()[C
            ifnonnull 32
        29: .line 1427
      StackMap locals:
      StackMap stack:
            new java.security.KeyStoreException
            dup
        30: .line 1428
            ldc "non-null password required to create SecretKeyEntry"
        31: .line 1427
            invokespecial java.security.KeyStoreException.<init>:(Ljava/lang/String;)V
            athrow
        32: .line 1430
      StackMap locals:
      StackMap stack:
            aload 2 /* entry */
            checkcast java.security.KeyStore$SecretKeyEntry
            astore 5 /* ske */
        start local 5 // java.security.KeyStore$SecretKeyEntry ske
        33: .line 1431
            aload 0 /* this */
            aload 1 /* alias */
            aload 5 /* ske */
            invokevirtual java.security.KeyStore$SecretKeyEntry.getSecretKey:()Ljavax/crypto/SecretKey;
            aload 4 /* pProtect */
        34: .line 1432
            aconst_null
            aload 5 /* ske */
            invokevirtual java.security.KeyStore$SecretKeyEntry.getAttributes:()Ljava/util/Set;
        35: .line 1431
            invokevirtual sun.security.pkcs12.PKCS12KeyStore.setKeyEntry:(Ljava/lang/String;Ljava/security/Key;Ljava/security/KeyStore$PasswordProtection;[Ljava/security/cert/Certificate;Ljava/util/Set;)V
        36: .line 1434
            return
        end local 5 // java.security.KeyStore$SecretKeyEntry ske
        37: .line 1438
      StackMap locals:
      StackMap stack:
            new java.security.KeyStoreException
            dup
        38: .line 1439
            new java.lang.StringBuilder
            dup
            ldc "unsupported entry type: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* entry */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        39: .line 1438
            invokespecial java.security.KeyStoreException.<init>:(Ljava/lang/String;)V
            athrow
        end local 4 // java.security.KeyStore$PasswordProtection pProtect
        end local 3 // java.security.KeyStore$ProtectionParameter protParam
        end local 2 // java.security.KeyStore$Entry entry
        end local 1 // java.lang.String alias
        end local 0 // sun.security.pkcs12.PKCS12KeyStore this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   40     0       this  Lsun/security/pkcs12/PKCS12KeyStore;
            0   40     1      alias  Ljava/lang/String;
            0   40     2      entry  Ljava/security/KeyStore$Entry;
            0   40     3  protParam  Ljava/security/KeyStore$ProtectionParameter;
            4   40     4   pProtect  Ljava/security/KeyStore$PasswordProtection;
           13   17     5        tce  Ljava/security/KeyStore$TrustedCertificateEntry;
           23   27     5        pke  Ljava/security/KeyStore$PrivateKeyEntry;
           33   37     5        ske  Ljava/security/KeyStore$SecretKeyEntry;
    Exceptions:
      throws java.security.KeyStoreException
    MethodParameters:
           Name  Flags
      alias      
      entry      
      protParam  

  private java.util.Set<java.security.KeyStore$Entry$Attribute> getAttributes(sun.security.pkcs12.PKCS12KeyStore$Entry);
    descriptor: (Lsun/security/pkcs12/PKCS12KeyStore$Entry;)Ljava/util/Set;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=4, args_size=2
        start local 0 // sun.security.pkcs12.PKCS12KeyStore this
        start local 1 // sun.security.pkcs12.PKCS12KeyStore$Entry entry
         0: .line 1447
            aload 1 /* entry */
            getfield sun.security.pkcs12.PKCS12KeyStore$Entry.attributes:Ljava/util/Set;
            ifnonnull 2
         1: .line 1448
            aload 1 /* entry */
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            putfield sun.security.pkcs12.PKCS12KeyStore$Entry.attributes:Ljava/util/Set;
         2: .line 1452
      StackMap locals:
      StackMap stack:
            aload 1 /* entry */
            getfield sun.security.pkcs12.PKCS12KeyStore$Entry.attributes:Ljava/util/Set;
            new java.security.PKCS12Attribute
            dup
         3: .line 1453
            getstatic sun.security.pkcs12.PKCS12KeyStore.PKCS9FriendlyName_OID:Lsun/security/util/ObjectIdentifier;
            invokevirtual sun.security.util.ObjectIdentifier.toString:()Ljava/lang/String;
            aload 1 /* entry */
            getfield sun.security.pkcs12.PKCS12KeyStore$Entry.alias:Ljava/lang/String;
            invokespecial java.security.PKCS12Attribute.<init>:(Ljava/lang/String;Ljava/lang/String;)V
         4: .line 1452
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
         5: .line 1456
            aload 1 /* entry */
            getfield sun.security.pkcs12.PKCS12KeyStore$Entry.keyId:[B
            astore 2 /* keyIdValue */
        start local 2 // byte[] keyIdValue
         6: .line 1457
            aload 2 /* keyIdValue */
            ifnull 10
         7: .line 1458
            aload 1 /* entry */
            getfield sun.security.pkcs12.PKCS12KeyStore$Entry.attributes:Ljava/util/Set;
            new java.security.PKCS12Attribute
            dup
         8: .line 1459
            getstatic sun.security.pkcs12.PKCS12KeyStore.PKCS9LocalKeyId_OID:Lsun/security/util/ObjectIdentifier;
            invokevirtual sun.security.util.ObjectIdentifier.toString:()Ljava/lang/String;
            aload 2 /* keyIdValue */
            invokestatic sun.security.util.Debug.toString:([B)Ljava/lang/String;
            invokespecial java.security.PKCS12Attribute.<init>:(Ljava/lang/String;Ljava/lang/String;)V
         9: .line 1458
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        10: .line 1463
      StackMap locals: byte[]
      StackMap stack:
            aload 1 /* entry */
            instanceof sun.security.pkcs12.PKCS12KeyStore$CertEntry
            ifeq 24
        11: .line 1465
            aload 1 /* entry */
            checkcast sun.security.pkcs12.PKCS12KeyStore$CertEntry
            getfield sun.security.pkcs12.PKCS12KeyStore$CertEntry.trustedKeyUsage:[Lsun/security/util/ObjectIdentifier;
        12: .line 1464
            astore 3 /* trustedKeyUsageValue */
        start local 3 // sun.security.util.ObjectIdentifier[] trustedKeyUsageValue
        13: .line 1466
            aload 3 /* trustedKeyUsageValue */
            ifnull 24
        14: .line 1467
            aload 3 /* trustedKeyUsageValue */
            arraylength
            iconst_1
            if_icmpne 20
        15: .line 1468
            aload 1 /* entry */
            getfield sun.security.pkcs12.PKCS12KeyStore$Entry.attributes:Ljava/util/Set;
            new java.security.PKCS12Attribute
            dup
        16: .line 1469
            getstatic sun.security.pkcs12.PKCS12KeyStore.TrustedKeyUsage_OID:Lsun/security/util/ObjectIdentifier;
            invokevirtual sun.security.util.ObjectIdentifier.toString:()Ljava/lang/String;
        17: .line 1470
            aload 3 /* trustedKeyUsageValue */
            iconst_0
            aaload
            invokevirtual sun.security.util.ObjectIdentifier.toString:()Ljava/lang/String;
            invokespecial java.security.PKCS12Attribute.<init>:(Ljava/lang/String;Ljava/lang/String;)V
        18: .line 1468
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        19: .line 1471
            goto 24
        20: .line 1472
      StackMap locals: sun.security.util.ObjectIdentifier[]
      StackMap stack:
            aload 1 /* entry */
            getfield sun.security.pkcs12.PKCS12KeyStore$Entry.attributes:Ljava/util/Set;
            new java.security.PKCS12Attribute
            dup
        21: .line 1473
            getstatic sun.security.pkcs12.PKCS12KeyStore.TrustedKeyUsage_OID:Lsun/security/util/ObjectIdentifier;
            invokevirtual sun.security.util.ObjectIdentifier.toString:()Ljava/lang/String;
        22: .line 1474
            aload 3 /* trustedKeyUsageValue */
            invokestatic java.util.Arrays.toString:([Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.security.PKCS12Attribute.<init>:(Ljava/lang/String;Ljava/lang/String;)V
        23: .line 1472
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        end local 3 // sun.security.util.ObjectIdentifier[] trustedKeyUsageValue
        24: .line 1479
      StackMap locals:
      StackMap stack:
            aload 1 /* entry */
            getfield sun.security.pkcs12.PKCS12KeyStore$Entry.attributes:Ljava/util/Set;
            areturn
        end local 2 // byte[] keyIdValue
        end local 1 // sun.security.pkcs12.PKCS12KeyStore$Entry entry
        end local 0 // sun.security.pkcs12.PKCS12KeyStore this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0   25     0                  this  Lsun/security/pkcs12/PKCS12KeyStore;
            0   25     1                 entry  Lsun/security/pkcs12/PKCS12KeyStore$Entry;
            6   25     2            keyIdValue  [B
           13   24     3  trustedKeyUsageValue  [Lsun/security/util/ObjectIdentifier;
    Signature: (Lsun/security/pkcs12/PKCS12KeyStore$Entry;)Ljava/util/Set<Ljava/security/KeyStore$Entry$Attribute;>;
    MethodParameters:
       Name  Flags
      entry  

  private byte[] calculateMac(char[], byte[]);
    descriptor: ([C[B)[B
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=12, args_size=3
        start local 0 // sun.security.pkcs12.PKCS12KeyStore this
        start local 1 // char[] passwd
        start local 2 // byte[] data
         0: .line 1491
            aconst_null
            astore 3 /* mData */
        start local 3 // byte[] mData
         1: .line 1492
            aload 0 /* this */
            getfield sun.security.pkcs12.PKCS12KeyStore.macAlgorithm:Ljava/lang/String;
            bipush 7
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 4 /* algName */
        start local 4 // java.lang.String algName
         2: .line 1496
            aload 0 /* this */
            invokevirtual sun.security.pkcs12.PKCS12KeyStore.getSalt:()[B
            astore 5 /* salt */
        start local 5 // byte[] salt
         3: .line 1499
            aload 0 /* this */
            getfield sun.security.pkcs12.PKCS12KeyStore.macAlgorithm:Ljava/lang/String;
            invokestatic javax.crypto.Mac.getInstance:(Ljava/lang/String;)Ljavax/crypto/Mac;
            astore 6 /* m */
        start local 6 // javax.crypto.Mac m
         4: .line 1501
            new javax.crypto.spec.PBEParameterSpec
            dup
            aload 5 /* salt */
            aload 0 /* this */
            getfield sun.security.pkcs12.PKCS12KeyStore.macIterationCount:I
            invokespecial javax.crypto.spec.PBEParameterSpec.<init>:([BI)V
         5: .line 1500
            astore 7 /* params */
        start local 7 // javax.crypto.spec.PBEParameterSpec params
         6: .line 1502
            aload 0 /* this */
            aload 1 /* passwd */
            invokevirtual sun.security.pkcs12.PKCS12KeyStore.getPBEKey:([C)Ljavax/crypto/SecretKey;
            astore 8 /* key */
        start local 8 // javax.crypto.SecretKey key
         7: .line 1503
            aload 6 /* m */
            aload 8 /* key */
            aload 7 /* params */
            invokevirtual javax.crypto.Mac.init:(Ljava/security/Key;Ljava/security/spec/AlgorithmParameterSpec;)V
         8: .line 1504
            aload 6 /* m */
            aload 2 /* data */
            invokevirtual javax.crypto.Mac.update:([B)V
         9: .line 1505
            aload 6 /* m */
            invokevirtual javax.crypto.Mac.doFinal:()[B
            astore 9 /* macResult */
        start local 9 // byte[] macResult
        10: .line 1508
            new sun.security.pkcs12.MacData
            dup
            aload 4 /* algName */
            aload 9 /* macResult */
            aload 5 /* salt */
        11: .line 1509
            aload 0 /* this */
            getfield sun.security.pkcs12.PKCS12KeyStore.macIterationCount:I
        12: .line 1508
            invokespecial sun.security.pkcs12.MacData.<init>:(Ljava/lang/String;[B[BI)V
            astore 10 /* macData */
        start local 10 // sun.security.pkcs12.MacData macData
        13: .line 1510
            new sun.security.util.DerOutputStream
            dup
            invokespecial sun.security.util.DerOutputStream.<init>:()V
            astore 11 /* bytes */
        start local 11 // sun.security.util.DerOutputStream bytes
        14: .line 1511
            aload 11 /* bytes */
            aload 10 /* macData */
            invokevirtual sun.security.pkcs12.MacData.getEncoded:()[B
            invokevirtual sun.security.util.DerOutputStream.write:([B)V
        15: .line 1512
            aload 11 /* bytes */
            invokevirtual sun.security.util.DerOutputStream.toByteArray:()[B
            astore 3 /* mData */
        end local 11 // sun.security.util.DerOutputStream bytes
        end local 10 // sun.security.pkcs12.MacData macData
        end local 9 // byte[] macResult
        end local 8 // javax.crypto.SecretKey key
        end local 7 // javax.crypto.spec.PBEParameterSpec params
        end local 6 // javax.crypto.Mac m
        end local 5 // byte[] salt
        16: .line 1513
            goto 19
      StackMap locals: sun.security.pkcs12.PKCS12KeyStore char[] byte[] byte[] java.lang.String
      StackMap stack: java.lang.Exception
        17: astore 5 /* e */
        start local 5 // java.lang.Exception e
        18: .line 1514
            new java.io.IOException
            dup
            new java.lang.StringBuilder
            dup
            ldc "calculateMac failed: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 5 /* e */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 5 /* e */
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 5 // java.lang.Exception e
        19: .line 1516
      StackMap locals:
      StackMap stack:
            aload 3 /* mData */
            areturn
        end local 4 // java.lang.String algName
        end local 3 // byte[] mData
        end local 2 // byte[] data
        end local 1 // char[] passwd
        end local 0 // sun.security.pkcs12.PKCS12KeyStore this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   20     0       this  Lsun/security/pkcs12/PKCS12KeyStore;
            0   20     1     passwd  [C
            0   20     2       data  [B
            1   20     3      mData  [B
            2   20     4    algName  Ljava/lang/String;
            3   16     5       salt  [B
            4   16     6          m  Ljavax/crypto/Mac;
            6   16     7     params  Ljavax/crypto/spec/PBEParameterSpec;
            7   16     8        key  Ljavax/crypto/SecretKey;
           10   16     9  macResult  [B
           13   16    10    macData  Lsun/security/pkcs12/MacData;
           14   16    11      bytes  Lsun/security/util/DerOutputStream;
           18   19     5          e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           2    16      17  Class java.lang.Exception
    Exceptions:
      throws java.io.IOException
    MethodParameters:
        Name  Flags
      passwd  
      data    

  private boolean validateChain(java.security.cert.Certificate[]);
    descriptor: ([Ljava/security/cert/Certificate;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // sun.security.pkcs12.PKCS12KeyStore this
        start local 1 // java.security.cert.Certificate[] certChain
         0: .line 1525
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         1: goto 9
         2: .line 1527
      StackMap locals: int
      StackMap stack:
            aload 1 /* certChain */
            iload 2 /* i */
            aaload
            checkcast java.security.cert.X509Certificate
            invokevirtual java.security.cert.X509Certificate.getIssuerX500Principal:()Ljavax/security/auth/x500/X500Principal;
         3: .line 1526
            astore 3 /* issuerDN */
        start local 3 // javax.security.auth.x500.X500Principal issuerDN
         4: .line 1529
            aload 1 /* certChain */
            iload 2 /* i */
            iconst_1
            iadd
            aaload
            checkcast java.security.cert.X509Certificate
            invokevirtual java.security.cert.X509Certificate.getSubjectX500Principal:()Ljavax/security/auth/x500/X500Principal;
         5: .line 1528
            astore 4 /* subjectDN */
        start local 4 // javax.security.auth.x500.X500Principal subjectDN
         6: .line 1530
            aload 3 /* issuerDN */
            aload 4 /* subjectDN */
            invokevirtual javax.security.auth.x500.X500Principal.equals:(Ljava/lang/Object;)Z
            ifne 8
         7: .line 1531
            iconst_0
            ireturn
        end local 4 // javax.security.auth.x500.X500Principal subjectDN
        end local 3 // javax.security.auth.x500.X500Principal issuerDN
         8: .line 1525
      StackMap locals:
      StackMap stack:
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         9: iload 2 /* i */
            aload 1 /* certChain */
            arraylength
            iconst_1
            isub
            if_icmplt 2
        end local 2 // int i
        10: .line 1537
            new java.util.HashSet
            dup
            aload 1 /* certChain */
            invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
            invokespecial java.util.HashSet.<init>:(Ljava/util/Collection;)V
            astore 2 /* set */
        start local 2 // java.util.Set set
        11: .line 1538
            aload 2 /* set */
            invokeinterface java.util.Set.size:()I
            aload 1 /* certChain */
            arraylength
            if_icmpne 12
            iconst_1
            ireturn
      StackMap locals: sun.security.pkcs12.PKCS12KeyStore java.security.cert.Certificate[] java.util.Set
      StackMap stack:
        12: iconst_0
            ireturn
        end local 2 // java.util.Set set
        end local 1 // java.security.cert.Certificate[] certChain
        end local 0 // sun.security.pkcs12.PKCS12KeyStore this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   13     0       this  Lsun/security/pkcs12/PKCS12KeyStore;
            0   13     1  certChain  [Ljava/security/cert/Certificate;
            1   10     2          i  I
            4    8     3   issuerDN  Ljavax/security/auth/x500/X500Principal;
            6    8     4  subjectDN  Ljavax/security/auth/x500/X500Principal;
           11   13     2        set  Ljava/util/Set<Ljava/security/cert/Certificate;>;
    MethodParameters:
           Name  Flags
      certChain  

  private static void checkX509Certs(java.security.cert.Certificate[]);
    descriptor: ([Ljava/security/cert/Certificate;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=5, args_size=1
        start local 0 // java.security.cert.Certificate[] certs
         0: .line 1546
            aload 0 /* certs */
            ifnull 11
         1: .line 1547
            aload 0 /* certs */
            dup
            astore 4
            arraylength
            istore 3
            iconst_0
            istore 2
            goto 10
      StackMap locals: java.security.cert.Certificate[] top int int java.security.cert.Certificate[]
      StackMap stack:
         2: aload 4
            iload 2
            aaload
            astore 1 /* cert */
        start local 1 // java.security.cert.Certificate cert
         3: .line 1548
            aload 1 /* cert */
            instanceof java.security.cert.X509Certificate
            ifne 9
         4: .line 1549
            new java.security.KeyStoreException
            dup
         5: .line 1550
            new java.lang.StringBuilder
            dup
            ldc "Only X.509 certificates are supported - rejecting class: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         6: .line 1551
            aload 1 /* cert */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         7: .line 1550
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         8: .line 1549
            invokespecial java.security.KeyStoreException.<init>:(Ljava/lang/String;)V
            athrow
        end local 1 // java.security.cert.Certificate cert
         9: .line 1547
      StackMap locals:
      StackMap stack:
            iinc 2 1
      StackMap locals:
      StackMap stack:
        10: iload 2
            iload 3
            if_icmplt 2
        11: .line 1555
      StackMap locals: java.security.cert.Certificate[]
      StackMap stack:
            return
        end local 0 // java.security.cert.Certificate[] certs
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   12     0  certs  [Ljava/security/cert/Certificate;
            3    9     1   cert  Ljava/security/cert/Certificate;
    Exceptions:
      throws java.security.KeyStoreException
    MethodParameters:
       Name  Flags
      certs  

  private byte[] getBagAttributes(java.lang.String, byte[], java.util.Set<java.security.KeyStore$Entry$Attribute>);
    descriptor: (Ljava/lang/String;[BLjava/util/Set;)[B
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // sun.security.pkcs12.PKCS12KeyStore this
        start local 1 // java.lang.String alias
        start local 2 // byte[] keyId
        start local 3 // java.util.Set attributes
         0: .line 1594
            aload 0 /* this */
            aload 1 /* alias */
            aload 2 /* keyId */
            aconst_null
            aload 3 /* attributes */
            invokevirtual sun.security.pkcs12.PKCS12KeyStore.getBagAttributes:(Ljava/lang/String;[B[Lsun/security/util/ObjectIdentifier;Ljava/util/Set;)[B
            areturn
        end local 3 // java.util.Set attributes
        end local 2 // byte[] keyId
        end local 1 // java.lang.String alias
        end local 0 // sun.security.pkcs12.PKCS12KeyStore this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0        this  Lsun/security/pkcs12/PKCS12KeyStore;
            0    1     1       alias  Ljava/lang/String;
            0    1     2       keyId  [B
            0    1     3  attributes  Ljava/util/Set<Ljava/security/KeyStore$Entry$Attribute;>;
    Exceptions:
      throws java.io.IOException
    Signature: (Ljava/lang/String;[BLjava/util/Set<Ljava/security/KeyStore$Entry$Attribute;>;)[B
    MethodParameters:
            Name  Flags
      alias       
      keyId       
      attributes  

  private byte[] getBagAttributes(java.lang.String, byte[], sun.security.util.ObjectIdentifier[], java.util.Set<java.security.KeyStore$Entry$Attribute>);
    descriptor: (Ljava/lang/String;[B[Lsun/security/util/ObjectIdentifier;Ljava/util/Set;)[B
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=16, args_size=5
        start local 0 // sun.security.pkcs12.PKCS12KeyStore this
        start local 1 // java.lang.String alias
        start local 2 // byte[] keyId
        start local 3 // sun.security.util.ObjectIdentifier[] trustedUsage
        start local 4 // java.util.Set attributes
         0: .line 1601
            aconst_null
            astore 5 /* localKeyID */
        start local 5 // byte[] localKeyID
         1: .line 1602
            aconst_null
            astore 6 /* friendlyName */
        start local 6 // byte[] friendlyName
         2: .line 1603
            aconst_null
            astore 7 /* trustedKeyUsage */
        start local 7 // byte[] trustedKeyUsage
         3: .line 1606
            aload 1 /* alias */
            ifnonnull 5
            aload 2 /* keyId */
            ifnonnull 5
            aload 7 /* trustedKeyUsage */
            ifnonnull 5
         4: .line 1607
            aconst_null
            areturn
         5: .line 1611
      StackMap locals: byte[] byte[] byte[]
      StackMap stack:
            new sun.security.util.DerOutputStream
            dup
            invokespecial sun.security.util.DerOutputStream.<init>:()V
            astore 8 /* bagAttrs */
        start local 8 // sun.security.util.DerOutputStream bagAttrs
         6: .line 1614
            aload 1 /* alias */
            ifnull 15
         7: .line 1615
            new sun.security.util.DerOutputStream
            dup
            invokespecial sun.security.util.DerOutputStream.<init>:()V
            astore 9 /* bagAttr1 */
        start local 9 // sun.security.util.DerOutputStream bagAttr1
         8: .line 1616
            aload 9 /* bagAttr1 */
            getstatic sun.security.pkcs12.PKCS12KeyStore.PKCS9FriendlyName_OID:Lsun/security/util/ObjectIdentifier;
            invokevirtual sun.security.util.DerOutputStream.putOID:(Lsun/security/util/ObjectIdentifier;)V
         9: .line 1617
            new sun.security.util.DerOutputStream
            dup
            invokespecial sun.security.util.DerOutputStream.<init>:()V
            astore 10 /* bagAttrContent1 */
        start local 10 // sun.security.util.DerOutputStream bagAttrContent1
        10: .line 1618
            new sun.security.util.DerOutputStream
            dup
            invokespecial sun.security.util.DerOutputStream.<init>:()V
            astore 11 /* bagAttrValue1 */
        start local 11 // sun.security.util.DerOutputStream bagAttrValue1
        11: .line 1619
            aload 10 /* bagAttrContent1 */
            aload 1 /* alias */
            invokevirtual sun.security.util.DerOutputStream.putBMPString:(Ljava/lang/String;)V
        12: .line 1620
            aload 9 /* bagAttr1 */
            bipush 49
            aload 10 /* bagAttrContent1 */
            invokevirtual sun.security.util.DerOutputStream.write:(BLsun/security/util/DerOutputStream;)V
        13: .line 1621
            aload 11 /* bagAttrValue1 */
            bipush 48
            aload 9 /* bagAttr1 */
            invokevirtual sun.security.util.DerOutputStream.write:(BLsun/security/util/DerOutputStream;)V
        14: .line 1622
            aload 11 /* bagAttrValue1 */
            invokevirtual sun.security.util.DerOutputStream.toByteArray:()[B
            astore 6 /* friendlyName */
        end local 11 // sun.security.util.DerOutputStream bagAttrValue1
        end local 10 // sun.security.util.DerOutputStream bagAttrContent1
        end local 9 // sun.security.util.DerOutputStream bagAttr1
        15: .line 1626
      StackMap locals: sun.security.util.DerOutputStream
      StackMap stack:
            aload 2 /* keyId */
            ifnull 24
        16: .line 1627
            new sun.security.util.DerOutputStream
            dup
            invokespecial sun.security.util.DerOutputStream.<init>:()V
            astore 9 /* bagAttr2 */
        start local 9 // sun.security.util.DerOutputStream bagAttr2
        17: .line 1628
            aload 9 /* bagAttr2 */
            getstatic sun.security.pkcs12.PKCS12KeyStore.PKCS9LocalKeyId_OID:Lsun/security/util/ObjectIdentifier;
            invokevirtual sun.security.util.DerOutputStream.putOID:(Lsun/security/util/ObjectIdentifier;)V
        18: .line 1629
            new sun.security.util.DerOutputStream
            dup
            invokespecial sun.security.util.DerOutputStream.<init>:()V
            astore 10 /* bagAttrContent2 */
        start local 10 // sun.security.util.DerOutputStream bagAttrContent2
        19: .line 1630
            new sun.security.util.DerOutputStream
            dup
            invokespecial sun.security.util.DerOutputStream.<init>:()V
            astore 11 /* bagAttrValue2 */
        start local 11 // sun.security.util.DerOutputStream bagAttrValue2
        20: .line 1631
            aload 10 /* bagAttrContent2 */
            aload 2 /* keyId */
            invokevirtual sun.security.util.DerOutputStream.putOctetString:([B)V
        21: .line 1632
            aload 9 /* bagAttr2 */
            bipush 49
            aload 10 /* bagAttrContent2 */
            invokevirtual sun.security.util.DerOutputStream.write:(BLsun/security/util/DerOutputStream;)V
        22: .line 1633
            aload 11 /* bagAttrValue2 */
            bipush 48
            aload 9 /* bagAttr2 */
            invokevirtual sun.security.util.DerOutputStream.write:(BLsun/security/util/DerOutputStream;)V
        23: .line 1634
            aload 11 /* bagAttrValue2 */
            invokevirtual sun.security.util.DerOutputStream.toByteArray:()[B
            astore 5 /* localKeyID */
        end local 11 // sun.security.util.DerOutputStream bagAttrValue2
        end local 10 // sun.security.util.DerOutputStream bagAttrContent2
        end local 9 // sun.security.util.DerOutputStream bagAttr2
        24: .line 1638
      StackMap locals:
      StackMap stack:
            aload 3 /* trustedUsage */
            ifnull 37
        25: .line 1639
            new sun.security.util.DerOutputStream
            dup
            invokespecial sun.security.util.DerOutputStream.<init>:()V
            astore 9 /* bagAttr3 */
        start local 9 // sun.security.util.DerOutputStream bagAttr3
        26: .line 1640
            aload 9 /* bagAttr3 */
            getstatic sun.security.pkcs12.PKCS12KeyStore.TrustedKeyUsage_OID:Lsun/security/util/ObjectIdentifier;
            invokevirtual sun.security.util.DerOutputStream.putOID:(Lsun/security/util/ObjectIdentifier;)V
        27: .line 1641
            new sun.security.util.DerOutputStream
            dup
            invokespecial sun.security.util.DerOutputStream.<init>:()V
            astore 10 /* bagAttrContent3 */
        start local 10 // sun.security.util.DerOutputStream bagAttrContent3
        28: .line 1642
            new sun.security.util.DerOutputStream
            dup
            invokespecial sun.security.util.DerOutputStream.<init>:()V
            astore 11 /* bagAttrValue3 */
        start local 11 // sun.security.util.DerOutputStream bagAttrValue3
        29: .line 1643
            aload 3 /* trustedUsage */
            dup
            astore 15
            arraylength
            istore 14
            iconst_0
            istore 13
            goto 33
      StackMap locals: sun.security.pkcs12.PKCS12KeyStore java.lang.String byte[] sun.security.util.ObjectIdentifier[] java.util.Set byte[] byte[] byte[] sun.security.util.DerOutputStream sun.security.util.DerOutputStream sun.security.util.DerOutputStream sun.security.util.DerOutputStream top int int sun.security.util.ObjectIdentifier[]
      StackMap stack:
        30: aload 15
            iload 13
            aaload
            astore 12 /* usage */
        start local 12 // sun.security.util.ObjectIdentifier usage
        31: .line 1644
            aload 10 /* bagAttrContent3 */
            aload 12 /* usage */
            invokevirtual sun.security.util.DerOutputStream.putOID:(Lsun/security/util/ObjectIdentifier;)V
        end local 12 // sun.security.util.ObjectIdentifier usage
        32: .line 1643
            iinc 13 1
      StackMap locals:
      StackMap stack:
        33: iload 13
            iload 14
            if_icmplt 30
        34: .line 1646
            aload 9 /* bagAttr3 */
            bipush 49
            aload 10 /* bagAttrContent3 */
            invokevirtual sun.security.util.DerOutputStream.write:(BLsun/security/util/DerOutputStream;)V
        35: .line 1647
            aload 11 /* bagAttrValue3 */
            bipush 48
            aload 9 /* bagAttr3 */
            invokevirtual sun.security.util.DerOutputStream.write:(BLsun/security/util/DerOutputStream;)V
        36: .line 1648
            aload 11 /* bagAttrValue3 */
            invokevirtual sun.security.util.DerOutputStream.toByteArray:()[B
            astore 7 /* trustedKeyUsage */
        end local 11 // sun.security.util.DerOutputStream bagAttrValue3
        end local 10 // sun.security.util.DerOutputStream bagAttrContent3
        end local 9 // sun.security.util.DerOutputStream bagAttr3
        37: .line 1651
      StackMap locals: sun.security.pkcs12.PKCS12KeyStore java.lang.String byte[] sun.security.util.ObjectIdentifier[] java.util.Set byte[] byte[] byte[] sun.security.util.DerOutputStream
      StackMap stack:
            new sun.security.util.DerOutputStream
            dup
            invokespecial sun.security.util.DerOutputStream.<init>:()V
            astore 9 /* attrs */
        start local 9 // sun.security.util.DerOutputStream attrs
        38: .line 1652
            aload 6 /* friendlyName */
            ifnull 40
        39: .line 1653
            aload 9 /* attrs */
            aload 6 /* friendlyName */
            invokevirtual sun.security.util.DerOutputStream.write:([B)V
        40: .line 1655
      StackMap locals: sun.security.util.DerOutputStream
      StackMap stack:
            aload 5 /* localKeyID */
            ifnull 42
        41: .line 1656
            aload 9 /* attrs */
            aload 5 /* localKeyID */
            invokevirtual sun.security.util.DerOutputStream.write:([B)V
        42: .line 1658
      StackMap locals:
      StackMap stack:
            aload 7 /* trustedKeyUsage */
            ifnull 44
        43: .line 1659
            aload 9 /* attrs */
            aload 7 /* trustedKeyUsage */
            invokevirtual sun.security.util.DerOutputStream.write:([B)V
        44: .line 1662
      StackMap locals:
      StackMap stack:
            aload 4 /* attributes */
            ifnull 54
        45: .line 1663
            aload 4 /* attributes */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 11
            goto 53
      StackMap locals: sun.security.pkcs12.PKCS12KeyStore java.lang.String byte[] sun.security.util.ObjectIdentifier[] java.util.Set byte[] byte[] byte[] sun.security.util.DerOutputStream sun.security.util.DerOutputStream top java.util.Iterator
      StackMap stack:
        46: aload 11
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.security.KeyStore$Entry$Attribute
            astore 10 /* attribute */
        start local 10 // java.security.KeyStore$Entry$Attribute attribute
        47: .line 1664
            aload 10 /* attribute */
            invokeinterface java.security.KeyStore$Entry$Attribute.getName:()Ljava/lang/String;
            astore 12 /* attributeName */
        start local 12 // java.lang.String attributeName
        48: .line 1666
            getstatic sun.security.pkcs12.PKCS12KeyStore.CORE_ATTRIBUTES:[Ljava/lang/String;
            iconst_0
            aaload
            aload 12 /* attributeName */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 53
        49: .line 1667
            getstatic sun.security.pkcs12.PKCS12KeyStore.CORE_ATTRIBUTES:[Ljava/lang/String;
            iconst_1
            aaload
            aload 12 /* attributeName */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 53
        50: .line 1668
            getstatic sun.security.pkcs12.PKCS12KeyStore.CORE_ATTRIBUTES:[Ljava/lang/String;
            iconst_2
            aaload
            aload 12 /* attributeName */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 52
        51: .line 1669
            goto 53
        52: .line 1671
      StackMap locals: sun.security.pkcs12.PKCS12KeyStore java.lang.String byte[] sun.security.util.ObjectIdentifier[] java.util.Set byte[] byte[] byte[] sun.security.util.DerOutputStream sun.security.util.DerOutputStream java.security.KeyStore$Entry$Attribute java.util.Iterator java.lang.String
      StackMap stack:
            aload 9 /* attrs */
            aload 10 /* attribute */
            checkcast java.security.PKCS12Attribute
            invokevirtual java.security.PKCS12Attribute.getEncoded:()[B
            invokevirtual sun.security.util.DerOutputStream.write:([B)V
        end local 12 // java.lang.String attributeName
        end local 10 // java.security.KeyStore$Entry$Attribute attribute
        53: .line 1663
      StackMap locals: sun.security.pkcs12.PKCS12KeyStore java.lang.String byte[] sun.security.util.ObjectIdentifier[] java.util.Set byte[] byte[] byte[] sun.security.util.DerOutputStream sun.security.util.DerOutputStream top java.util.Iterator
      StackMap stack:
            aload 11
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 46
        54: .line 1675
      StackMap locals: sun.security.pkcs12.PKCS12KeyStore java.lang.String byte[] sun.security.util.ObjectIdentifier[] java.util.Set byte[] byte[] byte[] sun.security.util.DerOutputStream sun.security.util.DerOutputStream
      StackMap stack:
            aload 8 /* bagAttrs */
            bipush 49
            aload 9 /* attrs */
            invokevirtual sun.security.util.DerOutputStream.write:(BLsun/security/util/DerOutputStream;)V
        55: .line 1676
            aload 8 /* bagAttrs */
            invokevirtual sun.security.util.DerOutputStream.toByteArray:()[B
            areturn
        end local 9 // sun.security.util.DerOutputStream attrs
        end local 8 // sun.security.util.DerOutputStream bagAttrs
        end local 7 // byte[] trustedKeyUsage
        end local 6 // byte[] friendlyName
        end local 5 // byte[] localKeyID
        end local 4 // java.util.Set attributes
        end local 3 // sun.security.util.ObjectIdentifier[] trustedUsage
        end local 2 // byte[] keyId
        end local 1 // java.lang.String alias
        end local 0 // sun.security.pkcs12.PKCS12KeyStore this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   56     0             this  Lsun/security/pkcs12/PKCS12KeyStore;
            0   56     1            alias  Ljava/lang/String;
            0   56     2            keyId  [B
            0   56     3     trustedUsage  [Lsun/security/util/ObjectIdentifier;
            0   56     4       attributes  Ljava/util/Set<Ljava/security/KeyStore$Entry$Attribute;>;
            1   56     5       localKeyID  [B
            2   56     6     friendlyName  [B
            3   56     7  trustedKeyUsage  [B
            6   56     8         bagAttrs  Lsun/security/util/DerOutputStream;
            8   15     9         bagAttr1  Lsun/security/util/DerOutputStream;
           10   15    10  bagAttrContent1  Lsun/security/util/DerOutputStream;
           11   15    11    bagAttrValue1  Lsun/security/util/DerOutputStream;
           17   24     9         bagAttr2  Lsun/security/util/DerOutputStream;
           19   24    10  bagAttrContent2  Lsun/security/util/DerOutputStream;
           20   24    11    bagAttrValue2  Lsun/security/util/DerOutputStream;
           26   37     9         bagAttr3  Lsun/security/util/DerOutputStream;
           28   37    10  bagAttrContent3  Lsun/security/util/DerOutputStream;
           29   37    11    bagAttrValue3  Lsun/security/util/DerOutputStream;
           31   32    12            usage  Lsun/security/util/ObjectIdentifier;
           38   56     9            attrs  Lsun/security/util/DerOutputStream;
           47   53    10        attribute  Ljava/security/KeyStore$Entry$Attribute;
           48   53    12    attributeName  Ljava/lang/String;
    Exceptions:
      throws java.io.IOException
    Signature: (Ljava/lang/String;[B[Lsun/security/util/ObjectIdentifier;Ljava/util/Set<Ljava/security/KeyStore$Entry$Attribute;>;)[B
    MethodParameters:
              Name  Flags
      alias         
      keyId         
      trustedUsage  
      attributes    

  private byte[] createEncryptedData(char[]);
    descriptor: ([C)[B
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=17, args_size=2
        start local 0 // sun.security.pkcs12.PKCS12KeyStore this
        start local 1 // char[] password
         0: .line 1688
            new sun.security.util.DerOutputStream
            dup
            invokespecial sun.security.util.DerOutputStream.<init>:()V
            astore 2 /* out */
        start local 2 // sun.security.util.DerOutputStream out
         1: .line 1689
            aload 0 /* this */
            invokevirtual sun.security.pkcs12.PKCS12KeyStore.engineAliases:()Ljava/util/Enumeration;
            astore 3 /* e */
        start local 3 // java.util.Enumeration e
         2: goto 65
         3: .line 1691
      StackMap locals: sun.security.util.DerOutputStream java.util.Enumeration
      StackMap stack:
            aload 3 /* e */
            invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 4 /* alias */
        start local 4 // java.lang.String alias
         4: .line 1692
            aload 0 /* this */
            getfield sun.security.pkcs12.PKCS12KeyStore.entries:Ljava/util/Map;
            aload 4 /* alias */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast sun.security.pkcs12.PKCS12KeyStore$Entry
            astore 5 /* entry */
        start local 5 // sun.security.pkcs12.PKCS12KeyStore$Entry entry
         5: .line 1697
            aload 5 /* entry */
            instanceof sun.security.pkcs12.PKCS12KeyStore$PrivateKeyEntry
            ifeq 12
         6: .line 1698
            aload 5 /* entry */
            checkcast sun.security.pkcs12.PKCS12KeyStore$PrivateKeyEntry
            astore 7 /* keyEntry */
        start local 7 // sun.security.pkcs12.PKCS12KeyStore$PrivateKeyEntry keyEntry
         7: .line 1699
            aload 7 /* keyEntry */
            getfield sun.security.pkcs12.PKCS12KeyStore$PrivateKeyEntry.chain:[Ljava/security/cert/Certificate;
            ifnull 10
         8: .line 1700
            aload 7 /* keyEntry */
            getfield sun.security.pkcs12.PKCS12KeyStore$PrivateKeyEntry.chain:[Ljava/security/cert/Certificate;
            astore 6 /* certs */
        start local 6 // java.security.cert.Certificate[] certs
         9: .line 1701
            goto 16
        end local 6 // java.security.cert.Certificate[] certs
        10: .line 1702
      StackMap locals: sun.security.pkcs12.PKCS12KeyStore char[] sun.security.util.DerOutputStream java.util.Enumeration java.lang.String sun.security.pkcs12.PKCS12KeyStore$Entry top sun.security.pkcs12.PKCS12KeyStore$PrivateKeyEntry
      StackMap stack:
            iconst_0
            anewarray java.security.cert.Certificate
            astore 6 /* certs */
        end local 7 // sun.security.pkcs12.PKCS12KeyStore$PrivateKeyEntry keyEntry
        start local 6 // java.security.cert.Certificate[] certs
        11: .line 1704
            goto 16
        end local 6 // java.security.cert.Certificate[] certs
      StackMap locals: sun.security.pkcs12.PKCS12KeyStore char[] sun.security.util.DerOutputStream java.util.Enumeration java.lang.String sun.security.pkcs12.PKCS12KeyStore$Entry
      StackMap stack:
        12: aload 5 /* entry */
            instanceof sun.security.pkcs12.PKCS12KeyStore$CertEntry
            ifeq 15
        13: .line 1705
            iconst_1
            anewarray java.security.cert.Certificate
            dup
            iconst_0
            aload 5 /* entry */
            checkcast sun.security.pkcs12.PKCS12KeyStore$CertEntry
            getfield sun.security.pkcs12.PKCS12KeyStore$CertEntry.cert:Ljava/security/cert/X509Certificate;
            aastore
            astore 6 /* certs */
        start local 6 // java.security.cert.Certificate[] certs
        14: .line 1706
            goto 16
        end local 6 // java.security.cert.Certificate[] certs
        15: .line 1707
      StackMap locals:
      StackMap stack:
            iconst_0
            anewarray java.security.cert.Certificate
            astore 6 /* certs */
        start local 6 // java.security.cert.Certificate[] certs
        16: .line 1710
      StackMap locals: java.security.cert.Certificate[]
      StackMap stack:
            iconst_0
            istore 7 /* i */
        start local 7 // int i
        17: goto 64
        18: .line 1712
      StackMap locals: int
      StackMap stack:
            new sun.security.util.DerOutputStream
            dup
            invokespecial sun.security.util.DerOutputStream.<init>:()V
            astore 8 /* safeBag */
        start local 8 // sun.security.util.DerOutputStream safeBag
        19: .line 1713
            aload 8 /* safeBag */
            getstatic sun.security.pkcs12.PKCS12KeyStore.CertBag_OID:Lsun/security/util/ObjectIdentifier;
            invokevirtual sun.security.util.DerOutputStream.putOID:(Lsun/security/util/ObjectIdentifier;)V
        20: .line 1716
            new sun.security.util.DerOutputStream
            dup
            invokespecial sun.security.util.DerOutputStream.<init>:()V
            astore 9 /* certBag */
        start local 9 // sun.security.util.DerOutputStream certBag
        21: .line 1717
            aload 9 /* certBag */
            getstatic sun.security.pkcs12.PKCS12KeyStore.PKCS9CertType_OID:Lsun/security/util/ObjectIdentifier;
            invokevirtual sun.security.util.DerOutputStream.putOID:(Lsun/security/util/ObjectIdentifier;)V
        22: .line 1720
            new sun.security.util.DerOutputStream
            dup
            invokespecial sun.security.util.DerOutputStream.<init>:()V
            astore 10 /* certValue */
        start local 10 // sun.security.util.DerOutputStream certValue
        23: .line 1721
            aload 6 /* certs */
            iload 7 /* i */
            aaload
            checkcast java.security.cert.X509Certificate
            astore 11 /* cert */
        start local 11 // java.security.cert.X509Certificate cert
        24: .line 1722
            aload 10 /* certValue */
            aload 11 /* cert */
            invokevirtual java.security.cert.X509Certificate.getEncoded:()[B
            invokevirtual sun.security.util.DerOutputStream.putOctetString:([B)V
        25: .line 1723
            aload 9 /* certBag */
            bipush -128
        26: .line 1724
            iconst_1
            iconst_0
        27: .line 1723
            invokestatic sun.security.util.DerValue.createTag:(BZB)B
        28: .line 1724
            aload 10 /* certValue */
        29: .line 1723
            invokevirtual sun.security.util.DerOutputStream.write:(BLsun/security/util/DerOutputStream;)V
        30: .line 1727
            new sun.security.util.DerOutputStream
            dup
            invokespecial sun.security.util.DerOutputStream.<init>:()V
            astore 12 /* certout */
        start local 12 // sun.security.util.DerOutputStream certout
        31: .line 1728
            aload 12 /* certout */
            bipush 48
            aload 9 /* certBag */
            invokevirtual sun.security.util.DerOutputStream.write:(BLsun/security/util/DerOutputStream;)V
        32: .line 1729
            aload 12 /* certout */
            invokevirtual sun.security.util.DerOutputStream.toByteArray:()[B
            astore 13 /* certBagValue */
        start local 13 // byte[] certBagValue
        33: .line 1732
            new sun.security.util.DerOutputStream
            dup
            invokespecial sun.security.util.DerOutputStream.<init>:()V
            astore 14 /* bagValue */
        start local 14 // sun.security.util.DerOutputStream bagValue
        34: .line 1733
            aload 14 /* bagValue */
            aload 13 /* certBagValue */
            invokevirtual sun.security.util.DerOutputStream.write:([B)V
        35: .line 1735
            aload 8 /* safeBag */
            bipush -128
        36: .line 1736
            iconst_1
            iconst_0
        37: .line 1735
            invokestatic sun.security.util.DerValue.createTag:(BZB)B
        38: .line 1736
            aload 14 /* bagValue */
        39: .line 1735
            invokevirtual sun.security.util.DerOutputStream.write:(BLsun/security/util/DerOutputStream;)V
        40: .line 1741
            aconst_null
            astore 15 /* bagAttrs */
        start local 15 // byte[] bagAttrs
        41: .line 1742
            iload 7 /* i */
            ifne 56
        42: .line 1744
            aload 5 /* entry */
            instanceof sun.security.pkcs12.PKCS12KeyStore$KeyEntry
            ifeq 49
        43: .line 1745
            aload 5 /* entry */
            checkcast sun.security.pkcs12.PKCS12KeyStore$KeyEntry
            astore 16 /* keyEntry */
        start local 16 // sun.security.pkcs12.PKCS12KeyStore$KeyEntry keyEntry
        44: .line 1747
            aload 0 /* this */
            aload 16 /* keyEntry */
            getfield sun.security.pkcs12.PKCS12KeyStore$KeyEntry.alias:Ljava/lang/String;
            aload 16 /* keyEntry */
            getfield sun.security.pkcs12.PKCS12KeyStore$KeyEntry.keyId:[B
        45: .line 1748
            aload 16 /* keyEntry */
            getfield sun.security.pkcs12.PKCS12KeyStore$KeyEntry.attributes:Ljava/util/Set;
        46: .line 1747
            invokevirtual sun.security.pkcs12.PKCS12KeyStore.getBagAttributes:(Ljava/lang/String;[BLjava/util/Set;)[B
        47: .line 1746
            astore 15 /* bagAttrs */
        end local 16 // sun.security.pkcs12.PKCS12KeyStore$KeyEntry keyEntry
        48: .line 1749
            goto 60
        49: .line 1750
      StackMap locals: sun.security.pkcs12.PKCS12KeyStore char[] sun.security.util.DerOutputStream java.util.Enumeration java.lang.String sun.security.pkcs12.PKCS12KeyStore$Entry java.security.cert.Certificate[] int sun.security.util.DerOutputStream sun.security.util.DerOutputStream sun.security.util.DerOutputStream java.security.cert.X509Certificate sun.security.util.DerOutputStream byte[] sun.security.util.DerOutputStream byte[]
      StackMap stack:
            aload 5 /* entry */
            checkcast sun.security.pkcs12.PKCS12KeyStore$CertEntry
            astore 16 /* certEntry */
        start local 16 // sun.security.pkcs12.PKCS12KeyStore$CertEntry certEntry
        50: .line 1752
            aload 0 /* this */
            aload 16 /* certEntry */
            getfield sun.security.pkcs12.PKCS12KeyStore$CertEntry.alias:Ljava/lang/String;
            aload 16 /* certEntry */
            getfield sun.security.pkcs12.PKCS12KeyStore$CertEntry.keyId:[B
        51: .line 1753
            aload 16 /* certEntry */
            getfield sun.security.pkcs12.PKCS12KeyStore$CertEntry.trustedKeyUsage:[Lsun/security/util/ObjectIdentifier;
        52: .line 1754
            aload 16 /* certEntry */
            getfield sun.security.pkcs12.PKCS12KeyStore$CertEntry.attributes:Ljava/util/Set;
        53: .line 1752
            invokevirtual sun.security.pkcs12.PKCS12KeyStore.getBagAttributes:(Ljava/lang/String;[B[Lsun/security/util/ObjectIdentifier;Ljava/util/Set;)[B
        54: .line 1751
            astore 15 /* bagAttrs */
        end local 16 // sun.security.pkcs12.PKCS12KeyStore$CertEntry certEntry
        55: .line 1756
            goto 60
        56: .line 1763
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
        57: .line 1764
            aload 11 /* cert */
            invokevirtual java.security.cert.X509Certificate.getSubjectX500Principal:()Ljavax/security/auth/x500/X500Principal;
            invokevirtual javax.security.auth.x500.X500Principal.getName:()Ljava/lang/String;
            aconst_null
        58: .line 1765
            aload 5 /* entry */
            getfield sun.security.pkcs12.PKCS12KeyStore$Entry.attributes:Ljava/util/Set;
        59: .line 1763
            invokevirtual sun.security.pkcs12.PKCS12KeyStore.getBagAttributes:(Ljava/lang/String;[BLjava/util/Set;)[B
            astore 15 /* bagAttrs */
        60: .line 1767
      StackMap locals:
      StackMap stack:
            aload 15 /* bagAttrs */
            ifnull 62
        61: .line 1768
            aload 8 /* safeBag */
            aload 15 /* bagAttrs */
            invokevirtual sun.security.util.DerOutputStream.write:([B)V
        62: .line 1772
      StackMap locals:
      StackMap stack:
            aload 2 /* out */
            bipush 48
            aload 8 /* safeBag */
            invokevirtual sun.security.util.DerOutputStream.write:(BLsun/security/util/DerOutputStream;)V
        end local 15 // byte[] bagAttrs
        end local 14 // sun.security.util.DerOutputStream bagValue
        end local 13 // byte[] certBagValue
        end local 12 // sun.security.util.DerOutputStream certout
        end local 11 // java.security.cert.X509Certificate cert
        end local 10 // sun.security.util.DerOutputStream certValue
        end local 9 // sun.security.util.DerOutputStream certBag
        end local 8 // sun.security.util.DerOutputStream safeBag
        63: .line 1710
            iinc 7 /* i */ 1
      StackMap locals: sun.security.pkcs12.PKCS12KeyStore char[] sun.security.util.DerOutputStream java.util.Enumeration java.lang.String sun.security.pkcs12.PKCS12KeyStore$Entry java.security.cert.Certificate[] int
      StackMap stack:
        64: iload 7 /* i */
            aload 6 /* certs */
            arraylength
            if_icmplt 18
        end local 7 // int i
        end local 6 // java.security.cert.Certificate[] certs
        end local 5 // sun.security.pkcs12.PKCS12KeyStore$Entry entry
        end local 4 // java.lang.String alias
        65: .line 1689
      StackMap locals: sun.security.pkcs12.PKCS12KeyStore char[] sun.security.util.DerOutputStream java.util.Enumeration
      StackMap stack:
            aload 3 /* e */
            invokeinterface java.util.Enumeration.hasMoreElements:()Z
            ifne 3
        end local 3 // java.util.Enumeration e
        66: .line 1777
            new sun.security.util.DerOutputStream
            dup
            invokespecial sun.security.util.DerOutputStream.<init>:()V
            astore 3 /* safeBagValue */
        start local 3 // sun.security.util.DerOutputStream safeBagValue
        67: .line 1778
            aload 3 /* safeBagValue */
            bipush 48
            aload 2 /* out */
            invokevirtual sun.security.util.DerOutputStream.write:(BLsun/security/util/DerOutputStream;)V
        68: .line 1779
            aload 3 /* safeBagValue */
            invokevirtual sun.security.util.DerOutputStream.toByteArray:()[B
            astore 4 /* safeBagData */
        start local 4 // byte[] safeBagData
        69: .line 1782
            aload 0 /* this */
            getfield sun.security.pkcs12.PKCS12KeyStore.certProtectionAlgorithm:Ljava/lang/String;
            ldc "NONE"
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifne 77
        70: .line 1783
            aload 0 /* this */
            aload 4 /* safeBagData */
            aload 1 /* password */
            invokevirtual sun.security.pkcs12.PKCS12KeyStore.encryptContent:([B[C)[B
            astore 5 /* encrContentInfo */
        start local 5 // byte[] encrContentInfo
        71: .line 1786
            new sun.security.util.DerOutputStream
            dup
            invokespecial sun.security.util.DerOutputStream.<init>:()V
            astore 6 /* encrData */
        start local 6 // sun.security.util.DerOutputStream encrData
        72: .line 1787
            new sun.security.util.DerOutputStream
            dup
            invokespecial sun.security.util.DerOutputStream.<init>:()V
            astore 7 /* encrDataContent */
        start local 7 // sun.security.util.DerOutputStream encrDataContent
        73: .line 1788
            aload 6 /* encrData */
            iconst_0
            invokevirtual sun.security.util.DerOutputStream.putInteger:(I)V
        74: .line 1789
            aload 6 /* encrData */
            aload 5 /* encrContentInfo */
            invokevirtual sun.security.util.DerOutputStream.write:([B)V
        75: .line 1790
            aload 7 /* encrDataContent */
            bipush 48
            aload 6 /* encrData */
            invokevirtual sun.security.util.DerOutputStream.write:(BLsun/security/util/DerOutputStream;)V
        76: .line 1791
            aload 7 /* encrDataContent */
            invokevirtual sun.security.util.DerOutputStream.toByteArray:()[B
            areturn
        end local 7 // sun.security.util.DerOutputStream encrDataContent
        end local 6 // sun.security.util.DerOutputStream encrData
        end local 5 // byte[] encrContentInfo
        77: .line 1793
      StackMap locals: sun.security.pkcs12.PKCS12KeyStore char[] sun.security.util.DerOutputStream sun.security.util.DerOutputStream byte[]
      StackMap stack:
            aload 4 /* safeBagData */
            areturn
        end local 4 // byte[] safeBagData
        end local 3 // sun.security.util.DerOutputStream safeBagValue
        end local 2 // sun.security.util.DerOutputStream out
        end local 1 // char[] password
        end local 0 // sun.security.pkcs12.PKCS12KeyStore this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   78     0             this  Lsun/security/pkcs12/PKCS12KeyStore;
            0   78     1         password  [C
            1   78     2              out  Lsun/security/util/DerOutputStream;
            2   66     3                e  Ljava/util/Enumeration<Ljava/lang/String;>;
            4   65     4            alias  Ljava/lang/String;
            5   65     5            entry  Lsun/security/pkcs12/PKCS12KeyStore$Entry;
            9   10     6            certs  [Ljava/security/cert/Certificate;
           11   12     6            certs  [Ljava/security/cert/Certificate;
           14   15     6            certs  [Ljava/security/cert/Certificate;
           16   65     6            certs  [Ljava/security/cert/Certificate;
            7   11     7         keyEntry  Lsun/security/pkcs12/PKCS12KeyStore$PrivateKeyEntry;
           17   65     7                i  I
           19   63     8          safeBag  Lsun/security/util/DerOutputStream;
           21   63     9          certBag  Lsun/security/util/DerOutputStream;
           23   63    10        certValue  Lsun/security/util/DerOutputStream;
           24   63    11             cert  Ljava/security/cert/X509Certificate;
           31   63    12          certout  Lsun/security/util/DerOutputStream;
           33   63    13     certBagValue  [B
           34   63    14         bagValue  Lsun/security/util/DerOutputStream;
           41   63    15         bagAttrs  [B
           44   48    16         keyEntry  Lsun/security/pkcs12/PKCS12KeyStore$KeyEntry;
           50   55    16        certEntry  Lsun/security/pkcs12/PKCS12KeyStore$CertEntry;
           67   78     3     safeBagValue  Lsun/security/util/DerOutputStream;
           69   78     4      safeBagData  [B
           71   77     5  encrContentInfo  [B
           72   77     6         encrData  Lsun/security/util/DerOutputStream;
           73   77     7  encrDataContent  Lsun/security/util/DerOutputStream;
    Exceptions:
      throws java.security.cert.CertificateException, java.io.IOException
    MethodParameters:
          Name  Flags
      password  

  private byte[] createSafeContent();
    descriptor: ()[B
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=12, args_size=1
        start local 0 // sun.security.pkcs12.PKCS12KeyStore this
         0: .line 1807
            new sun.security.util.DerOutputStream
            dup
            invokespecial sun.security.util.DerOutputStream.<init>:()V
            astore 1 /* out */
        start local 1 // sun.security.util.DerOutputStream out
         1: .line 1808
            aload 0 /* this */
            invokevirtual sun.security.pkcs12.PKCS12KeyStore.engineAliases:()Ljava/util/Enumeration;
            astore 2 /* e */
        start local 2 // java.util.Enumeration e
         2: goto 54
         3: .line 1810
      StackMap locals: sun.security.util.DerOutputStream java.util.Enumeration
      StackMap stack:
            aload 2 /* e */
            invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 3 /* alias */
        start local 3 // java.lang.String alias
         4: .line 1811
            aload 0 /* this */
            getfield sun.security.pkcs12.PKCS12KeyStore.entries:Ljava/util/Map;
            aload 3 /* alias */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast sun.security.pkcs12.PKCS12KeyStore$Entry
            astore 4 /* entry */
        start local 4 // sun.security.pkcs12.PKCS12KeyStore$Entry entry
         5: .line 1812
            aload 4 /* entry */
            ifnull 54
            aload 4 /* entry */
            instanceof sun.security.pkcs12.PKCS12KeyStore$KeyEntry
            ifne 7
         6: .line 1813
            goto 54
         7: .line 1815
      StackMap locals: java.lang.String sun.security.pkcs12.PKCS12KeyStore$Entry
      StackMap stack:
            new sun.security.util.DerOutputStream
            dup
            invokespecial sun.security.util.DerOutputStream.<init>:()V
            astore 5 /* safeBag */
        start local 5 // sun.security.util.DerOutputStream safeBag
         8: .line 1816
            aload 4 /* entry */
            checkcast sun.security.pkcs12.PKCS12KeyStore$KeyEntry
            astore 6 /* keyEntry */
        start local 6 // sun.security.pkcs12.PKCS12KeyStore$KeyEntry keyEntry
         9: .line 1819
            aload 6 /* keyEntry */
            instanceof sun.security.pkcs12.PKCS12KeyStore$PrivateKeyEntry
            ifeq 27
        10: .line 1821
            aload 5 /* safeBag */
            getstatic sun.security.pkcs12.PKCS12KeyStore.PKCS8ShroudedKeyBag_OID:Lsun/security/util/ObjectIdentifier;
            invokevirtual sun.security.util.DerOutputStream.putOID:(Lsun/security/util/ObjectIdentifier;)V
        11: .line 1824
            aload 6 /* keyEntry */
            checkcast sun.security.pkcs12.PKCS12KeyStore$PrivateKeyEntry
            getfield sun.security.pkcs12.PKCS12KeyStore$PrivateKeyEntry.protectedPrivKey:[B
            astore 7 /* encrBytes */
        start local 7 // byte[] encrBytes
        12: .line 1825
            aconst_null
            astore 8 /* encrInfo */
        start local 8 // sun.security.pkcs.EncryptedPrivateKeyInfo encrInfo
        13: .line 1827
            new sun.security.pkcs.EncryptedPrivateKeyInfo
            dup
            aload 7 /* encrBytes */
            invokespecial sun.security.pkcs.EncryptedPrivateKeyInfo.<init>:([B)V
            astore 8 /* encrInfo */
        14: .line 1829
            goto 19
      StackMap locals: sun.security.pkcs12.PKCS12KeyStore sun.security.util.DerOutputStream java.util.Enumeration java.lang.String sun.security.pkcs12.PKCS12KeyStore$Entry sun.security.util.DerOutputStream sun.security.pkcs12.PKCS12KeyStore$KeyEntry byte[] sun.security.pkcs.EncryptedPrivateKeyInfo
      StackMap stack: java.io.IOException
        15: astore 9 /* ioe */
        start local 9 // java.io.IOException ioe
        16: .line 1830
            new java.io.IOException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Private key not stored as PKCS#8 EncryptedPrivateKeyInfo"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        17: .line 1832
            aload 9 /* ioe */
            invokevirtual java.io.IOException.getMessage:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        18: .line 1830
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
        end local 9 // java.io.IOException ioe
        19: .line 1836
      StackMap locals:
      StackMap stack:
            new sun.security.util.DerOutputStream
            dup
            invokespecial sun.security.util.DerOutputStream.<init>:()V
            astore 9 /* bagValue */
        start local 9 // sun.security.util.DerOutputStream bagValue
        20: .line 1837
            aload 9 /* bagValue */
            aload 8 /* encrInfo */
            invokevirtual sun.security.pkcs.EncryptedPrivateKeyInfo.getEncoded:()[B
            invokevirtual sun.security.util.DerOutputStream.write:([B)V
        21: .line 1838
            aload 5 /* safeBag */
            bipush -128
        22: .line 1839
            iconst_1
            iconst_0
        23: .line 1838
            invokestatic sun.security.util.DerValue.createTag:(BZB)B
        24: .line 1839
            aload 9 /* bagValue */
        25: .line 1838
            invokevirtual sun.security.util.DerOutputStream.write:(BLsun/security/util/DerOutputStream;)V
        end local 9 // sun.security.util.DerOutputStream bagValue
        end local 8 // sun.security.pkcs.EncryptedPrivateKeyInfo encrInfo
        end local 7 // byte[] encrBytes
        26: .line 1842
            goto 50
      StackMap locals:
      StackMap stack:
        27: aload 6 /* keyEntry */
            instanceof sun.security.pkcs12.PKCS12KeyStore$SecretKeyEntry
            ifeq 54
        28: .line 1844
            aload 5 /* safeBag */
            getstatic sun.security.pkcs12.PKCS12KeyStore.SecretBag_OID:Lsun/security/util/ObjectIdentifier;
            invokevirtual sun.security.util.DerOutputStream.putOID:(Lsun/security/util/ObjectIdentifier;)V
        29: .line 1847
            new sun.security.util.DerOutputStream
            dup
            invokespecial sun.security.util.DerOutputStream.<init>:()V
            astore 7 /* secretBag */
        start local 7 // sun.security.util.DerOutputStream secretBag
        30: .line 1848
            aload 7 /* secretBag */
            getstatic sun.security.pkcs12.PKCS12KeyStore.PKCS8ShroudedKeyBag_OID:Lsun/security/util/ObjectIdentifier;
            invokevirtual sun.security.util.DerOutputStream.putOID:(Lsun/security/util/ObjectIdentifier;)V
        31: .line 1851
            new sun.security.util.DerOutputStream
            dup
            invokespecial sun.security.util.DerOutputStream.<init>:()V
            astore 8 /* secretKeyValue */
        start local 8 // sun.security.util.DerOutputStream secretKeyValue
        32: .line 1852
            aload 8 /* secretKeyValue */
        33: .line 1853
            aload 6 /* keyEntry */
            checkcast sun.security.pkcs12.PKCS12KeyStore$SecretKeyEntry
            getfield sun.security.pkcs12.PKCS12KeyStore$SecretKeyEntry.protectedSecretKey:[B
        34: .line 1852
            invokevirtual sun.security.util.DerOutputStream.putOctetString:([B)V
        35: .line 1854
            aload 7 /* secretBag */
            bipush -128
        36: .line 1855
            iconst_1
            iconst_0
        37: .line 1854
            invokestatic sun.security.util.DerValue.createTag:(BZB)B
        38: .line 1855
            aload 8 /* secretKeyValue */
        39: .line 1854
            invokevirtual sun.security.util.DerOutputStream.write:(BLsun/security/util/DerOutputStream;)V
        40: .line 1858
            new sun.security.util.DerOutputStream
            dup
            invokespecial sun.security.util.DerOutputStream.<init>:()V
            astore 9 /* secretBagSeq */
        start local 9 // sun.security.util.DerOutputStream secretBagSeq
        41: .line 1859
            aload 9 /* secretBagSeq */
            bipush 48
            aload 7 /* secretBag */
            invokevirtual sun.security.util.DerOutputStream.write:(BLsun/security/util/DerOutputStream;)V
        42: .line 1860
            aload 9 /* secretBagSeq */
            invokevirtual sun.security.util.DerOutputStream.toByteArray:()[B
            astore 10 /* secretBagValue */
        start local 10 // byte[] secretBagValue
        43: .line 1863
            new sun.security.util.DerOutputStream
            dup
            invokespecial sun.security.util.DerOutputStream.<init>:()V
            astore 11 /* bagValue */
        start local 11 // sun.security.util.DerOutputStream bagValue
        44: .line 1864
            aload 11 /* bagValue */
            aload 10 /* secretBagValue */
            invokevirtual sun.security.util.DerOutputStream.write:([B)V
        45: .line 1867
            aload 5 /* safeBag */
            bipush -128
        46: .line 1868
            iconst_1
            iconst_0
        47: .line 1867
            invokestatic sun.security.util.DerValue.createTag:(BZB)B
        48: .line 1868
            aload 11 /* bagValue */
        49: .line 1867
            invokevirtual sun.security.util.DerOutputStream.write:(BLsun/security/util/DerOutputStream;)V
        end local 11 // sun.security.util.DerOutputStream bagValue
        end local 10 // byte[] secretBagValue
        end local 9 // sun.security.util.DerOutputStream secretBagSeq
        end local 8 // sun.security.util.DerOutputStream secretKeyValue
        end local 7 // sun.security.util.DerOutputStream secretBag
        50: .line 1875
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 3 /* alias */
            aload 4 /* entry */
            getfield sun.security.pkcs12.PKCS12KeyStore$Entry.keyId:[B
            aload 4 /* entry */
            getfield sun.security.pkcs12.PKCS12KeyStore$Entry.attributes:Ljava/util/Set;
            invokevirtual sun.security.pkcs12.PKCS12KeyStore.getBagAttributes:(Ljava/lang/String;[BLjava/util/Set;)[B
        51: .line 1874
            astore 7 /* bagAttrs */
        start local 7 // byte[] bagAttrs
        52: .line 1876
            aload 5 /* safeBag */
            aload 7 /* bagAttrs */
            invokevirtual sun.security.util.DerOutputStream.write:([B)V
        53: .line 1879
            aload 1 /* out */
            bipush 48
            aload 5 /* safeBag */
            invokevirtual sun.security.util.DerOutputStream.write:(BLsun/security/util/DerOutputStream;)V
        end local 7 // byte[] bagAttrs
        end local 6 // sun.security.pkcs12.PKCS12KeyStore$KeyEntry keyEntry
        end local 5 // sun.security.util.DerOutputStream safeBag
        end local 4 // sun.security.pkcs12.PKCS12KeyStore$Entry entry
        end local 3 // java.lang.String alias
        54: .line 1808
      StackMap locals: sun.security.pkcs12.PKCS12KeyStore sun.security.util.DerOutputStream java.util.Enumeration
      StackMap stack:
            aload 2 /* e */
            invokeinterface java.util.Enumeration.hasMoreElements:()Z
            ifne 3
        end local 2 // java.util.Enumeration e
        55: .line 1883
            new sun.security.util.DerOutputStream
            dup
            invokespecial sun.security.util.DerOutputStream.<init>:()V
            astore 2 /* safeBagValue */
        start local 2 // sun.security.util.DerOutputStream safeBagValue
        56: .line 1884
            aload 2 /* safeBagValue */
            bipush 48
            aload 1 /* out */
            invokevirtual sun.security.util.DerOutputStream.write:(BLsun/security/util/DerOutputStream;)V
        57: .line 1885
            aload 2 /* safeBagValue */
            invokevirtual sun.security.util.DerOutputStream.toByteArray:()[B
            areturn
        end local 2 // sun.security.util.DerOutputStream safeBagValue
        end local 1 // sun.security.util.DerOutputStream out
        end local 0 // sun.security.pkcs12.PKCS12KeyStore this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   58     0            this  Lsun/security/pkcs12/PKCS12KeyStore;
            1   58     1             out  Lsun/security/util/DerOutputStream;
            2   55     2               e  Ljava/util/Enumeration<Ljava/lang/String;>;
            4   54     3           alias  Ljava/lang/String;
            5   54     4           entry  Lsun/security/pkcs12/PKCS12KeyStore$Entry;
            8   54     5         safeBag  Lsun/security/util/DerOutputStream;
            9   54     6        keyEntry  Lsun/security/pkcs12/PKCS12KeyStore$KeyEntry;
           12   26     7       encrBytes  [B
           13   26     8        encrInfo  Lsun/security/pkcs/EncryptedPrivateKeyInfo;
           16   19     9             ioe  Ljava/io/IOException;
           20   26     9        bagValue  Lsun/security/util/DerOutputStream;
           30   50     7       secretBag  Lsun/security/util/DerOutputStream;
           32   50     8  secretKeyValue  Lsun/security/util/DerOutputStream;
           41   50     9    secretBagSeq  Lsun/security/util/DerOutputStream;
           43   50    10  secretBagValue  [B
           44   50    11        bagValue  Lsun/security/util/DerOutputStream;
           52   54     7        bagAttrs  [B
           56   58     2    safeBagValue  Lsun/security/util/DerOutputStream;
      Exception table:
        from    to  target  type
          13    14      15  Class java.io.IOException
    Exceptions:
      throws java.security.cert.CertificateException, java.io.IOException

  private byte[] encryptContent(byte[], char[]);
    descriptor: ([B[C)[B
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=13, args_size=3
        start local 0 // sun.security.pkcs12.PKCS12KeyStore this
        start local 1 // byte[] data
        start local 2 // char[] password
         0: .line 1901
            aconst_null
            astore 3 /* encryptedData */
        start local 3 // byte[] encryptedData
         1: .line 1906
            aload 0 /* this */
         2: .line 1907
            aload 0 /* this */
            getfield sun.security.pkcs12.PKCS12KeyStore.certProtectionAlgorithm:Ljava/lang/String;
            aload 0 /* this */
            getfield sun.security.pkcs12.PKCS12KeyStore.certPbeIterationCount:I
         3: .line 1906
            invokevirtual sun.security.pkcs12.PKCS12KeyStore.getPBEAlgorithmParameters:(Ljava/lang/String;I)Ljava/security/AlgorithmParameters;
            astore 4 /* algParams */
        start local 4 // java.security.AlgorithmParameters algParams
         4: .line 1908
            new sun.security.util.DerOutputStream
            dup
            invokespecial sun.security.util.DerOutputStream.<init>:()V
            astore 5 /* bytes */
        start local 5 // sun.security.util.DerOutputStream bytes
         5: .line 1911
            aload 0 /* this */
            aload 2 /* password */
            invokevirtual sun.security.pkcs12.PKCS12KeyStore.getPBEKey:([C)Ljavax/crypto/SecretKey;
            astore 6 /* skey */
        start local 6 // javax.crypto.SecretKey skey
         6: .line 1912
            aload 0 /* this */
            getfield sun.security.pkcs12.PKCS12KeyStore.certProtectionAlgorithm:Ljava/lang/String;
            invokestatic javax.crypto.Cipher.getInstance:(Ljava/lang/String;)Ljavax/crypto/Cipher;
            astore 7 /* cipher */
        start local 7 // javax.crypto.Cipher cipher
         7: .line 1913
            aload 7 /* cipher */
            iconst_1
            aload 6 /* skey */
            aload 4 /* algParams */
            invokevirtual javax.crypto.Cipher.init:(ILjava/security/Key;Ljava/security/AlgorithmParameters;)V
         8: .line 1914
            aload 7 /* cipher */
            aload 1 /* data */
            invokevirtual javax.crypto.Cipher.doFinal:([B)[B
            astore 3 /* encryptedData */
         9: .line 1916
            new sun.security.x509.AlgorithmId
            dup
        10: .line 1917
            aload 0 /* this */
            getfield sun.security.pkcs12.PKCS12KeyStore.certProtectionAlgorithm:Ljava/lang/String;
            invokestatic sun.security.pkcs12.PKCS12KeyStore.mapPBEAlgorithmToOID:(Ljava/lang/String;)Lsun/security/util/ObjectIdentifier;
        11: .line 1918
            aload 7 /* cipher */
            invokevirtual javax.crypto.Cipher.getParameters:()Ljava/security/AlgorithmParameters;
        12: .line 1916
            invokespecial sun.security.x509.AlgorithmId.<init>:(Lsun/security/util/ObjectIdentifier;Ljava/security/AlgorithmParameters;)V
            astore 8 /* algId */
        start local 8 // sun.security.x509.AlgorithmId algId
        13: .line 1920
            aload 8 /* algId */
            aload 5 /* bytes */
            invokevirtual sun.security.x509.AlgorithmId.encode:(Lsun/security/util/DerOutputStream;)V
        14: .line 1921
            aload 5 /* bytes */
            invokevirtual sun.security.util.DerOutputStream.toByteArray:()[B
            astore 9 /* encodedAlgId */
        start local 9 // byte[] encodedAlgId
        15: .line 1923
            getstatic sun.security.pkcs12.PKCS12KeyStore.debug:Lsun/security/util/Debug;
            ifnull 19
        16: .line 1924
            getstatic sun.security.pkcs12.PKCS12KeyStore.debug:Lsun/security/util/Debug;
            new java.lang.StringBuilder
            dup
            ldc "  (Cipher algorithm: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 7 /* cipher */
            invokevirtual javax.crypto.Cipher.getAlgorithm:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        17: .line 1925
            ldc ")"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        18: .line 1924
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        19: .line 1929
      StackMap locals: sun.security.pkcs12.PKCS12KeyStore byte[] char[] byte[] java.security.AlgorithmParameters sun.security.util.DerOutputStream javax.crypto.SecretKey javax.crypto.Cipher sun.security.x509.AlgorithmId byte[]
      StackMap stack:
            new sun.security.util.DerOutputStream
            dup
            invokespecial sun.security.util.DerOutputStream.<init>:()V
            astore 10 /* bytes2 */
        start local 10 // sun.security.util.DerOutputStream bytes2
        20: .line 1930
            aload 10 /* bytes2 */
            getstatic sun.security.pkcs.ContentInfo.DATA_OID:Lsun/security/util/ObjectIdentifier;
            invokevirtual sun.security.util.DerOutputStream.putOID:(Lsun/security/util/ObjectIdentifier;)V
        21: .line 1931
            aload 10 /* bytes2 */
            aload 9 /* encodedAlgId */
            invokevirtual sun.security.util.DerOutputStream.write:([B)V
        22: .line 1934
            new sun.security.util.DerOutputStream
            dup
            invokespecial sun.security.util.DerOutputStream.<init>:()V
            astore 11 /* tmpout2 */
        start local 11 // sun.security.util.DerOutputStream tmpout2
        23: .line 1935
            aload 11 /* tmpout2 */
            aload 3 /* encryptedData */
            invokevirtual sun.security.util.DerOutputStream.putOctetString:([B)V
        24: .line 1936
            aload 10 /* bytes2 */
            bipush -128
        25: .line 1937
            iconst_0
            iconst_0
        26: .line 1936
            invokestatic sun.security.util.DerValue.createTag:(BZB)B
        27: .line 1937
            aload 11 /* tmpout2 */
        28: .line 1936
            invokevirtual sun.security.util.DerOutputStream.writeImplicit:(BLsun/security/util/DerOutputStream;)V
        29: .line 1940
            new sun.security.util.DerOutputStream
            dup
            invokespecial sun.security.util.DerOutputStream.<init>:()V
            astore 12 /* out */
        start local 12 // sun.security.util.DerOutputStream out
        30: .line 1941
            aload 12 /* out */
            bipush 48
            aload 10 /* bytes2 */
            invokevirtual sun.security.util.DerOutputStream.write:(BLsun/security/util/DerOutputStream;)V
        31: .line 1942
            aload 12 /* out */
            invokevirtual sun.security.util.DerOutputStream.toByteArray:()[B
        32: areturn
        end local 12 // sun.security.util.DerOutputStream out
        end local 11 // sun.security.util.DerOutputStream tmpout2
        end local 10 // sun.security.util.DerOutputStream bytes2
        end local 9 // byte[] encodedAlgId
        end local 8 // sun.security.x509.AlgorithmId algId
        end local 7 // javax.crypto.Cipher cipher
        end local 6 // javax.crypto.SecretKey skey
        end local 5 // sun.security.util.DerOutputStream bytes
        end local 4 // java.security.AlgorithmParameters algParams
        33: .line 1943
      StackMap locals: sun.security.pkcs12.PKCS12KeyStore byte[] char[] byte[]
      StackMap stack: java.io.IOException
            astore 4 /* ioe */
        start local 4 // java.io.IOException ioe
        34: .line 1944
            aload 4 /* ioe */
            athrow
        end local 4 // java.io.IOException ioe
        35: .line 1945
      StackMap locals:
      StackMap stack: java.lang.Exception
            astore 4 /* e */
        start local 4 // java.lang.Exception e
        36: .line 1946
            new java.io.IOException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Failed to encrypt safe contents entry: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        37: .line 1947
            aload 4 /* e */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 4 /* e */
        38: .line 1946
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 4 // java.lang.Exception e
        end local 3 // byte[] encryptedData
        end local 2 // char[] password
        end local 1 // byte[] data
        end local 0 // sun.security.pkcs12.PKCS12KeyStore this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   39     0           this  Lsun/security/pkcs12/PKCS12KeyStore;
            0   39     1           data  [B
            0   39     2       password  [C
            1   39     3  encryptedData  [B
            4   33     4      algParams  Ljava/security/AlgorithmParameters;
            5   33     5          bytes  Lsun/security/util/DerOutputStream;
            6   33     6           skey  Ljavax/crypto/SecretKey;
            7   33     7         cipher  Ljavax/crypto/Cipher;
           13   33     8          algId  Lsun/security/x509/AlgorithmId;
           15   33     9   encodedAlgId  [B
           20   33    10         bytes2  Lsun/security/util/DerOutputStream;
           23   33    11        tmpout2  Lsun/security/util/DerOutputStream;
           30   33    12            out  Lsun/security/util/DerOutputStream;
           34   35     4            ioe  Ljava/io/IOException;
           36   39     4              e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           1    32      33  Class java.io.IOException
           1    32      35  Class java.lang.Exception
    Exceptions:
      throws java.io.IOException
    MethodParameters:
          Name  Flags
      data      
      password  

  public synchronized void engineLoad(java.io.InputStream, char[]);
    descriptor: (Ljava/io/InputStream;[C)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=8, locals=26, args_size=3
        start local 0 // sun.security.pkcs12.PKCS12KeyStore this
        start local 1 // java.io.InputStream stream
        start local 2 // char[] password
         0: .line 1973
            aload 0 /* this */
            aconst_null
            putfield sun.security.pkcs12.PKCS12KeyStore.certProtectionAlgorithm:Ljava/lang/String;
         1: .line 1974
            aload 0 /* this */
            iconst_m1
            putfield sun.security.pkcs12.PKCS12KeyStore.certPbeIterationCount:I
         2: .line 1975
            aload 0 /* this */
            aconst_null
            putfield sun.security.pkcs12.PKCS12KeyStore.macAlgorithm:Ljava/lang/String;
         3: .line 1976
            aload 0 /* this */
            iconst_m1
            putfield sun.security.pkcs12.PKCS12KeyStore.macIterationCount:I
         4: .line 1978
            aload 1 /* stream */
            ifnonnull 6
         5: .line 1979
            return
         6: .line 1982
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            putfield sun.security.pkcs12.PKCS12KeyStore.counter:I
         7: .line 1984
            new sun.security.util.DerValue
            dup
            aload 1 /* stream */
            invokespecial sun.security.util.DerValue.<init>:(Ljava/io/InputStream;)V
            astore 3 /* val */
        start local 3 // sun.security.util.DerValue val
         8: .line 1985
            aload 3 /* val */
            invokevirtual sun.security.util.DerValue.toDerInputStream:()Lsun/security/util/DerInputStream;
            astore 4 /* s */
        start local 4 // sun.security.util.DerInputStream s
         9: .line 1986
            aload 4 /* s */
            invokevirtual sun.security.util.DerInputStream.getInteger:()I
            istore 5 /* version */
        start local 5 // int version
        10: .line 1988
            iload 5 /* version */
            iconst_3
            if_icmpeq 12
        11: .line 1989
            new java.io.IOException
            dup
            ldc "PKCS12 keystore not in version 3 format"
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
        12: .line 1992
      StackMap locals: sun.security.util.DerValue sun.security.util.DerInputStream int
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.pkcs12.PKCS12KeyStore.entries:Ljava/util/Map;
            invokeinterface java.util.Map.clear:()V
        13: .line 1998
            new sun.security.pkcs.ContentInfo
            dup
            aload 4 /* s */
            invokespecial sun.security.pkcs.ContentInfo.<init>:(Lsun/security/util/DerInputStream;)V
            astore 7 /* authSafe */
        start local 7 // sun.security.pkcs.ContentInfo authSafe
        14: .line 1999
            aload 7 /* authSafe */
            invokevirtual sun.security.pkcs.ContentInfo.getContentType:()Lsun/security/util/ObjectIdentifier;
            astore 8 /* contentType */
        start local 8 // sun.security.util.ObjectIdentifier contentType
        15: .line 2001
            aload 8 /* contentType */
            getstatic sun.security.pkcs.ContentInfo.DATA_OID:Lsun/security/util/ObjectIdentifier;
            invokevirtual sun.security.util.ObjectIdentifier.equals:(Ljava/lang/Object;)Z
            ifeq 18
        16: .line 2002
            aload 7 /* authSafe */
            invokevirtual sun.security.pkcs.ContentInfo.getData:()[B
            astore 6 /* authSafeData */
        start local 6 // byte[] authSafeData
        17: .line 2003
            goto 19
        end local 6 // byte[] authSafeData
        18: .line 2004
      StackMap locals: sun.security.pkcs12.PKCS12KeyStore java.io.InputStream char[] sun.security.util.DerValue sun.security.util.DerInputStream int top sun.security.pkcs.ContentInfo sun.security.util.ObjectIdentifier
      StackMap stack:
            new java.io.IOException
            dup
            ldc "public key protected PKCS12 not supported"
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
        start local 6 // byte[] authSafeData
        19: .line 2007
      StackMap locals: sun.security.pkcs12.PKCS12KeyStore java.io.InputStream char[] sun.security.util.DerValue sun.security.util.DerInputStream int byte[] sun.security.pkcs.ContentInfo sun.security.util.ObjectIdentifier
      StackMap stack:
            new sun.security.util.DerInputStream
            dup
            aload 6 /* authSafeData */
            invokespecial sun.security.util.DerInputStream.<init>:([B)V
            astore 9 /* as */
        start local 9 // sun.security.util.DerInputStream as
        20: .line 2008
            aload 9 /* as */
            iconst_2
            invokevirtual sun.security.util.DerInputStream.getSequence:(I)[Lsun/security/util/DerValue;
            astore 10 /* safeContentsArray */
        start local 10 // sun.security.util.DerValue[] safeContentsArray
        21: .line 2009
            aload 10 /* safeContentsArray */
            arraylength
            istore 11 /* count */
        start local 11 // int count
        22: .line 2012
            aload 0 /* this */
            iconst_0
            putfield sun.security.pkcs12.PKCS12KeyStore.privateKeyCount:I
        23: .line 2013
            aload 0 /* this */
            iconst_0
            putfield sun.security.pkcs12.PKCS12KeyStore.secretKeyCount:I
        24: .line 2014
            aload 0 /* this */
            iconst_0
            putfield sun.security.pkcs12.PKCS12KeyStore.certificateCount:I
        25: .line 2016
            iconst_0
            istore 12 /* seeEncBag */
        start local 12 // boolean seeEncBag
        26: .line 2021
            iconst_0
            istore 13 /* i */
        start local 13 // int i
        27: goto 95
        28: .line 2026
      StackMap locals: sun.security.pkcs12.PKCS12KeyStore java.io.InputStream char[] sun.security.util.DerValue sun.security.util.DerInputStream int byte[] sun.security.pkcs.ContentInfo sun.security.util.ObjectIdentifier sun.security.util.DerInputStream sun.security.util.DerValue[] int int int
      StackMap stack:
            new sun.security.util.DerInputStream
            dup
            aload 10 /* safeContentsArray */
            iload 13 /* i */
            aaload
            invokevirtual sun.security.util.DerValue.toByteArray:()[B
            invokespecial sun.security.util.DerInputStream.<init>:([B)V
            astore 15 /* sci */
        start local 15 // sun.security.util.DerInputStream sci
        29: .line 2027
            new sun.security.pkcs.ContentInfo
            dup
            aload 15 /* sci */
            invokespecial sun.security.pkcs.ContentInfo.<init>:(Lsun/security/util/DerInputStream;)V
            astore 14 /* safeContents */
        start local 14 // sun.security.pkcs.ContentInfo safeContents
        30: .line 2028
            aload 14 /* safeContents */
            invokevirtual sun.security.pkcs.ContentInfo.getContentType:()Lsun/security/util/ObjectIdentifier;
            astore 8 /* contentType */
        31: .line 2029
            aload 8 /* contentType */
            getstatic sun.security.pkcs.ContentInfo.DATA_OID:Lsun/security/util/ObjectIdentifier;
            invokevirtual sun.security.util.ObjectIdentifier.equals:(Ljava/lang/Object;)Z
            ifeq 36
        32: .line 2031
            getstatic sun.security.pkcs12.PKCS12KeyStore.debug:Lsun/security/util/Debug;
            ifnull 34
        33: .line 2032
            getstatic sun.security.pkcs12.PKCS12KeyStore.debug:Lsun/security/util/Debug;
            ldc "Loading PKCS#7 data"
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        34: .line 2035
      StackMap locals: sun.security.pkcs.ContentInfo sun.security.util.DerInputStream
      StackMap stack:
            aload 0 /* this */
            new sun.security.util.DerInputStream
            dup
            aload 14 /* safeContents */
            invokevirtual sun.security.pkcs.ContentInfo.getData:()[B
            invokespecial sun.security.util.DerInputStream.<init>:([B)V
            invokevirtual sun.security.pkcs12.PKCS12KeyStore.loadSafeContents:(Lsun/security/util/DerInputStream;)V
        35: .line 2036
            goto 94
      StackMap locals:
      StackMap stack:
        36: aload 8 /* contentType */
            getstatic sun.security.pkcs.ContentInfo.ENCRYPTED_DATA_OID:Lsun/security/util/ObjectIdentifier;
            invokevirtual sun.security.util.ObjectIdentifier.equals:(Ljava/lang/Object;)Z
            ifeq 93
        37: .line 2037
            aload 2 /* password */
            ifnonnull 41
        38: .line 2039
            getstatic sun.security.pkcs12.PKCS12KeyStore.debug:Lsun/security/util/Debug;
            ifnull 94
        39: .line 2040
            getstatic sun.security.pkcs12.PKCS12KeyStore.debug:Lsun/security/util/Debug;
            ldc "Warning: skipping PKCS#7 encryptedData - no password was supplied"
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        40: .line 2058
            goto 94
        41: .line 2062
      StackMap locals:
      StackMap stack:
            aload 14 /* safeContents */
            invokevirtual sun.security.pkcs.ContentInfo.getContent:()Lsun/security/util/DerValue;
            invokevirtual sun.security.util.DerValue.toDerInputStream:()Lsun/security/util/DerInputStream;
        42: .line 2061
            astore 16 /* edi */
        start local 16 // sun.security.util.DerInputStream edi
        43: .line 2063
            aload 16 /* edi */
            invokevirtual sun.security.util.DerInputStream.getInteger:()I
            pop
        44: .line 2064
            aload 16 /* edi */
            iconst_3
            invokevirtual sun.security.util.DerInputStream.getSequence:(I)[Lsun/security/util/DerValue;
            astore 17 /* seq */
        start local 17 // sun.security.util.DerValue[] seq
        45: .line 2065
            aload 17 /* seq */
            arraylength
            iconst_3
            if_icmpeq 47
        46: .line 2068
            new java.io.IOException
            dup
            ldc "Invalid length for EncryptedContentInfo"
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
        47: .line 2070
      StackMap locals: sun.security.util.DerInputStream sun.security.util.DerValue[]
      StackMap stack:
            aload 17 /* seq */
            iconst_0
            aaload
            invokevirtual sun.security.util.DerValue.getOID:()Lsun/security/util/ObjectIdentifier;
            pop
        48: .line 2071
            aload 17 /* seq */
            iconst_1
            aaload
            invokevirtual sun.security.util.DerValue.toByteArray:()[B
            pop
        49: .line 2072
            aload 17 /* seq */
            iconst_2
            aaload
            iconst_0
            invokevirtual sun.security.util.DerValue.isContextSpecific:(B)Z
            ifne 53
        50: .line 2073
            new java.io.IOException
            dup
            new java.lang.StringBuilder
            dup
            ldc "unsupported encrypted content type "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        51: .line 2074
            aload 17 /* seq */
            iconst_2
            aaload
            getfield sun.security.util.DerValue.tag:B
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        52: .line 2073
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
        53: .line 2076
      StackMap locals:
      StackMap stack:
            iconst_4
            istore 18 /* newTag */
        start local 18 // byte newTag
        54: .line 2077
            aload 17 /* seq */
            iconst_2
            aaload
            invokevirtual sun.security.util.DerValue.isConstructed:()Z
            ifeq 56
        55: .line 2078
            iload 18 /* newTag */
            bipush 32
            ior
            i2b
            istore 18 /* newTag */
        56: .line 2079
      StackMap locals: int
      StackMap stack:
            aload 17 /* seq */
            iconst_2
            aaload
            iload 18 /* newTag */
            invokevirtual sun.security.util.DerValue.resetTag:(B)V
        57: .line 2080
            aload 17 /* seq */
            iconst_2
            aaload
            invokevirtual sun.security.util.DerValue.getOctetString:()[B
            astore 19 /* rawData */
        start local 19 // byte[] rawData
        58: .line 2083
            aload 17 /* seq */
            iconst_1
            aaload
            invokevirtual sun.security.util.DerValue.toDerInputStream:()Lsun/security/util/DerInputStream;
            astore 20 /* in */
        start local 20 // sun.security.util.DerInputStream in
        59: .line 2084
            aload 20 /* in */
            invokevirtual sun.security.util.DerInputStream.getOID:()Lsun/security/util/ObjectIdentifier;
            astore 21 /* algOid */
        start local 21 // sun.security.util.ObjectIdentifier algOid
        60: .line 2085
            aload 0 /* this */
            aload 21 /* algOid */
            aload 20 /* in */
            invokevirtual sun.security.pkcs12.PKCS12KeyStore.parseAlgParameters:(Lsun/security/util/ObjectIdentifier;Lsun/security/util/DerInputStream;)Ljava/security/AlgorithmParameters;
            astore 22 /* algParams */
        start local 22 // java.security.AlgorithmParameters algParams
        61: .line 2088
            iconst_0
            istore 24 /* ic */
        start local 24 // int ic
        62: .line 2090
            aload 22 /* algParams */
            ifnull 78
        63: .line 2093
            aload 22 /* algParams */
            ldc Ljavax/crypto/spec/PBEParameterSpec;
            invokevirtual java.security.AlgorithmParameters.getParameterSpec:(Ljava/lang/Class;)Ljava/security/spec/AlgorithmParameterSpec;
            checkcast javax.crypto.spec.PBEParameterSpec
        64: .line 2092
            astore 23 /* pbeSpec */
        start local 23 // javax.crypto.spec.PBEParameterSpec pbeSpec
        65: .line 2094
            goto 70
        end local 23 // javax.crypto.spec.PBEParameterSpec pbeSpec
      StackMap locals: sun.security.pkcs12.PKCS12KeyStore java.io.InputStream char[] sun.security.util.DerValue sun.security.util.DerInputStream int byte[] sun.security.pkcs.ContentInfo sun.security.util.ObjectIdentifier sun.security.util.DerInputStream sun.security.util.DerValue[] int int int sun.security.pkcs.ContentInfo sun.security.util.DerInputStream sun.security.util.DerInputStream sun.security.util.DerValue[] int byte[] sun.security.util.DerInputStream sun.security.util.ObjectIdentifier java.security.AlgorithmParameters top int
      StackMap stack: java.security.spec.InvalidParameterSpecException
        66: pop
        67: .line 2095
            new java.io.IOException
            dup
        68: .line 2096
            ldc "Invalid PBE algorithm parameters"
        69: .line 2095
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
        start local 23 // javax.crypto.spec.PBEParameterSpec pbeSpec
        70: .line 2098
      StackMap locals: sun.security.pkcs12.PKCS12KeyStore java.io.InputStream char[] sun.security.util.DerValue sun.security.util.DerInputStream int byte[] sun.security.pkcs.ContentInfo sun.security.util.ObjectIdentifier sun.security.util.DerInputStream sun.security.util.DerValue[] int int int sun.security.pkcs.ContentInfo sun.security.util.DerInputStream sun.security.util.DerInputStream sun.security.util.DerValue[] int byte[] sun.security.util.DerInputStream sun.security.util.ObjectIdentifier java.security.AlgorithmParameters javax.crypto.spec.PBEParameterSpec int
      StackMap stack:
            aload 23 /* pbeSpec */
            invokevirtual javax.crypto.spec.PBEParameterSpec.getIterationCount:()I
            istore 24 /* ic */
        71: .line 2100
            iload 24 /* ic */
            ldc 5000000
            if_icmple 73
        72: .line 2101
            new java.io.IOException
            dup
            ldc "cert PBE iteration count too large"
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
        73: .line 2104
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
        74: .line 2105
            aload 21 /* algOid */
            aload 22 /* algParams */
            invokestatic sun.security.pkcs12.PKCS12KeyStore.mapPBEParamsToAlgorithm:(Lsun/security/util/ObjectIdentifier;Ljava/security/AlgorithmParameters;)Ljava/lang/String;
        75: .line 2104
            putfield sun.security.pkcs12.PKCS12KeyStore.certProtectionAlgorithm:Ljava/lang/String;
        76: .line 2106
            aload 0 /* this */
            iload 24 /* ic */
            putfield sun.security.pkcs12.PKCS12KeyStore.certPbeIterationCount:I
        77: .line 2107
            iconst_1
            istore 12 /* seeEncBag */
        end local 23 // javax.crypto.spec.PBEParameterSpec pbeSpec
        78: .line 2110
      StackMap locals: sun.security.pkcs12.PKCS12KeyStore java.io.InputStream char[] sun.security.util.DerValue sun.security.util.DerInputStream int byte[] sun.security.pkcs.ContentInfo sun.security.util.ObjectIdentifier sun.security.util.DerInputStream sun.security.util.DerValue[] int int int sun.security.pkcs.ContentInfo sun.security.util.DerInputStream sun.security.util.DerInputStream sun.security.util.DerValue[] int byte[] sun.security.util.DerInputStream sun.security.util.ObjectIdentifier java.security.AlgorithmParameters top int
      StackMap stack:
            getstatic sun.security.pkcs12.PKCS12KeyStore.debug:Lsun/security/util/Debug;
            ifnull 83
        79: .line 2111
            getstatic sun.security.pkcs12.PKCS12KeyStore.debug:Lsun/security/util/Debug;
            new java.lang.StringBuilder
            dup
            ldc "Loading PKCS#7 encryptedData ("
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        80: .line 2112
            aload 21 /* algOid */
            aload 22 /* algParams */
            invokestatic sun.security.pkcs12.PKCS12KeyStore.mapPBEParamsToAlgorithm:(Lsun/security/util/ObjectIdentifier;Ljava/security/AlgorithmParameters;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        81: .line 2113
            ldc " iterations: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 24 /* ic */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc ")"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        82: .line 2111
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        83: .line 2117
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 21 /* algOid */
            aload 22 /* algParams */
            aload 19 /* rawData */
            invokedynamic tryOnce(Lsun/security/pkcs12/PKCS12KeyStore;Lsun/security/util/ObjectIdentifier;Ljava/security/AlgorithmParameters;[B)Lsun/security/pkcs12/PKCS12KeyStore$RetryWithZero;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  ([C)Ljava/lang/Object;
                  sun/security/pkcs12/PKCS12KeyStore.lambda$1(Lsun/security/util/ObjectIdentifier;Ljava/security/AlgorithmParameters;[B[C)Ljava/lang/Object; (7)
                  ([C)Ljava/lang/Object;
        84: .line 2125
            aload 2 /* password */
        85: .line 2117
            invokestatic sun.security.pkcs12.PKCS12KeyStore$RetryWithZero.run:(Lsun/security/pkcs12/PKCS12KeyStore$RetryWithZero;[C)Ljava/lang/Object;
            pop
        86: .line 2126
            goto 94
      StackMap locals:
      StackMap stack: java.lang.Exception
        87: astore 25 /* e */
        start local 25 // java.lang.Exception e
        88: .line 2127
            new java.io.IOException
            dup
            ldc "keystore password was incorrect"
        89: .line 2128
            new java.security.UnrecoverableKeyException
            dup
        90: .line 2129
            new java.lang.StringBuilder
            dup
            ldc "failed to decrypt safe contents entry: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 25 /* e */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        91: .line 2128
            invokespecial java.security.UnrecoverableKeyException.<init>:(Ljava/lang/String;)V
        92: .line 2127
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 25 // java.lang.Exception e
        end local 24 // int ic
        end local 22 // java.security.AlgorithmParameters algParams
        end local 21 // sun.security.util.ObjectIdentifier algOid
        end local 20 // sun.security.util.DerInputStream in
        end local 19 // byte[] rawData
        end local 18 // byte newTag
        end local 17 // sun.security.util.DerValue[] seq
        end local 16 // sun.security.util.DerInputStream edi
        93: .line 2132
      StackMap locals: sun.security.pkcs12.PKCS12KeyStore java.io.InputStream char[] sun.security.util.DerValue sun.security.util.DerInputStream int byte[] sun.security.pkcs.ContentInfo sun.security.util.ObjectIdentifier sun.security.util.DerInputStream sun.security.util.DerValue[] int int int sun.security.pkcs.ContentInfo sun.security.util.DerInputStream
      StackMap stack:
            new java.io.IOException
            dup
            ldc "public key protected PKCS12 not supported"
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
        end local 15 // sun.security.util.DerInputStream sci
        end local 14 // sun.security.pkcs.ContentInfo safeContents
        94: .line 2021
      StackMap locals:
      StackMap stack:
            iinc 13 /* i */ 1
      StackMap locals:
      StackMap stack:
        95: iload 13 /* i */
            iload 11 /* count */
            if_icmplt 28
        end local 13 // int i
        96: .line 2138
            iload 12 /* seeEncBag */
            ifne 98
            aload 0 /* this */
            getfield sun.security.pkcs12.PKCS12KeyStore.certificateCount:I
            ifle 98
        97: .line 2139
            aload 0 /* this */
            ldc "NONE"
            putfield sun.security.pkcs12.PKCS12KeyStore.certProtectionAlgorithm:Ljava/lang/String;
        98: .line 2143
      StackMap locals:
      StackMap stack:
            aload 4 /* s */
            invokevirtual sun.security.util.DerInputStream.available:()I
            ifle 120
        99: .line 2146
            aload 2 /* password */
            ifnull 121
       100: .line 2147
            new sun.security.pkcs12.MacData
            dup
            aload 4 /* s */
            invokespecial sun.security.pkcs12.MacData.<init>:(Lsun/security/util/DerInputStream;)V
            astore 13 /* macData */
        start local 13 // sun.security.pkcs12.MacData macData
       101: .line 2148
            aload 13 /* macData */
            invokevirtual sun.security.pkcs12.MacData.getIterations:()I
            istore 14 /* ic */
        start local 14 // int ic
       102: .line 2151
            iload 14 /* ic */
            ldc 5000000
            if_icmple 106
       103: .line 2152
            new java.security.InvalidAlgorithmParameterException
            dup
       104: .line 2153
            new java.lang.StringBuilder
            dup
            ldc "MAC iteration count too large: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 14 /* ic */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
       105: .line 2152
            invokespecial java.security.InvalidAlgorithmParameterException.<init>:(Ljava/lang/String;)V
            athrow
       106: .line 2157
      StackMap locals: sun.security.pkcs12.MacData int
      StackMap stack:
            aload 13 /* macData */
            invokevirtual sun.security.pkcs12.MacData.getDigestAlgName:()Ljava/lang/String;
            getstatic java.util.Locale.ENGLISH:Ljava/util/Locale;
            invokevirtual java.lang.String.toUpperCase:(Ljava/util/Locale;)Ljava/lang/String;
       107: .line 2156
            astore 15 /* algName */
        start local 15 // java.lang.String algName
       108: .line 2160
            aload 15 /* algName */
            ldc "-"
            ldc ""
            invokevirtual java.lang.String.replace:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String;
            astore 15 /* algName */
       109: .line 2162
            aload 0 /* this */
            new java.lang.StringBuilder
            dup
            ldc "HmacPBE"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 15 /* algName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            putfield sun.security.pkcs12.PKCS12KeyStore.macAlgorithm:Ljava/lang/String;
       110: .line 2163
            aload 0 /* this */
            iload 14 /* ic */
            putfield sun.security.pkcs12.PKCS12KeyStore.macIterationCount:I
       111: .line 2166
            aload 0 /* this */
            getfield sun.security.pkcs12.PKCS12KeyStore.macAlgorithm:Ljava/lang/String;
            invokestatic javax.crypto.Mac.getInstance:(Ljava/lang/String;)Ljavax/crypto/Mac;
            astore 16 /* m */
        start local 16 // javax.crypto.Mac m
       112: .line 2168
            new javax.crypto.spec.PBEParameterSpec
            dup
            aload 13 /* macData */
            invokevirtual sun.security.pkcs12.MacData.getSalt:()[B
            iload 14 /* ic */
            invokespecial javax.crypto.spec.PBEParameterSpec.<init>:([BI)V
       113: .line 2167
            astore 17 /* params */
        start local 17 // javax.crypto.spec.PBEParameterSpec params
       114: .line 2170
            aload 0 /* this */
            aload 16 /* m */
            aload 17 /* params */
            aload 6 /* authSafeData */
            iload 14 /* ic */
            aload 13 /* macData */
            invokedynamic tryOnce(Lsun/security/pkcs12/PKCS12KeyStore;Ljavax/crypto/Mac;Ljavax/crypto/spec/PBEParameterSpec;[BILsun/security/pkcs12/MacData;)Lsun/security/pkcs12/PKCS12KeyStore$RetryWithZero;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  ([C)Ljava/lang/Object;
                  sun/security/pkcs12/PKCS12KeyStore.lambda$2(Ljavax/crypto/Mac;Ljavax/crypto/spec/PBEParameterSpec;[BILsun/security/pkcs12/MacData;[C)Ljava/lang/Void; (7)
                  ([C)Ljava/lang/Void;
       115: .line 2186
            aload 2 /* password */
       116: .line 2170
            invokestatic sun.security.pkcs12.PKCS12KeyStore$RetryWithZero.run:(Lsun/security/pkcs12/PKCS12KeyStore$RetryWithZero;[C)Ljava/lang/Object;
            pop
        end local 17 // javax.crypto.spec.PBEParameterSpec params
        end local 16 // javax.crypto.Mac m
        end local 15 // java.lang.String algName
       117: .line 2187
            goto 121
      StackMap locals:
      StackMap stack: java.lang.Exception
       118: astore 15 /* e */
        start local 15 // java.lang.Exception e
       119: .line 2188
            new java.io.IOException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Integrity check failed: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 15 /* e */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 15 /* e */
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 15 // java.lang.Exception e
        end local 14 // int ic
        end local 13 // sun.security.pkcs12.MacData macData
       120: .line 2192
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc "NONE"
            putfield sun.security.pkcs12.PKCS12KeyStore.macAlgorithm:Ljava/lang/String;
       121: .line 2199
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.pkcs12.PKCS12KeyStore.keyList:Ljava/util/ArrayList;
            aload 0 /* this */
            getfield sun.security.pkcs12.PKCS12KeyStore.keyList:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.size:()I
            anewarray sun.security.pkcs12.PKCS12KeyStore$PrivateKeyEntry
            invokevirtual java.util.ArrayList.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast sun.security.pkcs12.PKCS12KeyStore$PrivateKeyEntry[]
       122: .line 2198
            astore 13 /* list */
        start local 13 // sun.security.pkcs12.PKCS12KeyStore$PrivateKeyEntry[] list
       123: .line 2200
            iconst_0
            istore 14 /* m */
        start local 14 // int m
       124: goto 153
       125: .line 2201
      StackMap locals: sun.security.pkcs12.PKCS12KeyStore$PrivateKeyEntry[] int
      StackMap stack:
            aload 13 /* list */
            iload 14 /* m */
            aaload
            astore 15 /* entry */
        start local 15 // sun.security.pkcs12.PKCS12KeyStore$PrivateKeyEntry entry
       126: .line 2202
            aload 15 /* entry */
            getfield sun.security.pkcs12.PKCS12KeyStore$PrivateKeyEntry.keyId:[B
            ifnull 152
       127: .line 2204
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
       128: .line 2203
            astore 16 /* chain */
        start local 16 // java.util.ArrayList chain
       129: .line 2205
            aload 0 /* this */
            aload 15 /* entry */
            invokevirtual sun.security.pkcs12.PKCS12KeyStore.findMatchedCertificate:(Lsun/security/pkcs12/PKCS12KeyStore$PrivateKeyEntry;)Ljava/security/cert/X509Certificate;
            astore 17 /* cert */
        start local 17 // java.security.cert.X509Certificate cert
       130: .line 2208
            goto 147
       131: .line 2210
      StackMap locals: sun.security.pkcs12.PKCS12KeyStore$PrivateKeyEntry java.util.ArrayList java.security.cert.X509Certificate
      StackMap stack:
            aload 16 /* chain */
            invokevirtual java.util.ArrayList.isEmpty:()Z
            ifne 143
       132: .line 2211
            aload 16 /* chain */
            invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
            astore 19
            goto 142
      StackMap locals: sun.security.pkcs12.PKCS12KeyStore java.io.InputStream char[] sun.security.util.DerValue sun.security.util.DerInputStream int byte[] sun.security.pkcs.ContentInfo sun.security.util.ObjectIdentifier sun.security.util.DerInputStream sun.security.util.DerValue[] int int sun.security.pkcs12.PKCS12KeyStore$PrivateKeyEntry[] int sun.security.pkcs12.PKCS12KeyStore$PrivateKeyEntry java.util.ArrayList java.security.cert.X509Certificate top java.util.Iterator
      StackMap stack:
       133: aload 19
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.security.cert.X509Certificate
            astore 18 /* chainCert */
        start local 18 // java.security.cert.X509Certificate chainCert
       134: .line 2212
            aload 17 /* cert */
            aload 18 /* chainCert */
            invokevirtual java.security.cert.X509Certificate.equals:(Ljava/lang/Object;)Z
            ifeq 142
       135: .line 2213
            getstatic sun.security.pkcs12.PKCS12KeyStore.debug:Lsun/security/util/Debug;
            ifnull 148
       136: .line 2214
            getstatic sun.security.pkcs12.PKCS12KeyStore.debug:Lsun/security/util/Debug;
            new java.lang.StringBuilder
            dup
            ldc "Loop detected in certificate chain. Skip adding repeated cert to chain. Subject: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
       137: .line 2217
            aload 17 /* cert */
            invokevirtual java.security.cert.X509Certificate.getSubjectX500Principal:()Ljavax/security/auth/x500/X500Principal;
       138: .line 2218
            invokevirtual javax.security.auth.x500.X500Principal.toString:()Ljava/lang/String;
       139: .line 2217
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
       140: .line 2214
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
       141: .line 2220
            goto 148
        end local 18 // java.security.cert.X509Certificate chainCert
       142: .line 2211
      StackMap locals:
      StackMap stack:
            aload 19
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 133
       143: .line 2224
      StackMap locals: sun.security.pkcs12.PKCS12KeyStore java.io.InputStream char[] sun.security.util.DerValue sun.security.util.DerInputStream int byte[] sun.security.pkcs.ContentInfo sun.security.util.ObjectIdentifier sun.security.util.DerInputStream sun.security.util.DerValue[] int int sun.security.pkcs12.PKCS12KeyStore$PrivateKeyEntry[] int sun.security.pkcs12.PKCS12KeyStore$PrivateKeyEntry java.util.ArrayList java.security.cert.X509Certificate
      StackMap stack:
            aload 16 /* chain */
            aload 17 /* cert */
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
       144: .line 2225
            aload 17 /* cert */
            invokestatic sun.security.tools.KeyStoreUtil.isSelfSigned:(Ljava/security/cert/X509Certificate;)Z
            ifeq 146
       145: .line 2226
            goto 148
       146: .line 2228
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 17 /* cert */
            invokevirtual sun.security.pkcs12.PKCS12KeyStore.findIssuer:(Ljava/security/cert/X509Certificate;)Ljava/security/cert/X509Certificate;
            astore 17 /* cert */
       147: .line 2208
      StackMap locals:
      StackMap stack:
            aload 17 /* cert */
            ifnonnull 131
       148: .line 2231
      StackMap locals:
      StackMap stack:
            aload 16 /* chain */
            invokevirtual java.util.ArrayList.size:()I
            ifle 151
       149: .line 2232
            aload 15 /* entry */
            aload 16 /* chain */
            aload 16 /* chain */
            invokevirtual java.util.ArrayList.size:()I
            anewarray java.security.cert.Certificate
            invokevirtual java.util.ArrayList.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast java.security.cert.Certificate[]
            putfield sun.security.pkcs12.PKCS12KeyStore$PrivateKeyEntry.chain:[Ljava/security/cert/Certificate;
       150: .line 2233
            goto 152
       151: .line 2237
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.pkcs12.PKCS12KeyStore.entries:Ljava/util/Map;
            aload 15 /* entry */
            invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 17 // java.security.cert.X509Certificate cert
        end local 16 // java.util.ArrayList chain
        end local 15 // sun.security.pkcs12.PKCS12KeyStore$PrivateKeyEntry entry
       152: .line 2200
      StackMap locals:
      StackMap stack:
            iinc 14 /* m */ 1
      StackMap locals:
      StackMap stack:
       153: iload 14 /* m */
            aload 13 /* list */
            arraylength
            if_icmplt 125
        end local 14 // int m
       154: .line 2242
            getstatic sun.security.pkcs12.PKCS12KeyStore.debug:Lsun/security/util/Debug;
            ifnull 159
       155: .line 2243
            getstatic sun.security.pkcs12.PKCS12KeyStore.debug:Lsun/security/util/Debug;
            new java.lang.StringBuilder
            dup
            ldc "PKCS12KeyStore load: private key count: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
       156: .line 2244
            aload 0 /* this */
            getfield sun.security.pkcs12.PKCS12KeyStore.privateKeyCount:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc ". secret key count: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield sun.security.pkcs12.PKCS12KeyStore.secretKeyCount:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
       157: .line 2245
            ldc ". certificate count: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield sun.security.pkcs12.PKCS12KeyStore.certificateCount:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
       158: .line 2243
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
       159: .line 2248
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.pkcs12.PKCS12KeyStore.certEntries:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.clear:()V
       160: .line 2249
            aload 0 /* this */
            getfield sun.security.pkcs12.PKCS12KeyStore.allCerts:Ljava/util/List;
            invokeinterface java.util.List.clear:()V
       161: .line 2250
            aload 0 /* this */
            getfield sun.security.pkcs12.PKCS12KeyStore.keyList:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.clear:()V
       162: .line 2251
            return
        end local 13 // sun.security.pkcs12.PKCS12KeyStore$PrivateKeyEntry[] list
        end local 12 // boolean seeEncBag
        end local 11 // int count
        end local 10 // sun.security.util.DerValue[] safeContentsArray
        end local 9 // sun.security.util.DerInputStream as
        end local 8 // sun.security.util.ObjectIdentifier contentType
        end local 7 // sun.security.pkcs.ContentInfo authSafe
        end local 6 // byte[] authSafeData
        end local 5 // int version
        end local 4 // sun.security.util.DerInputStream s
        end local 3 // sun.security.util.DerValue val
        end local 2 // char[] password
        end local 1 // java.io.InputStream stream
        end local 0 // sun.security.pkcs12.PKCS12KeyStore this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0  163     0               this  Lsun/security/pkcs12/PKCS12KeyStore;
            0  163     1             stream  Ljava/io/InputStream;
            0  163     2           password  [C
            8  163     3                val  Lsun/security/util/DerValue;
            9  163     4                  s  Lsun/security/util/DerInputStream;
           10  163     5            version  I
           17   18     6       authSafeData  [B
           19  163     6       authSafeData  [B
           14  163     7           authSafe  Lsun/security/pkcs/ContentInfo;
           15  163     8        contentType  Lsun/security/util/ObjectIdentifier;
           20  163     9                 as  Lsun/security/util/DerInputStream;
           21  163    10  safeContentsArray  [Lsun/security/util/DerValue;
           22  163    11              count  I
           26  163    12          seeEncBag  Z
           27   96    13                  i  I
           30   94    14       safeContents  Lsun/security/pkcs/ContentInfo;
           29   94    15                sci  Lsun/security/util/DerInputStream;
           43   93    16                edi  Lsun/security/util/DerInputStream;
           45   93    17                seq  [Lsun/security/util/DerValue;
           54   93    18             newTag  B
           58   93    19            rawData  [B
           59   93    20                 in  Lsun/security/util/DerInputStream;
           60   93    21             algOid  Lsun/security/util/ObjectIdentifier;
           61   93    22          algParams  Ljava/security/AlgorithmParameters;
           65   66    23            pbeSpec  Ljavax/crypto/spec/PBEParameterSpec;
           70   78    23            pbeSpec  Ljavax/crypto/spec/PBEParameterSpec;
           62   93    24                 ic  I
           88   93    25                  e  Ljava/lang/Exception;
          101  120    13            macData  Lsun/security/pkcs12/MacData;
          102  120    14                 ic  I
          108  117    15            algName  Ljava/lang/String;
          112  117    16                  m  Ljavax/crypto/Mac;
          114  117    17             params  Ljavax/crypto/spec/PBEParameterSpec;
          119  120    15                  e  Ljava/lang/Exception;
          123  163    13               list  [Lsun/security/pkcs12/PKCS12KeyStore$PrivateKeyEntry;
          124  154    14                  m  I
          126  152    15              entry  Lsun/security/pkcs12/PKCS12KeyStore$PrivateKeyEntry;
          129  152    16              chain  Ljava/util/ArrayList<Ljava/security/cert/X509Certificate;>;
          130  152    17               cert  Ljava/security/cert/X509Certificate;
          134  142    18          chainCert  Ljava/security/cert/X509Certificate;
      Exception table:
        from    to  target  type
          63    65      66  Class java.security.spec.InvalidParameterSpecException
          83    86      87  Class java.lang.Exception
         102   117     118  Class java.lang.Exception
    Exceptions:
      throws java.io.IOException, java.security.NoSuchAlgorithmException, java.security.cert.CertificateException
    MethodParameters:
          Name  Flags
      stream    
      password  

  private java.security.cert.X509Certificate findIssuer(java.security.cert.X509Certificate);
    descriptor: (Ljava/security/cert/X509Certificate;)Ljava/security/cert/X509Certificate;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=10, args_size=2
        start local 0 // sun.security.pkcs12.PKCS12KeyStore this
        start local 1 // java.security.cert.X509Certificate input
         0: .line 2265
            aconst_null
            astore 2 /* fallback */
        start local 2 // java.security.cert.X509Certificate fallback
         1: .line 2266
            aload 1 /* input */
            invokevirtual java.security.cert.X509Certificate.getIssuerX500Principal:()Ljavax/security/auth/x500/X500Principal;
            astore 3 /* issuerPrinc */
        start local 3 // javax.security.auth.x500.X500Principal issuerPrinc
         2: .line 2269
            aload 1 /* input */
            ldc "2.5.29.35"
            invokevirtual java.security.cert.X509Certificate.getExtensionValue:(Ljava/lang/String;)[B
            astore 4 /* issuerIdExtension */
        start local 4 // byte[] issuerIdExtension
         3: .line 2270
            aconst_null
            astore 5 /* issuerId */
        start local 5 // byte[] issuerId
         4: .line 2272
            aload 4 /* issuerIdExtension */
            ifnull 13
         5: .line 2274
            new sun.security.x509.AuthorityKeyIdentifierExtension
            dup
         6: .line 2275
            iconst_0
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
         7: .line 2276
            new sun.security.util.DerValue
            dup
            aload 4 /* issuerIdExtension */
            invokespecial sun.security.util.DerValue.<init>:([B)V
            invokevirtual sun.security.util.DerValue.getOctetString:()[B
         8: .line 2274
            invokespecial sun.security.x509.AuthorityKeyIdentifierExtension.<init>:(Ljava/lang/Boolean;Ljava/lang/Object;)V
         9: .line 2277
            invokevirtual sun.security.x509.AuthorityKeyIdentifierExtension.getEncodedKeyIdentifier:()[B
        10: .line 2274
            astore 5 /* issuerId */
        11: .line 2278
            goto 13
      StackMap locals: sun.security.pkcs12.PKCS12KeyStore java.security.cert.X509Certificate java.security.cert.X509Certificate javax.security.auth.x500.X500Principal byte[] byte[]
      StackMap stack: java.io.IOException
        12: pop
        13: .line 2283
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.pkcs12.PKCS12KeyStore.allCerts:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 7
            goto 31
      StackMap locals: sun.security.pkcs12.PKCS12KeyStore java.security.cert.X509Certificate java.security.cert.X509Certificate javax.security.auth.x500.X500Principal byte[] byte[] top java.util.Iterator
      StackMap stack:
        14: aload 7
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.security.cert.X509Certificate
            astore 6 /* cert */
        start local 6 // java.security.cert.X509Certificate cert
        15: .line 2284
            aload 6 /* cert */
            invokevirtual java.security.cert.X509Certificate.getSubjectX500Principal:()Ljavax/security/auth/x500/X500Principal;
            aload 3 /* issuerPrinc */
            invokevirtual javax.security.auth.x500.X500Principal.equals:(Ljava/lang/Object;)Z
            ifeq 31
        16: .line 2285
            aload 5 /* issuerId */
            ifnull 30
        17: .line 2287
            aload 6 /* cert */
            ldc "2.5.29.14"
            invokevirtual java.security.cert.X509Certificate.getExtensionValue:(Ljava/lang/String;)[B
            astore 8 /* subjectIdExtension */
        start local 8 // byte[] subjectIdExtension
        18: .line 2288
            aconst_null
            astore 9 /* subjectId */
        start local 9 // byte[] subjectId
        19: .line 2289
            aload 8 /* subjectIdExtension */
            ifnull 25
        20: .line 2291
            new sun.security.util.DerValue
            dup
            aload 8 /* subjectIdExtension */
            invokespecial sun.security.util.DerValue.<init>:([B)V
        21: .line 2292
            invokevirtual sun.security.util.DerValue.getOctetString:()[B
        22: .line 2291
            astore 9 /* subjectId */
        23: .line 2293
            goto 25
      StackMap locals: sun.security.pkcs12.PKCS12KeyStore java.security.cert.X509Certificate java.security.cert.X509Certificate javax.security.auth.x500.X500Principal byte[] byte[] java.security.cert.X509Certificate java.util.Iterator byte[] byte[]
      StackMap stack: java.io.IOException
        24: pop
        25: .line 2297
      StackMap locals:
      StackMap stack:
            aload 9 /* subjectId */
            ifnull 28
        26: .line 2298
            aload 5 /* issuerId */
            aload 9 /* subjectId */
            invokestatic java.util.Arrays.equals:([B[B)Z
            ifeq 31
        27: .line 2300
            aload 6 /* cert */
            areturn
        28: .line 2307
      StackMap locals:
      StackMap stack:
            aload 6 /* cert */
            astore 2 /* fallback */
        end local 9 // byte[] subjectId
        end local 8 // byte[] subjectIdExtension
        29: .line 2309
            goto 31
        30: .line 2310
      StackMap locals:
      StackMap stack:
            aload 6 /* cert */
            areturn
        end local 6 // java.security.cert.X509Certificate cert
        31: .line 2283
      StackMap locals: sun.security.pkcs12.PKCS12KeyStore java.security.cert.X509Certificate java.security.cert.X509Certificate javax.security.auth.x500.X500Principal byte[] byte[] top java.util.Iterator
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 14
        32: .line 2314
            aload 2 /* fallback */
            areturn
        end local 5 // byte[] issuerId
        end local 4 // byte[] issuerIdExtension
        end local 3 // javax.security.auth.x500.X500Principal issuerPrinc
        end local 2 // java.security.cert.X509Certificate fallback
        end local 1 // java.security.cert.X509Certificate input
        end local 0 // sun.security.pkcs12.PKCS12KeyStore this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   33     0                this  Lsun/security/pkcs12/PKCS12KeyStore;
            0   33     1               input  Ljava/security/cert/X509Certificate;
            1   33     2            fallback  Ljava/security/cert/X509Certificate;
            2   33     3         issuerPrinc  Ljavax/security/auth/x500/X500Principal;
            3   33     4   issuerIdExtension  [B
            4   33     5            issuerId  [B
           15   31     6                cert  Ljava/security/cert/X509Certificate;
           18   29     8  subjectIdExtension  [B
           19   29     9           subjectId  [B
      Exception table:
        from    to  target  type
           5    11      12  Class java.io.IOException
          20    23      24  Class java.io.IOException
    MethodParameters:
       Name  Flags
      input  

  public static boolean isPasswordless(java.io.File);
    descriptor: (Ljava/io/File;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=14, args_size=1
        start local 0 // java.io.File f
         0: .line 2331
            aconst_null
            astore 1
            aconst_null
            astore 2
         1: new java.io.FileInputStream
            dup
            aload 0 /* f */
            invokespecial java.io.FileInputStream.<init>:(Ljava/io/File;)V
            astore 3 /* stream */
        start local 3 // java.io.FileInputStream stream
         2: .line 2332
            new sun.security.util.DerValue
            dup
            aload 3 /* stream */
            invokespecial sun.security.util.DerValue.<init>:(Ljava/io/InputStream;)V
            astore 4 /* val */
        start local 4 // sun.security.util.DerValue val
         3: .line 2333
            aload 4 /* val */
            invokevirtual sun.security.util.DerValue.toDerInputStream:()Lsun/security/util/DerInputStream;
            astore 5 /* s */
        start local 5 // sun.security.util.DerInputStream s
         4: .line 2335
            aload 5 /* s */
            invokevirtual sun.security.util.DerInputStream.getInteger:()I
            pop
         5: .line 2337
            new sun.security.pkcs.ContentInfo
            dup
            aload 5 /* s */
            invokespecial sun.security.pkcs.ContentInfo.<init>:(Lsun/security/util/DerInputStream;)V
            astore 6 /* authSafe */
        start local 6 // sun.security.pkcs.ContentInfo authSafe
         6: .line 2338
            new sun.security.util.DerInputStream
            dup
            aload 6 /* authSafe */
            invokevirtual sun.security.pkcs.ContentInfo.getData:()[B
            invokespecial sun.security.util.DerInputStream.<init>:([B)V
            astore 7 /* as */
        start local 7 // sun.security.util.DerInputStream as
         7: .line 2339
            aload 7 /* as */
            iconst_2
            invokevirtual sun.security.util.DerInputStream.getSequence:(I)[Lsun/security/util/DerValue;
            dup
            astore 11
            arraylength
            istore 10
            iconst_0
            istore 9
            goto 16
      StackMap locals: java.io.File java.lang.Throwable java.lang.Throwable java.io.FileInputStream sun.security.util.DerValue sun.security.util.DerInputStream sun.security.pkcs.ContentInfo sun.security.util.DerInputStream top int int sun.security.util.DerValue[]
      StackMap stack:
         8: aload 11
            iload 9
            aaload
            astore 8 /* seq */
        start local 8 // sun.security.util.DerValue seq
         9: .line 2340
            new sun.security.util.DerInputStream
            dup
            aload 8 /* seq */
            invokevirtual sun.security.util.DerValue.toByteArray:()[B
            invokespecial sun.security.util.DerInputStream.<init>:([B)V
            astore 12 /* sci */
        start local 12 // sun.security.util.DerInputStream sci
        10: .line 2341
            new sun.security.pkcs.ContentInfo
            dup
            aload 12 /* sci */
            invokespecial sun.security.pkcs.ContentInfo.<init>:(Lsun/security/util/DerInputStream;)V
            astore 13 /* safeContents */
        start local 13 // sun.security.pkcs.ContentInfo safeContents
        11: .line 2342
            aload 13 /* safeContents */
            invokevirtual sun.security.pkcs.ContentInfo.getContentType:()Lsun/security/util/ObjectIdentifier;
        12: .line 2343
            getstatic sun.security.pkcs.ContentInfo.ENCRYPTED_DATA_OID:Lsun/security/util/ObjectIdentifier;
            invokevirtual sun.security.util.ObjectIdentifier.equals:(Ljava/lang/Object;)Z
            ifeq 15
        13: .line 2353
            aload 3 /* stream */
            ifnull 14
            aload 3 /* stream */
            invokevirtual java.io.FileInputStream.close:()V
        14: .line 2345
      StackMap locals: java.io.File java.lang.Throwable java.lang.Throwable java.io.FileInputStream sun.security.util.DerValue sun.security.util.DerInputStream sun.security.pkcs.ContentInfo sun.security.util.DerInputStream sun.security.util.DerValue int int sun.security.util.DerValue[] sun.security.util.DerInputStream sun.security.pkcs.ContentInfo
      StackMap stack:
            iconst_0
            ireturn
        end local 13 // sun.security.pkcs.ContentInfo safeContents
        end local 12 // sun.security.util.DerInputStream sci
        end local 8 // sun.security.util.DerValue seq
        15: .line 2339
      StackMap locals: java.io.File java.lang.Throwable java.lang.Throwable java.io.FileInputStream sun.security.util.DerValue sun.security.util.DerInputStream sun.security.pkcs.ContentInfo sun.security.util.DerInputStream top int int sun.security.util.DerValue[]
      StackMap stack:
            iinc 9 1
      StackMap locals:
      StackMap stack:
        16: iload 9
            iload 10
            if_icmplt 8
        17: .line 2349
            aload 5 /* s */
            invokevirtual sun.security.util.DerInputStream.available:()I
            ifle 20
        18: .line 2353
            aload 3 /* stream */
            ifnull 19
            aload 3 /* stream */
            invokevirtual java.io.FileInputStream.close:()V
        19: .line 2351
      StackMap locals: java.io.File java.lang.Throwable java.lang.Throwable java.io.FileInputStream sun.security.util.DerValue sun.security.util.DerInputStream sun.security.pkcs.ContentInfo sun.security.util.DerInputStream
      StackMap stack:
            iconst_0
            ireturn
        end local 7 // sun.security.util.DerInputStream as
        end local 6 // sun.security.pkcs.ContentInfo authSafe
        end local 5 // sun.security.util.DerInputStream s
        end local 4 // sun.security.util.DerValue val
        20: .line 2353
      StackMap locals: java.io.File java.lang.Throwable java.lang.Throwable java.io.FileInputStream
      StackMap stack:
            aload 3 /* stream */
            ifnull 26
            aload 3 /* stream */
            invokevirtual java.io.FileInputStream.close:()V
            goto 26
      StackMap locals:
      StackMap stack: java.lang.Throwable
        21: astore 1
            aload 3 /* stream */
            ifnull 22
            aload 3 /* stream */
            invokevirtual java.io.FileInputStream.close:()V
        end local 3 // java.io.FileInputStream stream
      StackMap locals:
      StackMap stack:
        22: aload 1
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        23: astore 2
            aload 1
            ifnonnull 24
            aload 2
            astore 1
            goto 25
      StackMap locals:
      StackMap stack:
        24: aload 1
            aload 2
            if_acmpeq 25
            aload 1
            aload 2
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        25: aload 1
            athrow
        26: .line 2354
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 0 // java.io.File f
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   27     0             f  Ljava/io/File;
            2   22     3        stream  Ljava/io/FileInputStream;
            3   20     4           val  Lsun/security/util/DerValue;
            4   20     5             s  Lsun/security/util/DerInputStream;
            6   20     6      authSafe  Lsun/security/pkcs/ContentInfo;
            7   20     7            as  Lsun/security/util/DerInputStream;
            9   15     8           seq  Lsun/security/util/DerValue;
           10   15    12           sci  Lsun/security/util/DerInputStream;
           11   15    13  safeContents  Lsun/security/pkcs/ContentInfo;
      Exception table:
        from    to  target  type
           2    13      21  any
          15    18      21  any
           1    14      23  any
          15    19      23  any
          20    23      23  any
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      f     

  private java.security.cert.X509Certificate findMatchedCertificate(sun.security.pkcs12.PKCS12KeyStore$PrivateKeyEntry);
    descriptor: (Lsun/security/pkcs12/PKCS12KeyStore$PrivateKeyEntry;)Ljava/security/cert/X509Certificate;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=6, args_size=2
        start local 0 // sun.security.pkcs12.PKCS12KeyStore this
        start local 1 // sun.security.pkcs12.PKCS12KeyStore$PrivateKeyEntry entry
         0: .line 2363
            aconst_null
            astore 2 /* keyIdMatch */
        start local 2 // sun.security.pkcs12.PKCS12KeyStore$CertEntry keyIdMatch
         1: .line 2364
            aconst_null
            astore 3 /* aliasMatch */
        start local 3 // sun.security.pkcs12.PKCS12KeyStore$CertEntry aliasMatch
         2: .line 2365
            aload 0 /* this */
            getfield sun.security.pkcs12.PKCS12KeyStore.certEntries:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
            astore 5
            goto 10
      StackMap locals: sun.security.pkcs12.PKCS12KeyStore sun.security.pkcs12.PKCS12KeyStore$PrivateKeyEntry sun.security.pkcs12.PKCS12KeyStore$CertEntry sun.security.pkcs12.PKCS12KeyStore$CertEntry top java.util.Iterator
      StackMap stack:
         3: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast sun.security.pkcs12.PKCS12KeyStore$CertEntry
            astore 4 /* ce */
        start local 4 // sun.security.pkcs12.PKCS12KeyStore$CertEntry ce
         4: .line 2366
            aload 1 /* entry */
            getfield sun.security.pkcs12.PKCS12KeyStore$PrivateKeyEntry.keyId:[B
            aload 4 /* ce */
            getfield sun.security.pkcs12.PKCS12KeyStore$CertEntry.keyId:[B
            invokestatic java.util.Arrays.equals:([B[B)Z
            ifeq 8
         5: .line 2367
            aload 4 /* ce */
            astore 2 /* keyIdMatch */
         6: .line 2368
            aload 1 /* entry */
            getfield sun.security.pkcs12.PKCS12KeyStore$PrivateKeyEntry.alias:Ljava/lang/String;
            aload 4 /* ce */
            getfield sun.security.pkcs12.PKCS12KeyStore$CertEntry.alias:Ljava/lang/String;
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 10
         7: .line 2370
            aload 4 /* ce */
            getfield sun.security.pkcs12.PKCS12KeyStore$CertEntry.cert:Ljava/security/cert/X509Certificate;
            areturn
         8: .line 2372
      StackMap locals: sun.security.pkcs12.PKCS12KeyStore sun.security.pkcs12.PKCS12KeyStore$PrivateKeyEntry sun.security.pkcs12.PKCS12KeyStore$CertEntry sun.security.pkcs12.PKCS12KeyStore$CertEntry sun.security.pkcs12.PKCS12KeyStore$CertEntry java.util.Iterator
      StackMap stack:
            aload 1 /* entry */
            getfield sun.security.pkcs12.PKCS12KeyStore$PrivateKeyEntry.alias:Ljava/lang/String;
            aload 4 /* ce */
            getfield sun.security.pkcs12.PKCS12KeyStore$CertEntry.alias:Ljava/lang/String;
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 10
         9: .line 2373
            aload 4 /* ce */
            astore 3 /* aliasMatch */
        end local 4 // sun.security.pkcs12.PKCS12KeyStore$CertEntry ce
        10: .line 2365
      StackMap locals: sun.security.pkcs12.PKCS12KeyStore sun.security.pkcs12.PKCS12KeyStore$PrivateKeyEntry sun.security.pkcs12.PKCS12KeyStore$CertEntry sun.security.pkcs12.PKCS12KeyStore$CertEntry top java.util.Iterator
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
        11: .line 2377
            aload 2 /* keyIdMatch */
            ifnull 12
            aload 2 /* keyIdMatch */
            getfield sun.security.pkcs12.PKCS12KeyStore$CertEntry.cert:Ljava/security/cert/X509Certificate;
            areturn
        12: .line 2378
      StackMap locals: sun.security.pkcs12.PKCS12KeyStore sun.security.pkcs12.PKCS12KeyStore$PrivateKeyEntry sun.security.pkcs12.PKCS12KeyStore$CertEntry sun.security.pkcs12.PKCS12KeyStore$CertEntry
      StackMap stack:
            aload 3 /* aliasMatch */
            ifnull 13
            aload 3 /* aliasMatch */
            getfield sun.security.pkcs12.PKCS12KeyStore$CertEntry.cert:Ljava/security/cert/X509Certificate;
            areturn
        13: .line 2379
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 3 // sun.security.pkcs12.PKCS12KeyStore$CertEntry aliasMatch
        end local 2 // sun.security.pkcs12.PKCS12KeyStore$CertEntry keyIdMatch
        end local 1 // sun.security.pkcs12.PKCS12KeyStore$PrivateKeyEntry entry
        end local 0 // sun.security.pkcs12.PKCS12KeyStore this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   14     0        this  Lsun/security/pkcs12/PKCS12KeyStore;
            0   14     1       entry  Lsun/security/pkcs12/PKCS12KeyStore$PrivateKeyEntry;
            1   14     2  keyIdMatch  Lsun/security/pkcs12/PKCS12KeyStore$CertEntry;
            2   14     3  aliasMatch  Lsun/security/pkcs12/PKCS12KeyStore$CertEntry;
            4   10     4          ce  Lsun/security/pkcs12/PKCS12KeyStore$CertEntry;
    MethodParameters:
       Name  Flags
      entry  

  private void loadSafeContents(sun.security.util.DerInputStream);
    descriptor: (Lsun/security/util/DerInputStream;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=22, args_size=2
        start local 0 // sun.security.pkcs12.PKCS12KeyStore this
        start local 1 // sun.security.util.DerInputStream stream
         0: .line 2385
            aload 1 /* stream */
            iconst_2
            invokevirtual sun.security.util.DerInputStream.getSequence:(I)[Lsun/security/util/DerValue;
            astore 2 /* safeBags */
        start local 2 // sun.security.util.DerValue[] safeBags
         1: .line 2386
            aload 2 /* safeBags */
            arraylength
            istore 3 /* count */
        start local 3 // int count
         2: .line 2391
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         3: goto 147
         4: .line 2395
      StackMap locals: sun.security.util.DerValue[] int int
      StackMap stack:
            aconst_null
            astore 8 /* bagItem */
        start local 8 // java.lang.Object bagItem
         5: .line 2397
            aload 2 /* safeBags */
            iload 4 /* i */
            aaload
            invokevirtual sun.security.util.DerValue.toDerInputStream:()Lsun/security/util/DerInputStream;
            astore 6 /* sbi */
        start local 6 // sun.security.util.DerInputStream sbi
         6: .line 2398
            aload 6 /* sbi */
            invokevirtual sun.security.util.DerInputStream.getOID:()Lsun/security/util/ObjectIdentifier;
            astore 5 /* bagId */
        start local 5 // sun.security.util.ObjectIdentifier bagId
         7: .line 2399
            aload 6 /* sbi */
            invokevirtual sun.security.util.DerInputStream.getDerValue:()Lsun/security/util/DerValue;
            astore 7 /* bagValue */
        start local 7 // sun.security.util.DerValue bagValue
         8: .line 2400
            aload 7 /* bagValue */
            iconst_0
            invokevirtual sun.security.util.DerValue.isContextSpecific:(B)Z
            ifne 12
         9: .line 2401
            new java.io.IOException
            dup
            new java.lang.StringBuilder
            dup
            ldc "unsupported PKCS12 bag value type "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        10: .line 2402
            aload 7 /* bagValue */
            getfield sun.security.util.DerValue.tag:B
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        11: .line 2401
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
        12: .line 2404
      StackMap locals: sun.security.pkcs12.PKCS12KeyStore sun.security.util.DerInputStream sun.security.util.DerValue[] int int sun.security.util.ObjectIdentifier sun.security.util.DerInputStream sun.security.util.DerValue java.lang.Object
      StackMap stack:
            aload 7 /* bagValue */
            getfield sun.security.util.DerValue.data:Lsun/security/util/DerInputStream;
            invokevirtual sun.security.util.DerInputStream.getDerValue:()Lsun/security/util/DerValue;
            astore 7 /* bagValue */
        13: .line 2405
            aload 5 /* bagId */
            getstatic sun.security.pkcs12.PKCS12KeyStore.PKCS8ShroudedKeyBag_OID:Lsun/security/util/ObjectIdentifier;
            invokevirtual sun.security.util.ObjectIdentifier.equals:(Ljava/lang/Object;)Z
            ifeq 19
        14: .line 2406
            new sun.security.pkcs12.PKCS12KeyStore$PrivateKeyEntry
            dup
            invokespecial sun.security.pkcs12.PKCS12KeyStore$PrivateKeyEntry.<init>:()V
            astore 9 /* kEntry */
        start local 9 // sun.security.pkcs12.PKCS12KeyStore$PrivateKeyEntry kEntry
        15: .line 2407
            aload 9 /* kEntry */
            aload 7 /* bagValue */
            invokevirtual sun.security.util.DerValue.toByteArray:()[B
            putfield sun.security.pkcs12.PKCS12KeyStore$PrivateKeyEntry.protectedPrivKey:[B
        16: .line 2408
            aload 9 /* kEntry */
            astore 8 /* bagItem */
        17: .line 2409
            aload 0 /* this */
            dup
            getfield sun.security.pkcs12.PKCS12KeyStore.privateKeyCount:I
            iconst_1
            iadd
            putfield sun.security.pkcs12.PKCS12KeyStore.privateKeyCount:I
        end local 9 // sun.security.pkcs12.PKCS12KeyStore$PrivateKeyEntry kEntry
        18: .line 2410
            goto 57
      StackMap locals:
      StackMap stack:
        19: aload 5 /* bagId */
            getstatic sun.security.pkcs12.PKCS12KeyStore.CertBag_OID:Lsun/security/util/ObjectIdentifier;
            invokevirtual sun.security.util.ObjectIdentifier.equals:(Ljava/lang/Object;)Z
            ifeq 37
        20: .line 2411
            new sun.security.util.DerInputStream
            dup
            aload 7 /* bagValue */
            invokevirtual sun.security.util.DerValue.toByteArray:()[B
            invokespecial sun.security.util.DerInputStream.<init>:([B)V
            astore 9 /* cs */
        start local 9 // sun.security.util.DerInputStream cs
        21: .line 2412
            aload 9 /* cs */
            iconst_2
            invokevirtual sun.security.util.DerInputStream.getSequence:(I)[Lsun/security/util/DerValue;
            astore 10 /* certValues */
        start local 10 // sun.security.util.DerValue[] certValues
        22: .line 2413
            aload 10 /* certValues */
            arraylength
            iconst_2
            if_icmpeq 24
        23: .line 2414
            new java.io.IOException
            dup
            ldc "Invalid length for CertBag"
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
        24: .line 2416
      StackMap locals: sun.security.util.DerInputStream sun.security.util.DerValue[]
      StackMap stack:
            aload 10 /* certValues */
            iconst_0
            aaload
            invokevirtual sun.security.util.DerValue.getOID:()Lsun/security/util/ObjectIdentifier;
            pop
        25: .line 2417
            aload 10 /* certValues */
            iconst_1
            aaload
            iconst_0
            invokevirtual sun.security.util.DerValue.isContextSpecific:(B)Z
            ifne 29
        26: .line 2418
            new java.io.IOException
            dup
            new java.lang.StringBuilder
            dup
            ldc "unsupported PKCS12 cert value type "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        27: .line 2419
            aload 10 /* certValues */
            iconst_1
            aaload
            getfield sun.security.util.DerValue.tag:B
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        28: .line 2418
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
        29: .line 2421
      StackMap locals:
      StackMap stack:
            aload 10 /* certValues */
            iconst_1
            aaload
            getfield sun.security.util.DerValue.data:Lsun/security/util/DerInputStream;
            invokevirtual sun.security.util.DerInputStream.getDerValue:()Lsun/security/util/DerValue;
            astore 11 /* certValue */
        start local 11 // sun.security.util.DerValue certValue
        30: .line 2422
            ldc "X509"
            invokestatic java.security.cert.CertificateFactory.getInstance:(Ljava/lang/String;)Ljava/security/cert/CertificateFactory;
            astore 12 /* cf */
        start local 12 // java.security.cert.CertificateFactory cf
        31: .line 2424
            aload 12 /* cf */
        32: .line 2425
            new java.io.ByteArrayInputStream
            dup
            aload 11 /* certValue */
            invokevirtual sun.security.util.DerValue.getOctetString:()[B
            invokespecial java.io.ByteArrayInputStream.<init>:([B)V
        33: .line 2424
            invokevirtual java.security.cert.CertificateFactory.generateCertificate:(Ljava/io/InputStream;)Ljava/security/cert/Certificate;
            checkcast java.security.cert.X509Certificate
            astore 13 /* cert */
        start local 13 // java.security.cert.X509Certificate cert
        34: .line 2426
            aload 13 /* cert */
            astore 8 /* bagItem */
        35: .line 2427
            aload 0 /* this */
            dup
            getfield sun.security.pkcs12.PKCS12KeyStore.certificateCount:I
            iconst_1
            iadd
            putfield sun.security.pkcs12.PKCS12KeyStore.certificateCount:I
        end local 13 // java.security.cert.X509Certificate cert
        end local 12 // java.security.cert.CertificateFactory cf
        end local 11 // sun.security.util.DerValue certValue
        end local 10 // sun.security.util.DerValue[] certValues
        end local 9 // sun.security.util.DerInputStream cs
        36: .line 2428
            goto 57
      StackMap locals:
      StackMap stack:
        37: aload 5 /* bagId */
            getstatic sun.security.pkcs12.PKCS12KeyStore.SecretBag_OID:Lsun/security/util/ObjectIdentifier;
            invokevirtual sun.security.util.ObjectIdentifier.equals:(Ljava/lang/Object;)Z
            ifeq 55
        38: .line 2429
            new sun.security.util.DerInputStream
            dup
            aload 7 /* bagValue */
            invokevirtual sun.security.util.DerValue.toByteArray:()[B
            invokespecial sun.security.util.DerInputStream.<init>:([B)V
            astore 9 /* ss */
        start local 9 // sun.security.util.DerInputStream ss
        39: .line 2430
            aload 9 /* ss */
            iconst_2
            invokevirtual sun.security.util.DerInputStream.getSequence:(I)[Lsun/security/util/DerValue;
            astore 10 /* secretValues */
        start local 10 // sun.security.util.DerValue[] secretValues
        40: .line 2431
            aload 10 /* secretValues */
            arraylength
            iconst_2
            if_icmpeq 42
        41: .line 2432
            new java.io.IOException
            dup
            ldc "Invalid length for SecretBag"
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
        42: .line 2434
      StackMap locals: sun.security.util.DerInputStream sun.security.util.DerValue[]
      StackMap stack:
            aload 10 /* secretValues */
            iconst_0
            aaload
            invokevirtual sun.security.util.DerValue.getOID:()Lsun/security/util/ObjectIdentifier;
            pop
        43: .line 2435
            aload 10 /* secretValues */
            iconst_1
            aaload
            iconst_0
            invokevirtual sun.security.util.DerValue.isContextSpecific:(B)Z
            ifne 49
        44: .line 2436
            new java.io.IOException
            dup
        45: .line 2437
            new java.lang.StringBuilder
            dup
            ldc "unsupported PKCS12 secret value type "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        46: .line 2438
            aload 10 /* secretValues */
            iconst_1
            aaload
            getfield sun.security.util.DerValue.tag:B
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
        47: .line 2437
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        48: .line 2436
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
        49: .line 2440
      StackMap locals:
      StackMap stack:
            aload 10 /* secretValues */
            iconst_1
            aaload
            getfield sun.security.util.DerValue.data:Lsun/security/util/DerInputStream;
            invokevirtual sun.security.util.DerInputStream.getDerValue:()Lsun/security/util/DerValue;
            astore 11 /* secretValue */
        start local 11 // sun.security.util.DerValue secretValue
        50: .line 2441
            new sun.security.pkcs12.PKCS12KeyStore$SecretKeyEntry
            dup
            invokespecial sun.security.pkcs12.PKCS12KeyStore$SecretKeyEntry.<init>:()V
            astore 12 /* kEntry */
        start local 12 // sun.security.pkcs12.PKCS12KeyStore$SecretKeyEntry kEntry
        51: .line 2442
            aload 12 /* kEntry */
            aload 11 /* secretValue */
            invokevirtual sun.security.util.DerValue.getOctetString:()[B
            putfield sun.security.pkcs12.PKCS12KeyStore$SecretKeyEntry.protectedSecretKey:[B
        52: .line 2443
            aload 12 /* kEntry */
            astore 8 /* bagItem */
        53: .line 2444
            aload 0 /* this */
            dup
            getfield sun.security.pkcs12.PKCS12KeyStore.secretKeyCount:I
            iconst_1
            iadd
            putfield sun.security.pkcs12.PKCS12KeyStore.secretKeyCount:I
        end local 12 // sun.security.pkcs12.PKCS12KeyStore$SecretKeyEntry kEntry
        end local 11 // sun.security.util.DerValue secretValue
        end local 10 // sun.security.util.DerValue[] secretValues
        end local 9 // sun.security.util.DerInputStream ss
        54: .line 2445
            goto 57
        55: .line 2447
      StackMap locals:
      StackMap stack:
            getstatic sun.security.pkcs12.PKCS12KeyStore.debug:Lsun/security/util/Debug;
            ifnull 57
        56: .line 2448
            getstatic sun.security.pkcs12.PKCS12KeyStore.debug:Lsun/security/util/Debug;
            new java.lang.StringBuilder
            dup
            ldc "Unsupported PKCS12 bag type: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 5 /* bagId */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        57: .line 2454
      StackMap locals:
      StackMap stack:
            aload 6 /* sbi */
            iconst_3
            invokevirtual sun.security.util.DerInputStream.getSet:(I)[Lsun/security/util/DerValue;
            astore 9 /* attrSet */
        start local 9 // sun.security.util.DerValue[] attrSet
        58: .line 2455
            goto 61
        end local 9 // sun.security.util.DerValue[] attrSet
      StackMap locals:
      StackMap stack: java.io.IOException
        59: pop
        60: .line 2459
            aconst_null
            astore 9 /* attrSet */
        start local 9 // sun.security.util.DerValue[] attrSet
        61: .line 2462
      StackMap locals: sun.security.util.DerValue[]
      StackMap stack:
            aconst_null
            astore 10 /* alias */
        start local 10 // java.lang.String alias
        62: .line 2463
            aconst_null
            astore 11 /* keyId */
        start local 11 // byte[] keyId
        63: .line 2464
            aconst_null
            astore 12 /* trustedKeyUsage */
        start local 12 // sun.security.util.ObjectIdentifier[] trustedKeyUsage
        64: .line 2465
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 13 /* attributes */
        start local 13 // java.util.Set attributes
        65: .line 2467
            aload 9 /* attrSet */
            ifnull 99
        66: .line 2468
            iconst_0
            istore 14 /* j */
        start local 14 // int j
        67: goto 98
        68: .line 2469
      StackMap locals: sun.security.pkcs12.PKCS12KeyStore sun.security.util.DerInputStream sun.security.util.DerValue[] int int sun.security.util.ObjectIdentifier sun.security.util.DerInputStream sun.security.util.DerValue java.lang.Object sun.security.util.DerValue[] java.lang.String byte[] sun.security.util.ObjectIdentifier[] java.util.Set int
      StackMap stack:
            aload 9 /* attrSet */
            iload 14 /* j */
            aaload
            invokevirtual sun.security.util.DerValue.toByteArray:()[B
            astore 15 /* encoded */
        start local 15 // byte[] encoded
        69: .line 2470
            new sun.security.util.DerInputStream
            dup
            aload 15 /* encoded */
            invokespecial sun.security.util.DerInputStream.<init>:([B)V
            astore 16 /* as */
        start local 16 // sun.security.util.DerInputStream as
        70: .line 2471
            aload 16 /* as */
            iconst_2
            invokevirtual sun.security.util.DerInputStream.getSequence:(I)[Lsun/security/util/DerValue;
            astore 17 /* attrSeq */
        start local 17 // sun.security.util.DerValue[] attrSeq
        71: .line 2472
            aload 17 /* attrSeq */
            arraylength
            iconst_2
            if_icmpeq 73
        72: .line 2473
            new java.io.IOException
            dup
            ldc "Invalid length for Attribute"
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
        73: .line 2475
      StackMap locals: byte[] sun.security.util.DerInputStream sun.security.util.DerValue[]
      StackMap stack:
            aload 17 /* attrSeq */
            iconst_0
            aaload
            invokevirtual sun.security.util.DerValue.getOID:()Lsun/security/util/ObjectIdentifier;
            astore 18 /* attrId */
        start local 18 // sun.security.util.ObjectIdentifier attrId
        74: .line 2477
            new sun.security.util.DerInputStream
            dup
            aload 17 /* attrSeq */
            iconst_1
            aaload
            invokevirtual sun.security.util.DerValue.toByteArray:()[B
            invokespecial sun.security.util.DerInputStream.<init>:([B)V
        75: .line 2476
            astore 19 /* vs */
        start local 19 // sun.security.util.DerInputStream vs
        76: .line 2480
            aload 19 /* vs */
            iconst_1
            invokevirtual sun.security.util.DerInputStream.getSet:(I)[Lsun/security/util/DerValue;
            astore 20 /* valSet */
        start local 20 // sun.security.util.DerValue[] valSet
        77: .line 2481
            goto 82
        end local 20 // sun.security.util.DerValue[] valSet
      StackMap locals: sun.security.pkcs12.PKCS12KeyStore sun.security.util.DerInputStream sun.security.util.DerValue[] int int sun.security.util.ObjectIdentifier sun.security.util.DerInputStream sun.security.util.DerValue java.lang.Object sun.security.util.DerValue[] java.lang.String byte[] sun.security.util.ObjectIdentifier[] java.util.Set int byte[] sun.security.util.DerInputStream sun.security.util.DerValue[] sun.security.util.ObjectIdentifier sun.security.util.DerInputStream
      StackMap stack: java.io.IOException
        78: astore 21 /* e */
        start local 21 // java.io.IOException e
        79: .line 2482
            new java.io.IOException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Attribute "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 18 /* attrId */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
        80: .line 2483
            ldc " should have a value "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 21 /* e */
            invokevirtual java.io.IOException.getMessage:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        81: .line 2482
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
        end local 21 // java.io.IOException e
        start local 20 // sun.security.util.DerValue[] valSet
        82: .line 2485
      StackMap locals: sun.security.util.DerValue[]
      StackMap stack:
            aload 18 /* attrId */
            getstatic sun.security.pkcs12.PKCS12KeyStore.PKCS9FriendlyName_OID:Lsun/security/util/ObjectIdentifier;
            invokevirtual sun.security.util.ObjectIdentifier.equals:(Ljava/lang/Object;)Z
            ifeq 85
        83: .line 2486
            aload 20 /* valSet */
            iconst_0
            aaload
            invokevirtual sun.security.util.DerValue.getBMPString:()Ljava/lang/String;
            astore 10 /* alias */
        84: .line 2487
            goto 97
      StackMap locals:
      StackMap stack:
        85: aload 18 /* attrId */
            getstatic sun.security.pkcs12.PKCS12KeyStore.PKCS9LocalKeyId_OID:Lsun/security/util/ObjectIdentifier;
            invokevirtual sun.security.util.ObjectIdentifier.equals:(Ljava/lang/Object;)Z
            ifeq 88
        86: .line 2488
            aload 20 /* valSet */
            iconst_0
            aaload
            invokevirtual sun.security.util.DerValue.getOctetString:()[B
            astore 11 /* keyId */
        87: .line 2489
            goto 97
        88: .line 2490
      StackMap locals:
      StackMap stack:
            aload 18 /* attrId */
            getstatic sun.security.pkcs12.PKCS12KeyStore.TrustedKeyUsage_OID:Lsun/security/util/ObjectIdentifier;
            invokevirtual sun.security.util.ObjectIdentifier.equals:(Ljava/lang/Object;)Z
            ifeq 96
        89: .line 2491
            aload 20 /* valSet */
            arraylength
            anewarray sun.security.util.ObjectIdentifier
            astore 12 /* trustedKeyUsage */
        90: .line 2492
            iconst_0
            istore 21 /* k */
        start local 21 // int k
        91: goto 94
        92: .line 2493
      StackMap locals: int
      StackMap stack:
            aload 12 /* trustedKeyUsage */
            iload 21 /* k */
            aload 20 /* valSet */
            iload 21 /* k */
            aaload
            invokevirtual sun.security.util.DerValue.getOID:()Lsun/security/util/ObjectIdentifier;
            aastore
        93: .line 2492
            iinc 21 /* k */ 1
      StackMap locals:
      StackMap stack:
        94: iload 21 /* k */
            aload 20 /* valSet */
            arraylength
            if_icmplt 92
        end local 21 // int k
        95: .line 2495
            goto 97
        96: .line 2496
      StackMap locals:
      StackMap stack:
            aload 13 /* attributes */
            new java.security.PKCS12Attribute
            dup
            aload 15 /* encoded */
            invokespecial java.security.PKCS12Attribute.<init>:([B)V
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        end local 20 // sun.security.util.DerValue[] valSet
        end local 19 // sun.security.util.DerInputStream vs
        end local 18 // sun.security.util.ObjectIdentifier attrId
        end local 17 // sun.security.util.DerValue[] attrSeq
        end local 16 // sun.security.util.DerInputStream as
        end local 15 // byte[] encoded
        97: .line 2468
      StackMap locals: sun.security.pkcs12.PKCS12KeyStore sun.security.util.DerInputStream sun.security.util.DerValue[] int int sun.security.util.ObjectIdentifier sun.security.util.DerInputStream sun.security.util.DerValue java.lang.Object sun.security.util.DerValue[] java.lang.String byte[] sun.security.util.ObjectIdentifier[] java.util.Set int
      StackMap stack:
            iinc 14 /* j */ 1
      StackMap locals:
      StackMap stack:
        98: iload 14 /* j */
            aload 9 /* attrSet */
            arraylength
            if_icmplt 68
        end local 14 // int j
        99: .line 2510
      StackMap locals:
      StackMap stack:
            aload 8 /* bagItem */
            instanceof sun.security.pkcs12.PKCS12KeyStore$KeyEntry
            ifeq 130
       100: .line 2511
            aload 8 /* bagItem */
            checkcast sun.security.pkcs12.PKCS12KeyStore$KeyEntry
            astore 14 /* entry */
        start local 14 // sun.security.pkcs12.PKCS12KeyStore$KeyEntry entry
       101: .line 2513
            aload 11 /* keyId */
            ifnonnull 107
       102: .line 2514
            aload 8 /* bagItem */
            instanceof sun.security.pkcs12.PKCS12KeyStore$PrivateKeyEntry
            ifeq 106
       103: .line 2519
            aload 0 /* this */
            getfield sun.security.pkcs12.PKCS12KeyStore.privateKeyCount:I
            iconst_1
            if_icmpne 146
       104: .line 2520
            ldc "01"
            ldc "UTF8"
            invokevirtual java.lang.String.getBytes:(Ljava/lang/String;)[B
            astore 11 /* keyId */
       105: .line 2524
            goto 107
       106: .line 2526
      StackMap locals: sun.security.pkcs12.PKCS12KeyStore$KeyEntry
      StackMap stack:
            ldc "00"
            ldc "UTF8"
            invokevirtual java.lang.String.getBytes:(Ljava/lang/String;)[B
            astore 11 /* keyId */
       107: .line 2529
      StackMap locals:
      StackMap stack:
            aload 14 /* entry */
            aload 11 /* keyId */
            putfield sun.security.pkcs12.PKCS12KeyStore$KeyEntry.keyId:[B
       108: .line 2531
            new java.lang.String
            dup
            aload 11 /* keyId */
            ldc "UTF8"
            invokespecial java.lang.String.<init>:([BLjava/lang/String;)V
            astore 15 /* keyIdStr */
        start local 15 // java.lang.String keyIdStr
       109: .line 2532
            aconst_null
            astore 16 /* date */
        start local 16 // java.util.Date date
       110: .line 2533
            aload 15 /* keyIdStr */
            ldc "Time "
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 117
       111: .line 2535
            new java.util.Date
            dup
       112: .line 2536
            aload 15 /* keyIdStr */
            iconst_5
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            invokestatic java.lang.Long.parseLong:(Ljava/lang/String;)J
       113: .line 2535
            invokespecial java.util.Date.<init>:(J)V
            astore 16 /* date */
       114: .line 2537
            goto 117
      StackMap locals: sun.security.pkcs12.PKCS12KeyStore sun.security.util.DerInputStream sun.security.util.DerValue[] int int sun.security.util.ObjectIdentifier sun.security.util.DerInputStream sun.security.util.DerValue java.lang.Object sun.security.util.DerValue[] java.lang.String byte[] sun.security.util.ObjectIdentifier[] java.util.Set sun.security.pkcs12.PKCS12KeyStore$KeyEntry java.lang.String java.util.Date
      StackMap stack: java.lang.Exception
       115: pop
       116: .line 2538
            aconst_null
            astore 16 /* date */
       117: .line 2541
      StackMap locals:
      StackMap stack:
            aload 16 /* date */
            ifnonnull 119
       118: .line 2542
            new java.util.Date
            dup
            invokespecial java.util.Date.<init>:()V
            astore 16 /* date */
       119: .line 2544
      StackMap locals:
      StackMap stack:
            aload 14 /* entry */
            aload 16 /* date */
            putfield sun.security.pkcs12.PKCS12KeyStore$KeyEntry.date:Ljava/util/Date;
       120: .line 2546
            aload 8 /* bagItem */
            instanceof sun.security.pkcs12.PKCS12KeyStore$PrivateKeyEntry
            ifeq 122
       121: .line 2547
            aload 0 /* this */
            getfield sun.security.pkcs12.PKCS12KeyStore.keyList:Ljava/util/ArrayList;
            aload 14 /* entry */
            checkcast sun.security.pkcs12.PKCS12KeyStore$PrivateKeyEntry
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
       122: .line 2549
      StackMap locals:
      StackMap stack:
            aload 14 /* entry */
            getfield sun.security.pkcs12.PKCS12KeyStore$KeyEntry.attributes:Ljava/util/Set;
            ifnonnull 124
       123: .line 2550
            aload 14 /* entry */
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            putfield sun.security.pkcs12.PKCS12KeyStore$KeyEntry.attributes:Ljava/util/Set;
       124: .line 2552
      StackMap locals:
      StackMap stack:
            aload 14 /* entry */
            getfield sun.security.pkcs12.PKCS12KeyStore$KeyEntry.attributes:Ljava/util/Set;
            aload 13 /* attributes */
            invokeinterface java.util.Set.addAll:(Ljava/util/Collection;)Z
            pop
       125: .line 2553
            aload 10 /* alias */
            ifnonnull 127
       126: .line 2554
            aload 0 /* this */
            invokevirtual sun.security.pkcs12.PKCS12KeyStore.getUnfriendlyName:()Ljava/lang/String;
            astore 10 /* alias */
       127: .line 2556
      StackMap locals:
      StackMap stack:
            aload 14 /* entry */
            aload 10 /* alias */
            putfield sun.security.pkcs12.PKCS12KeyStore$KeyEntry.alias:Ljava/lang/String;
       128: .line 2557
            aload 0 /* this */
            getfield sun.security.pkcs12.PKCS12KeyStore.entries:Ljava/util/Map;
            aload 10 /* alias */
            getstatic java.util.Locale.ENGLISH:Ljava/util/Locale;
            invokevirtual java.lang.String.toLowerCase:(Ljava/util/Locale;)Ljava/lang/String;
            aload 14 /* entry */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 16 // java.util.Date date
        end local 15 // java.lang.String keyIdStr
        end local 14 // sun.security.pkcs12.PKCS12KeyStore$KeyEntry entry
       129: .line 2559
            goto 146
      StackMap locals:
      StackMap stack:
       130: aload 8 /* bagItem */
            instanceof java.security.cert.X509Certificate
            ifeq 146
       131: .line 2560
            aload 8 /* bagItem */
            checkcast java.security.cert.X509Certificate
            astore 14 /* cert */
        start local 14 // java.security.cert.X509Certificate cert
       132: .line 2565
            aload 11 /* keyId */
            ifnonnull 135
            aload 0 /* this */
            getfield sun.security.pkcs12.PKCS12KeyStore.privateKeyCount:I
            iconst_1
            if_icmpne 135
       133: .line 2567
            iload 4 /* i */
            ifne 135
       134: .line 2568
            ldc "01"
            ldc "UTF8"
            invokevirtual java.lang.String.getBytes:(Ljava/lang/String;)[B
            astore 11 /* keyId */
       135: .line 2572
      StackMap locals: java.security.cert.X509Certificate
      StackMap stack:
            aload 12 /* trustedKeyUsage */
            ifnull 144
       136: .line 2573
            aload 10 /* alias */
            ifnonnull 138
       137: .line 2574
            aload 0 /* this */
            invokevirtual sun.security.pkcs12.PKCS12KeyStore.getUnfriendlyName:()Ljava/lang/String;
            astore 10 /* alias */
       138: .line 2577
      StackMap locals:
      StackMap stack:
            new sun.security.pkcs12.PKCS12KeyStore$CertEntry
            dup
            aload 14 /* cert */
            aload 11 /* keyId */
            aload 10 /* alias */
            aload 12 /* trustedKeyUsage */
       139: .line 2578
            aload 13 /* attributes */
       140: .line 2577
            invokespecial sun.security.pkcs12.PKCS12KeyStore$CertEntry.<init>:(Ljava/security/cert/X509Certificate;[BLjava/lang/String;[Lsun/security/util/ObjectIdentifier;Ljava/util/Set;)V
       141: .line 2576
            astore 15 /* certEntry */
        start local 15 // sun.security.pkcs12.PKCS12KeyStore$CertEntry certEntry
       142: .line 2579
            aload 0 /* this */
            getfield sun.security.pkcs12.PKCS12KeyStore.entries:Ljava/util/Map;
            aload 10 /* alias */
            getstatic java.util.Locale.ENGLISH:Ljava/util/Locale;
            invokevirtual java.lang.String.toLowerCase:(Ljava/util/Locale;)Ljava/lang/String;
            aload 15 /* certEntry */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 15 // sun.security.pkcs12.PKCS12KeyStore$CertEntry certEntry
       143: .line 2580
            goto 145
       144: .line 2581
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.pkcs12.PKCS12KeyStore.certEntries:Ljava/util/ArrayList;
            new sun.security.pkcs12.PKCS12KeyStore$CertEntry
            dup
            aload 14 /* cert */
            aload 11 /* keyId */
            aload 10 /* alias */
            invokespecial sun.security.pkcs12.PKCS12KeyStore$CertEntry.<init>:(Ljava/security/cert/X509Certificate;[BLjava/lang/String;)V
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
       145: .line 2583
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.pkcs12.PKCS12KeyStore.allCerts:Ljava/util/List;
            aload 14 /* cert */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 14 // java.security.cert.X509Certificate cert
        end local 13 // java.util.Set attributes
        end local 12 // sun.security.util.ObjectIdentifier[] trustedKeyUsage
        end local 11 // byte[] keyId
        end local 10 // java.lang.String alias
        end local 9 // sun.security.util.DerValue[] attrSet
        end local 8 // java.lang.Object bagItem
        end local 7 // sun.security.util.DerValue bagValue
        end local 6 // sun.security.util.DerInputStream sbi
        end local 5 // sun.security.util.ObjectIdentifier bagId
       146: .line 2391
      StackMap locals: sun.security.pkcs12.PKCS12KeyStore sun.security.util.DerInputStream sun.security.util.DerValue[] int int
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
       147: iload 4 /* i */
            iload 3 /* count */
            if_icmplt 4
        end local 4 // int i
       148: .line 2586
            return
        end local 3 // int count
        end local 2 // sun.security.util.DerValue[] safeBags
        end local 1 // sun.security.util.DerInputStream stream
        end local 0 // sun.security.pkcs12.PKCS12KeyStore this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0  149     0             this  Lsun/security/pkcs12/PKCS12KeyStore;
            0  149     1           stream  Lsun/security/util/DerInputStream;
            1  149     2         safeBags  [Lsun/security/util/DerValue;
            2  149     3            count  I
            3  148     4                i  I
            7  146     5            bagId  Lsun/security/util/ObjectIdentifier;
            6  146     6              sbi  Lsun/security/util/DerInputStream;
            8  146     7         bagValue  Lsun/security/util/DerValue;
            5  146     8          bagItem  Ljava/lang/Object;
           15   18     9           kEntry  Lsun/security/pkcs12/PKCS12KeyStore$PrivateKeyEntry;
           21   36     9               cs  Lsun/security/util/DerInputStream;
           22   36    10       certValues  [Lsun/security/util/DerValue;
           30   36    11        certValue  Lsun/security/util/DerValue;
           31   36    12               cf  Ljava/security/cert/CertificateFactory;
           34   36    13             cert  Ljava/security/cert/X509Certificate;
           39   54     9               ss  Lsun/security/util/DerInputStream;
           40   54    10     secretValues  [Lsun/security/util/DerValue;
           50   54    11      secretValue  Lsun/security/util/DerValue;
           51   54    12           kEntry  Lsun/security/pkcs12/PKCS12KeyStore$SecretKeyEntry;
           58   59     9          attrSet  [Lsun/security/util/DerValue;
           61  146     9          attrSet  [Lsun/security/util/DerValue;
           62  146    10            alias  Ljava/lang/String;
           63  146    11            keyId  [B
           64  146    12  trustedKeyUsage  [Lsun/security/util/ObjectIdentifier;
           65  146    13       attributes  Ljava/util/Set<Ljava/security/PKCS12Attribute;>;
           67   99    14                j  I
           69   97    15          encoded  [B
           70   97    16               as  Lsun/security/util/DerInputStream;
           71   97    17          attrSeq  [Lsun/security/util/DerValue;
           74   97    18           attrId  Lsun/security/util/ObjectIdentifier;
           76   97    19               vs  Lsun/security/util/DerInputStream;
           77   78    20           valSet  [Lsun/security/util/DerValue;
           82   97    20           valSet  [Lsun/security/util/DerValue;
           79   82    21                e  Ljava/io/IOException;
           91   95    21                k  I
          101  129    14            entry  Lsun/security/pkcs12/PKCS12KeyStore$KeyEntry;
          109  129    15         keyIdStr  Ljava/lang/String;
          110  129    16             date  Ljava/util/Date;
          132  146    14             cert  Ljava/security/cert/X509Certificate;
          142  143    15        certEntry  Lsun/security/pkcs12/PKCS12KeyStore$CertEntry;
      Exception table:
        from    to  target  type
          57    58      59  Class java.io.IOException
          76    77      78  Class java.io.IOException
         111   114     115  Class java.lang.Exception
    Exceptions:
      throws java.io.IOException, java.security.NoSuchAlgorithmException, java.security.cert.CertificateException
    MethodParameters:
        Name  Flags
      stream  

  private java.lang.String getUnfriendlyName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // sun.security.pkcs12.PKCS12KeyStore this
         0: .line 2589
            aload 0 /* this */
            dup
            getfield sun.security.pkcs12.PKCS12KeyStore.counter:I
            iconst_1
            iadd
            putfield sun.security.pkcs12.PKCS12KeyStore.counter:I
         1: .line 2590
            aload 0 /* this */
            getfield sun.security.pkcs12.PKCS12KeyStore.counter:I
            invokestatic java.lang.String.valueOf:(I)Ljava/lang/String;
            areturn
        end local 0 // sun.security.pkcs12.PKCS12KeyStore this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lsun/security/pkcs12/PKCS12KeyStore;

  public boolean engineProbe(java.io.InputStream);
    descriptor: (Ljava/io/InputStream;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=11, args_size=2
        start local 0 // sun.security.pkcs12.PKCS12KeyStore this
        start local 1 // java.io.InputStream stream
         0: .line 2639
            aload 1 /* stream */
            instanceof java.io.DataInputStream
            ifeq 3
         1: .line 2640
            aload 1 /* stream */
            checkcast java.io.DataInputStream
            astore 2 /* dataStream */
        start local 2 // java.io.DataInputStream dataStream
         2: .line 2641
            goto 4
        end local 2 // java.io.DataInputStream dataStream
         3: .line 2642
      StackMap locals:
      StackMap stack:
            new java.io.DataInputStream
            dup
            aload 1 /* stream */
            invokespecial java.io.DataInputStream.<init>:(Ljava/io/InputStream;)V
            astore 2 /* dataStream */
        start local 2 // java.io.DataInputStream dataStream
         4: .line 2645
      StackMap locals: java.io.DataInputStream
      StackMap stack:
            aload 2 /* dataStream */
            invokevirtual java.io.DataInputStream.readLong:()J
            lstore 3 /* firstPeek */
        start local 3 // long firstPeek
         5: .line 2646
            aload 2 /* dataStream */
            invokevirtual java.io.DataInputStream.readLong:()J
            lstore 5 /* nextPeek */
        start local 5 // long nextPeek
         6: .line 2647
            aload 2 /* dataStream */
            invokevirtual java.io.DataInputStream.readLong:()J
            lstore 7 /* finalPeek */
        start local 7 // long finalPeek
         7: .line 2648
            iconst_0
            istore 9 /* result */
        start local 9 // boolean result
         8: .line 2650
            iconst_0
            istore 10 /* i */
        start local 10 // int i
         9: goto 22
        10: .line 2651
      StackMap locals: sun.security.pkcs12.PKCS12KeyStore java.io.InputStream java.io.DataInputStream long long long int int
      StackMap stack:
            getstatic sun.security.pkcs12.PKCS12KeyStore.PKCS12_HEADER_PATTERNS:[[J
            iload 10 /* i */
            aaload
            iconst_0
            laload
        11: .line 2652
            lload 3 /* firstPeek */
            getstatic sun.security.pkcs12.PKCS12KeyStore.PKCS12_HEADER_MASKS:[[J
            iload 10 /* i */
            aaload
            iconst_0
            laload
            land
        12: .line 2651
            lcmp
            ifne 21
        13: .line 2653
            getstatic sun.security.pkcs12.PKCS12KeyStore.PKCS12_HEADER_PATTERNS:[[J
            iload 10 /* i */
            aaload
            iconst_1
            laload
        14: .line 2654
            lload 5 /* nextPeek */
            getstatic sun.security.pkcs12.PKCS12KeyStore.PKCS12_HEADER_MASKS:[[J
            iload 10 /* i */
            aaload
            iconst_1
            laload
            land
        15: .line 2653
            lcmp
            ifne 21
        16: .line 2655
            getstatic sun.security.pkcs12.PKCS12KeyStore.PKCS12_HEADER_PATTERNS:[[J
            iload 10 /* i */
            aaload
            iconst_2
            laload
        17: .line 2656
            lload 7 /* finalPeek */
            getstatic sun.security.pkcs12.PKCS12KeyStore.PKCS12_HEADER_MASKS:[[J
            iload 10 /* i */
            aaload
            iconst_2
            laload
            land
        18: .line 2655
            lcmp
            ifne 21
        19: .line 2657
            iconst_1
            istore 9 /* result */
        20: .line 2658
            goto 23
        21: .line 2650
      StackMap locals:
      StackMap stack:
            iinc 10 /* i */ 1
      StackMap locals:
      StackMap stack:
        22: iload 10 /* i */
            getstatic sun.security.pkcs12.PKCS12KeyStore.PKCS12_HEADER_PATTERNS:[[J
            arraylength
            if_icmplt 10
        end local 10 // int i
        23: .line 2662
      StackMap locals:
      StackMap stack:
            iload 9 /* result */
            ireturn
        end local 9 // boolean result
        end local 7 // long finalPeek
        end local 5 // long nextPeek
        end local 3 // long firstPeek
        end local 2 // java.io.DataInputStream dataStream
        end local 1 // java.io.InputStream stream
        end local 0 // sun.security.pkcs12.PKCS12KeyStore this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   24     0        this  Lsun/security/pkcs12/PKCS12KeyStore;
            0   24     1      stream  Ljava/io/InputStream;
            2    3     2  dataStream  Ljava/io/DataInputStream;
            4   24     2  dataStream  Ljava/io/DataInputStream;
            5   24     3   firstPeek  J
            6   24     5    nextPeek  J
            7   24     7   finalPeek  J
            8   24     9      result  Z
            9   23    10           i  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
        Name  Flags
      stream  

  private static java.lang.String defaultCertProtectionAlgorithm();
    descriptor: ()Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=0
         0: .line 2669
            ldc "keystore.pkcs12.certProtectionAlgorithm"
         1: .line 2668
            invokestatic sun.security.util.SecurityProperties.privilegedGetOverridable:(Ljava/lang/String;)Ljava/lang/String;
            astore 0 /* result */
        start local 0 // java.lang.String result
         2: .line 2670
            aload 0 /* result */
            ifnull 4
            aload 0 /* result */
            invokevirtual java.lang.String.isEmpty:()Z
            ifne 4
         3: .line 2671
            aload 0 /* result */
            goto 5
      StackMap locals: java.lang.String
      StackMap stack:
         4: ldc "PBEWithSHA1AndRC2_40"
         5: .line 2670
      StackMap locals:
      StackMap stack: java.lang.String
            areturn
        end local 0 // java.lang.String result
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            2    6     0  result  Ljava/lang/String;

  private static int defaultCertPbeIterationCount();
    descriptor: ()I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=0
         0: .line 2676
            ldc "keystore.pkcs12.certPbeIterationCount"
         1: .line 2675
            invokestatic sun.security.util.SecurityProperties.privilegedGetOverridable:(Ljava/lang/String;)Ljava/lang/String;
            astore 0 /* result */
        start local 0 // java.lang.String result
         2: .line 2677
            aload 0 /* result */
            ifnull 4
            aload 0 /* result */
            invokevirtual java.lang.String.isEmpty:()Z
            ifne 4
         3: .line 2678
            ldc "certPbeIterationCount"
            aload 0 /* result */
            invokestatic sun.security.pkcs12.PKCS12KeyStore.string2IC:(Ljava/lang/String;Ljava/lang/String;)I
            goto 5
      StackMap locals: java.lang.String
      StackMap stack:
         4: ldc 50000
         5: .line 2677
      StackMap locals:
      StackMap stack: int
            ireturn
        end local 0 // java.lang.String result
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            2    6     0  result  Ljava/lang/String;

  private static java.lang.String defaultKeyProtectionAlgorithm();
    descriptor: ()Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=0
         0: .line 2684
            new sun.security.pkcs12.PKCS12KeyStore$1
            dup
            invokespecial sun.security.pkcs12.PKCS12KeyStore$1.<init>:()V
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            checkcast java.lang.String
            astore 0 /* result */
        start local 0 // java.lang.String result
         1: .line 2704
            aload 0 /* result */
            ifnull 3
            aload 0 /* result */
            invokevirtual java.lang.String.isEmpty:()Z
            ifne 3
         2: .line 2705
            aload 0 /* result */
            goto 4
      StackMap locals: java.lang.String
      StackMap stack:
         3: ldc "PBEWithSHA1AndDESede"
         4: .line 2704
      StackMap locals:
      StackMap stack: java.lang.String
            areturn
        end local 0 // java.lang.String result
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            1    5     0  result  Ljava/lang/String;

  private static int defaultKeyPbeIterationCount();
    descriptor: ()I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=0
         0: .line 2710
            ldc "keystore.pkcs12.keyPbeIterationCount"
         1: .line 2709
            invokestatic sun.security.util.SecurityProperties.privilegedGetOverridable:(Ljava/lang/String;)Ljava/lang/String;
            astore 0 /* result */
        start local 0 // java.lang.String result
         2: .line 2711
            aload 0 /* result */
            ifnull 4
            aload 0 /* result */
            invokevirtual java.lang.String.isEmpty:()Z
            ifne 4
         3: .line 2712
            ldc "keyPbeIterationCount"
            aload 0 /* result */
            invokestatic sun.security.pkcs12.PKCS12KeyStore.string2IC:(Ljava/lang/String;Ljava/lang/String;)I
            goto 5
      StackMap locals: java.lang.String
      StackMap stack:
         4: ldc 50000
         5: .line 2711
      StackMap locals:
      StackMap stack: int
            ireturn
        end local 0 // java.lang.String result
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            2    6     0  result  Ljava/lang/String;

  private static java.lang.String defaultMacAlgorithm();
    descriptor: ()Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=0
         0: .line 2717
            ldc "keystore.pkcs12.macAlgorithm"
         1: .line 2716
            invokestatic sun.security.util.SecurityProperties.privilegedGetOverridable:(Ljava/lang/String;)Ljava/lang/String;
            astore 0 /* result */
        start local 0 // java.lang.String result
         2: .line 2718
            aload 0 /* result */
            ifnull 4
            aload 0 /* result */
            invokevirtual java.lang.String.isEmpty:()Z
            ifne 4
         3: .line 2719
            aload 0 /* result */
            goto 5
      StackMap locals: java.lang.String
      StackMap stack:
         4: ldc "HmacPBESHA1"
         5: .line 2718
      StackMap locals:
      StackMap stack: java.lang.String
            areturn
        end local 0 // java.lang.String result
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            2    6     0  result  Ljava/lang/String;

  private static int defaultMacIterationCount();
    descriptor: ()I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=0
         0: .line 2724
            ldc "keystore.pkcs12.macIterationCount"
         1: .line 2723
            invokestatic sun.security.util.SecurityProperties.privilegedGetOverridable:(Ljava/lang/String;)Ljava/lang/String;
            astore 0 /* result */
        start local 0 // java.lang.String result
         2: .line 2725
            aload 0 /* result */
            ifnull 4
            aload 0 /* result */
            invokevirtual java.lang.String.isEmpty:()Z
            ifne 4
         3: .line 2726
            ldc "macIterationCount"
            aload 0 /* result */
            invokestatic sun.security.pkcs12.PKCS12KeyStore.string2IC:(Ljava/lang/String;Ljava/lang/String;)I
            goto 5
      StackMap locals: java.lang.String
      StackMap stack:
         4: ldc 100000
         5: .line 2725
      StackMap locals:
      StackMap stack: int
            ireturn
        end local 0 // java.lang.String result
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            2    6     0  result  Ljava/lang/String;

  private static int string2IC(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // java.lang.String type
        start local 1 // java.lang.String value
         0: .line 2732
            aload 1 /* value */
            invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
            istore 2 /* number */
        start local 2 // int number
         1: .line 2733
            goto 6
        end local 2 // int number
      StackMap locals:
      StackMap stack: java.lang.NumberFormatException
         2: pop
         3: .line 2734
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "keystore.pkcs12."
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* type */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         4: .line 2735
            ldc " is not a number: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 1 /* value */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         5: .line 2734
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        start local 2 // int number
         6: .line 2737
      StackMap locals: int
      StackMap stack:
            iload 2 /* number */
            ifle 7
            iload 2 /* number */
            ldc 5000000
            if_icmple 10
         7: .line 2738
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Invalid keystore.pkcs12."
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         8: .line 2739
            aload 0 /* type */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ": "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 1 /* value */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         9: .line 2738
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        10: .line 2741
      StackMap locals:
      StackMap stack:
            iload 2 /* number */
            ireturn
        end local 2 // int number
        end local 1 // java.lang.String value
        end local 0 // java.lang.String type
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   11     0    type  Ljava/lang/String;
            0   11     1   value  Ljava/lang/String;
            1    2     2  number  I
            6   11     2  number  I
      Exception table:
        from    to  target  type
           0     1       2  Class java.lang.NumberFormatException
    MethodParameters:
       Name  Flags
      type   
      value  

  private java.security.Key lambda$0(sun.security.util.ObjectIdentifier, java.security.AlgorithmParameters, byte[], sun.security.pkcs12.PKCS12KeyStore$Entry, java.lang.String, int, char[]);
    descriptor: (Lsun/security/util/ObjectIdentifier;Ljava/security/AlgorithmParameters;[BLsun/security/pkcs12/PKCS12KeyStore$Entry;Ljava/lang/String;I[C)Ljava/security/Key;
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=4, locals=21, args_size=8
        start local 0 // sun.security.pkcs12.PKCS12KeyStore this
        start local 7 // char[] pass
         0: .line 395
            aload 0 /* this */
            aload 7 /* pass */
            invokevirtual sun.security.pkcs12.PKCS12KeyStore.getPBEKey:([C)Ljavax/crypto/SecretKey;
            astore 8 /* skey */
        start local 8 // javax.crypto.SecretKey skey
         1: .line 397
            aload 1
            aload 2
            invokestatic sun.security.pkcs12.PKCS12KeyStore.mapPBEParamsToAlgorithm:(Lsun/security/util/ObjectIdentifier;Ljava/security/AlgorithmParameters;)Ljava/lang/String;
         2: .line 396
            invokestatic javax.crypto.Cipher.getInstance:(Ljava/lang/String;)Ljavax/crypto/Cipher;
            astore 9 /* cipher */
        start local 9 // javax.crypto.Cipher cipher
         3: .line 398
            aload 9 /* cipher */
            iconst_2
            aload 8 /* skey */
            aload 2
            invokevirtual javax.crypto.Cipher.init:(ILjava/security/Key;Ljava/security/AlgorithmParameters;)V
         4: .line 399
            aload 9 /* cipher */
            aload 3
            invokevirtual javax.crypto.Cipher.doFinal:([B)[B
            astore 10 /* keyInfo */
        start local 10 // byte[] keyInfo
         5: .line 404
            new sun.security.util.DerValue
            dup
            aload 10 /* keyInfo */
            invokespecial sun.security.util.DerValue.<init>:([B)V
            astore 11 /* val */
        start local 11 // sun.security.util.DerValue val
         6: .line 405
            aload 11 /* val */
            invokevirtual sun.security.util.DerValue.toDerInputStream:()Lsun/security/util/DerInputStream;
            astore 12 /* in */
        start local 12 // sun.security.util.DerInputStream in
         7: .line 406
            aload 12 /* in */
            invokevirtual sun.security.util.DerInputStream.getInteger:()I
            pop
         8: .line 407
            aload 12 /* in */
            iconst_2
            invokevirtual sun.security.util.DerInputStream.getSequence:(I)[Lsun/security/util/DerValue;
            astore 13 /* value */
        start local 13 // sun.security.util.DerValue[] value
         9: .line 408
            aload 13 /* value */
            arraylength
            iconst_1
            if_icmplt 10
            aload 13 /* value */
            arraylength
            iconst_2
            if_icmple 11
        10: .line 409
      StackMap locals: sun.security.pkcs12.PKCS12KeyStore sun.security.util.ObjectIdentifier java.security.AlgorithmParameters byte[] sun.security.pkcs12.PKCS12KeyStore$Entry java.lang.String int char[] javax.crypto.SecretKey javax.crypto.Cipher byte[] sun.security.util.DerValue sun.security.util.DerInputStream sun.security.util.DerValue[]
      StackMap stack:
            new java.io.IOException
            dup
            ldc "Invalid length for AlgorithmIdentifier"
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
        11: .line 411
      StackMap locals:
      StackMap stack:
            new sun.security.x509.AlgorithmId
            dup
            aload 13 /* value */
            iconst_0
            aaload
            invokevirtual sun.security.util.DerValue.getOID:()Lsun/security/util/ObjectIdentifier;
            invokespecial sun.security.x509.AlgorithmId.<init>:(Lsun/security/util/ObjectIdentifier;)V
            astore 14 /* algId */
        start local 14 // sun.security.x509.AlgorithmId algId
        12: .line 412
            aload 14 /* algId */
            invokevirtual sun.security.x509.AlgorithmId.getName:()Ljava/lang/String;
            astore 15 /* keyAlgo */
        start local 15 // java.lang.String keyAlgo
        13: .line 415
            aload 4
            instanceof sun.security.pkcs12.PKCS12KeyStore$PrivateKeyEntry
            ifeq 24
        14: .line 416
            aload 15 /* keyAlgo */
            invokestatic java.security.KeyFactory.getInstance:(Ljava/lang/String;)Ljava/security/KeyFactory;
            astore 16 /* kfac */
        start local 16 // java.security.KeyFactory kfac
        15: .line 417
            new java.security.spec.PKCS8EncodedKeySpec
            dup
            aload 10 /* keyInfo */
            invokespecial java.security.spec.PKCS8EncodedKeySpec.<init>:([B)V
            astore 17 /* kspec */
        start local 17 // java.security.spec.PKCS8EncodedKeySpec kspec
        16: .line 418
            aload 16 /* kfac */
            aload 17 /* kspec */
            invokevirtual java.security.KeyFactory.generatePrivate:(Ljava/security/spec/KeySpec;)Ljava/security/PrivateKey;
            astore 18 /* tmp */
        start local 18 // java.security.Key tmp
        17: .line 420
            getstatic sun.security.pkcs12.PKCS12KeyStore.debug:Lsun/security/util/Debug;
            ifnull 23
        18: .line 421
            getstatic sun.security.pkcs12.PKCS12KeyStore.debug:Lsun/security/util/Debug;
            new java.lang.StringBuilder
            dup
            ldc "Retrieved a protected private key at alias '"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        19: .line 422
            aload 5
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "' ("
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        20: .line 423
            aload 1
            aload 2
            invokestatic sun.security.pkcs12.PKCS12KeyStore.mapPBEParamsToAlgorithm:(Lsun/security/util/ObjectIdentifier;Ljava/security/AlgorithmParameters;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        21: .line 424
            ldc " iterations: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 6
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc ")"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        22: .line 421
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        23: .line 426
      StackMap locals: sun.security.pkcs12.PKCS12KeyStore sun.security.util.ObjectIdentifier java.security.AlgorithmParameters byte[] sun.security.pkcs12.PKCS12KeyStore$Entry java.lang.String int char[] javax.crypto.SecretKey javax.crypto.Cipher byte[] sun.security.util.DerValue sun.security.util.DerInputStream sun.security.util.DerValue[] sun.security.x509.AlgorithmId java.lang.String java.security.KeyFactory java.security.spec.PKCS8EncodedKeySpec java.security.Key
      StackMap stack:
            aload 18 /* tmp */
            areturn
        end local 18 // java.security.Key tmp
        end local 17 // java.security.spec.PKCS8EncodedKeySpec kspec
        end local 16 // java.security.KeyFactory kfac
        24: .line 429
      StackMap locals:
      StackMap stack:
            aload 12 /* in */
            invokevirtual sun.security.util.DerInputStream.getOctetString:()[B
            astore 16 /* keyBytes */
        start local 16 // byte[] keyBytes
        25: .line 431
            new javax.crypto.spec.SecretKeySpec
            dup
            aload 16 /* keyBytes */
            aload 15 /* keyAlgo */
            invokespecial javax.crypto.spec.SecretKeySpec.<init>:([BLjava/lang/String;)V
        26: .line 430
            astore 17 /* secretKeySpec */
        start local 17 // javax.crypto.spec.SecretKeySpec secretKeySpec
        27: .line 435
            aload 15 /* keyAlgo */
            ldc "PBE"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 34
        28: .line 437
            aload 15 /* keyAlgo */
            invokestatic javax.crypto.SecretKeyFactory.getInstance:(Ljava/lang/String;)Ljavax/crypto/SecretKeyFactory;
        29: .line 436
            astore 19 /* sKeyFactory */
        start local 19 // javax.crypto.SecretKeyFactory sKeyFactory
        30: .line 439
            aload 19 /* sKeyFactory */
            aload 17 /* secretKeySpec */
            ldc Ljavax/crypto/spec/PBEKeySpec;
            invokevirtual javax.crypto.SecretKeyFactory.getKeySpec:(Ljavax/crypto/SecretKey;Ljava/lang/Class;)Ljava/security/spec/KeySpec;
        31: .line 438
            astore 20 /* pbeKeySpec */
        start local 20 // java.security.spec.KeySpec pbeKeySpec
        32: .line 440
            aload 19 /* sKeyFactory */
            aload 20 /* pbeKeySpec */
            invokevirtual javax.crypto.SecretKeyFactory.generateSecret:(Ljava/security/spec/KeySpec;)Ljavax/crypto/SecretKey;
            astore 18 /* tmp */
        end local 20 // java.security.spec.KeySpec pbeKeySpec
        end local 19 // javax.crypto.SecretKeyFactory sKeyFactory
        start local 18 // java.security.Key tmp
        33: .line 441
            goto 35
        end local 18 // java.security.Key tmp
        34: .line 442
      StackMap locals: byte[] javax.crypto.spec.SecretKeySpec
      StackMap stack:
            aload 17 /* secretKeySpec */
            astore 18 /* tmp */
        start local 18 // java.security.Key tmp
        35: .line 445
      StackMap locals: java.security.Key
      StackMap stack:
            getstatic sun.security.pkcs12.PKCS12KeyStore.debug:Lsun/security/util/Debug;
            ifnull 41
        36: .line 446
            getstatic sun.security.pkcs12.PKCS12KeyStore.debug:Lsun/security/util/Debug;
            new java.lang.StringBuilder
            dup
            ldc "Retrieved a protected secret key at alias '"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        37: .line 447
            aload 5
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "' ("
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        38: .line 448
            aload 1
            aload 2
            invokestatic sun.security.pkcs12.PKCS12KeyStore.mapPBEParamsToAlgorithm:(Lsun/security/util/ObjectIdentifier;Ljava/security/AlgorithmParameters;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        39: .line 449
            ldc " iterations: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 6
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc ")"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        40: .line 446
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        41: .line 451
      StackMap locals:
      StackMap stack:
            aload 18 /* tmp */
            areturn
        end local 18 // java.security.Key tmp
        end local 17 // javax.crypto.spec.SecretKeySpec secretKeySpec
        end local 16 // byte[] keyBytes
        end local 15 // java.lang.String keyAlgo
        end local 14 // sun.security.x509.AlgorithmId algId
        end local 13 // sun.security.util.DerValue[] value
        end local 12 // sun.security.util.DerInputStream in
        end local 11 // sun.security.util.DerValue val
        end local 10 // byte[] keyInfo
        end local 9 // javax.crypto.Cipher cipher
        end local 8 // javax.crypto.SecretKey skey
        end local 7 // char[] pass
        end local 0 // sun.security.pkcs12.PKCS12KeyStore this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   42     0           this  Lsun/security/pkcs12/PKCS12KeyStore;
            0   42     7           pass  [C
            1   42     8           skey  Ljavax/crypto/SecretKey;
            3   42     9         cipher  Ljavax/crypto/Cipher;
            5   42    10        keyInfo  [B
            6   42    11            val  Lsun/security/util/DerValue;
            7   42    12             in  Lsun/security/util/DerInputStream;
            9   42    13          value  [Lsun/security/util/DerValue;
           12   42    14          algId  Lsun/security/x509/AlgorithmId;
           13   42    15        keyAlgo  Ljava/lang/String;
           15   24    16           kfac  Ljava/security/KeyFactory;
           16   24    17          kspec  Ljava/security/spec/PKCS8EncodedKeySpec;
           17   24    18            tmp  Ljava/security/Key;
           25   42    16       keyBytes  [B
           27   42    17  secretKeySpec  Ljavax/crypto/spec/SecretKeySpec;
           33   34    18            tmp  Ljava/security/Key;
           35   42    18            tmp  Ljava/security/Key;
           30   33    19    sKeyFactory  Ljavax/crypto/SecretKeyFactory;
           32   33    20     pbeKeySpec  Ljava/security/spec/KeySpec;
    Exceptions:
      throws java.lang.Exception

  private java.lang.Object lambda$1(sun.security.util.ObjectIdentifier, java.security.AlgorithmParameters, byte[], char[]);
    descriptor: (Lsun/security/util/ObjectIdentifier;Ljava/security/AlgorithmParameters;[B[C)Ljava/lang/Object;
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=5, locals=7, args_size=5
        start local 0 // sun.security.pkcs12.PKCS12KeyStore this
        start local 4 // char[] pass
         0: .line 2119
            aload 0 /* this */
            aload 4 /* pass */
            invokevirtual sun.security.pkcs12.PKCS12KeyStore.getPBEKey:([C)Ljavax/crypto/SecretKey;
            astore 5 /* skey */
        start local 5 // javax.crypto.SecretKey skey
         1: .line 2121
            aload 1
            aload 2
            invokestatic sun.security.pkcs12.PKCS12KeyStore.mapPBEParamsToAlgorithm:(Lsun/security/util/ObjectIdentifier;Ljava/security/AlgorithmParameters;)Ljava/lang/String;
         2: .line 2120
            invokestatic javax.crypto.Cipher.getInstance:(Ljava/lang/String;)Ljavax/crypto/Cipher;
            astore 6 /* cipher */
        start local 6 // javax.crypto.Cipher cipher
         3: .line 2122
            aload 6 /* cipher */
            iconst_2
            aload 5 /* skey */
            aload 2
            invokevirtual javax.crypto.Cipher.init:(ILjava/security/Key;Ljava/security/AlgorithmParameters;)V
         4: .line 2123
            aload 0 /* this */
            new sun.security.util.DerInputStream
            dup
            aload 6 /* cipher */
            aload 3
            invokevirtual javax.crypto.Cipher.doFinal:([B)[B
            invokespecial sun.security.util.DerInputStream.<init>:([B)V
            invokevirtual sun.security.pkcs12.PKCS12KeyStore.loadSafeContents:(Lsun/security/util/DerInputStream;)V
         5: .line 2124
            aconst_null
            areturn
        end local 6 // javax.crypto.Cipher cipher
        end local 5 // javax.crypto.SecretKey skey
        end local 4 // char[] pass
        end local 0 // sun.security.pkcs12.PKCS12KeyStore this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    6     0    this  Lsun/security/pkcs12/PKCS12KeyStore;
            0    6     4    pass  [C
            1    6     5    skey  Ljavax/crypto/SecretKey;
            3    6     6  cipher  Ljavax/crypto/Cipher;
    Exceptions:
      throws java.lang.Exception

  private java.lang.Void lambda$2(javax.crypto.Mac, javax.crypto.spec.PBEParameterSpec, byte[], int, sun.security.pkcs12.MacData, char[]);
    descriptor: (Ljavax/crypto/Mac;Ljavax/crypto/spec/PBEParameterSpec;[BILsun/security/pkcs12/MacData;[C)Ljava/lang/Void;
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=4, locals=9, args_size=7
        start local 0 // sun.security.pkcs12.PKCS12KeyStore this
        start local 6 // char[] pass
         0: .line 2171
            aload 0 /* this */
            aload 6 /* pass */
            invokevirtual sun.security.pkcs12.PKCS12KeyStore.getPBEKey:([C)Ljavax/crypto/SecretKey;
            astore 7 /* key */
        start local 7 // javax.crypto.SecretKey key
         1: .line 2172
            aload 1
            aload 7 /* key */
            aload 2
            invokevirtual javax.crypto.Mac.init:(Ljava/security/Key;Ljava/security/spec/AlgorithmParameterSpec;)V
         2: .line 2173
            aload 1
            aload 3
            invokevirtual javax.crypto.Mac.update:([B)V
         3: .line 2174
            aload 1
            invokevirtual javax.crypto.Mac.doFinal:()[B
            astore 8 /* macResult */
        start local 8 // byte[] macResult
         4: .line 2176
            getstatic sun.security.pkcs12.PKCS12KeyStore.debug:Lsun/security/util/Debug;
            ifnull 8
         5: .line 2177
            getstatic sun.security.pkcs12.PKCS12KeyStore.debug:Lsun/security/util/Debug;
            new java.lang.StringBuilder
            dup
            ldc "Checking keystore integrity ("
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         6: .line 2178
            aload 1
            invokevirtual javax.crypto.Mac.getAlgorithm:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " iterations: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 4
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc ")"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         7: .line 2177
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
         8: .line 2181
      StackMap locals: javax.crypto.SecretKey byte[]
      StackMap stack:
            aload 5
            invokevirtual sun.security.pkcs12.MacData.getDigest:()[B
            aload 8 /* macResult */
            invokestatic java.security.MessageDigest.isEqual:([B[B)Z
            ifne 10
         9: .line 2182
            new java.security.UnrecoverableKeyException
            dup
            ldc "Failed PKCS12 integrity checking"
            invokespecial java.security.UnrecoverableKeyException.<init>:(Ljava/lang/String;)V
            athrow
        10: .line 2185
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 8 // byte[] macResult
        end local 7 // javax.crypto.SecretKey key
        end local 6 // char[] pass
        end local 0 // sun.security.pkcs12.PKCS12KeyStore this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   11     0       this  Lsun/security/pkcs12/PKCS12KeyStore;
            0   11     6       pass  [C
            1   11     7        key  Ljavax/crypto/SecretKey;
            4   11     8  macResult  [B
    Exceptions:
      throws java.lang.Exception
}
SourceFile: "PKCS12KeyStore.java"
NestMembers:
  sun.security.pkcs12.PKCS12KeyStore$1  sun.security.pkcs12.PKCS12KeyStore$CertEntry  sun.security.pkcs12.PKCS12KeyStore$DualFormatPKCS12  sun.security.pkcs12.PKCS12KeyStore$Entry  sun.security.pkcs12.PKCS12KeyStore$KeyEntry  sun.security.pkcs12.PKCS12KeyStore$PrivateKeyEntry  sun.security.pkcs12.PKCS12KeyStore$RetryWithZero  sun.security.pkcs12.PKCS12KeyStore$SecretKeyEntry
InnerClasses:
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
  public abstract Entry = java.security.KeyStore$Entry of java.security.KeyStore
  public abstract Attribute = java.security.KeyStore$Entry$Attribute of java.security.KeyStore$Entry
  public PasswordProtection = java.security.KeyStore$PasswordProtection of java.security.KeyStore
  public final PrivateKeyEntry = java.security.KeyStore$PrivateKeyEntry of java.security.KeyStore
  public abstract ProtectionParameter = java.security.KeyStore$ProtectionParameter of java.security.KeyStore
  public final SecretKeyEntry = java.security.KeyStore$SecretKeyEntry of java.security.KeyStore
  public final TrustedCertificateEntry = java.security.KeyStore$TrustedCertificateEntry of java.security.KeyStore
  sun.security.pkcs12.PKCS12KeyStore$1
  private CertEntry = sun.security.pkcs12.PKCS12KeyStore$CertEntry of sun.security.pkcs12.PKCS12KeyStore
  public final DualFormatPKCS12 = sun.security.pkcs12.PKCS12KeyStore$DualFormatPKCS12 of sun.security.pkcs12.PKCS12KeyStore
  private Entry = sun.security.pkcs12.PKCS12KeyStore$Entry of sun.security.pkcs12.PKCS12KeyStore
  private KeyEntry = sun.security.pkcs12.PKCS12KeyStore$KeyEntry of sun.security.pkcs12.PKCS12KeyStore
  private PrivateKeyEntry = sun.security.pkcs12.PKCS12KeyStore$PrivateKeyEntry of sun.security.pkcs12.PKCS12KeyStore
  private abstract RetryWithZero = sun.security.pkcs12.PKCS12KeyStore$RetryWithZero of sun.security.pkcs12.PKCS12KeyStore
  private SecretKeyEntry = sun.security.pkcs12.PKCS12KeyStore$SecretKeyEntry of sun.security.pkcs12.PKCS12KeyStore