public final class com.sun.crypto.provider.JceKeyStore extends java.security.KeyStoreSpi
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: com.sun.crypto.provider.JceKeyStore
  super_class: java.security.KeyStoreSpi
{
  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 JCEKS_MAGIC;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: -825307442

  private static final int JKS_MAGIC;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: -17957139

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

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

  private java.util.Hashtable<java.lang.String, java.lang.Object> entries;
    descriptor: Ljava/util/Hashtable;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/Hashtable<Ljava/lang/String;Ljava/lang/Object;>;

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 67
            ldc "keystore"
            invokestatic sun.security.util.Debug.getInstance:(Ljava/lang/String;)Lsun/security/util/Debug;
            putstatic com.sun.crypto.provider.JceKeyStore.debug:Lsun/security/util/Debug;
         1: .line 71
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.sun.crypto.provider.JceKeyStore this
         0: .line 65
            aload 0 /* this */
            invokespecial java.security.KeyStoreSpi.<init>:()V
         1: .line 102
            aload 0 /* this */
            new java.util.Hashtable
            dup
            invokespecial java.util.Hashtable.<init>:()V
            putfield com.sun.crypto.provider.JceKeyStore.entries:Ljava/util/Hashtable;
         2: .line 65
            return
        end local 0 // com.sun.crypto.provider.JceKeyStore this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/sun/crypto/provider/JceKeyStore;

  public java.security.Key engineGetKey(java.lang.String, char[]);
    descriptor: (Ljava/lang/String;[C)Ljava/security/Key;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=8, args_size=3
        start local 0 // com.sun.crypto.provider.JceKeyStore this
        start local 1 // java.lang.String alias
        start local 2 // char[] password
         0: .line 122
            aconst_null
            astore 3 /* key */
        start local 3 // java.security.Key key
         1: .line 124
            aload 0 /* this */
            getfield com.sun.crypto.provider.JceKeyStore.entries:Ljava/util/Hashtable;
            aload 1 /* alias */
            getstatic java.util.Locale.ENGLISH:Ljava/util/Locale;
            invokevirtual java.lang.String.toLowerCase:(Ljava/util/Locale;)Ljava/lang/String;
            invokevirtual java.util.Hashtable.get:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 4 /* entry */
        start local 4 // java.lang.Object entry
         2: .line 126
            aload 4 /* entry */
            instanceof com.sun.crypto.provider.JceKeyStore$PrivateKeyEntry
            ifne 5
         3: .line 127
            aload 4 /* entry */
            instanceof com.sun.crypto.provider.JceKeyStore$SecretKeyEntry
            ifne 5
         4: .line 128
            aconst_null
            areturn
         5: .line 131
      StackMap locals: java.security.Key java.lang.Object
      StackMap stack:
            new com.sun.crypto.provider.KeyProtector
            dup
            aload 2 /* password */
            invokespecial com.sun.crypto.provider.KeyProtector.<init>:([C)V
            astore 5 /* keyProtector */
        start local 5 // com.sun.crypto.provider.KeyProtector keyProtector
         6: .line 133
            aload 4 /* entry */
            instanceof com.sun.crypto.provider.JceKeyStore$PrivateKeyEntry
            ifeq 14
         7: .line 134
            aload 4 /* entry */
            checkcast com.sun.crypto.provider.JceKeyStore$PrivateKeyEntry
            getfield com.sun.crypto.provider.JceKeyStore$PrivateKeyEntry.protectedKey:[B
            astore 6 /* encrBytes */
        start local 6 // byte[] encrBytes
         8: .line 137
            new com.sun.crypto.provider.EncryptedPrivateKeyInfo
            dup
            aload 6 /* encrBytes */
            invokespecial com.sun.crypto.provider.EncryptedPrivateKeyInfo.<init>:([B)V
            astore 7 /* encrInfo */
        start local 7 // com.sun.crypto.provider.EncryptedPrivateKeyInfo encrInfo
         9: .line 138
            goto 12
        end local 7 // com.sun.crypto.provider.EncryptedPrivateKeyInfo encrInfo
      StackMap locals: com.sun.crypto.provider.JceKeyStore java.lang.String char[] java.security.Key java.lang.Object com.sun.crypto.provider.KeyProtector byte[]
      StackMap stack: java.io.IOException
        10: pop
        11: .line 139
            new java.security.UnrecoverableKeyException
            dup
            ldc "Private key not stored as PKCS #8 EncryptedPrivateKeyInfo"
            invokespecial java.security.UnrecoverableKeyException.<init>:(Ljava/lang/String;)V
            athrow
        start local 7 // com.sun.crypto.provider.EncryptedPrivateKeyInfo encrInfo
        12: .line 143
      StackMap locals: com.sun.crypto.provider.EncryptedPrivateKeyInfo
      StackMap stack:
            aload 5 /* keyProtector */
            aload 7 /* encrInfo */
            invokevirtual com.sun.crypto.provider.KeyProtector.recover:(Lcom/sun/crypto/provider/EncryptedPrivateKeyInfo;)Ljava/security/Key;
            astore 3 /* key */
        end local 7 // com.sun.crypto.provider.EncryptedPrivateKeyInfo encrInfo
        end local 6 // byte[] encrBytes
        13: .line 144
            goto 16
        14: .line 145
      StackMap locals:
      StackMap stack:
            aload 4 /* entry */
            checkcast com.sun.crypto.provider.JceKeyStore$SecretKeyEntry
            astore 6 /* ske */
        start local 6 // com.sun.crypto.provider.JceKeyStore$SecretKeyEntry ske
        15: .line 146
            aload 5 /* keyProtector */
            aload 6 /* ske */
            getfield com.sun.crypto.provider.JceKeyStore$SecretKeyEntry.sealedKey:Ljavax/crypto/SealedObject;
            aload 6 /* ske */
            getfield com.sun.crypto.provider.JceKeyStore$SecretKeyEntry.maxLength:I
            invokevirtual com.sun.crypto.provider.KeyProtector.unseal:(Ljavax/crypto/SealedObject;I)Ljava/security/Key;
            astore 3 /* key */
        end local 6 // com.sun.crypto.provider.JceKeyStore$SecretKeyEntry ske
        16: .line 149
      StackMap locals:
      StackMap stack:
            aload 3 /* key */
            areturn
        end local 5 // com.sun.crypto.provider.KeyProtector keyProtector
        end local 4 // java.lang.Object entry
        end local 3 // java.security.Key key
        end local 2 // char[] password
        end local 1 // java.lang.String alias
        end local 0 // com.sun.crypto.provider.JceKeyStore this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   17     0          this  Lcom/sun/crypto/provider/JceKeyStore;
            0   17     1         alias  Ljava/lang/String;
            0   17     2      password  [C
            1   17     3           key  Ljava/security/Key;
            2   17     4         entry  Ljava/lang/Object;
            6   17     5  keyProtector  Lcom/sun/crypto/provider/KeyProtector;
            8   13     6     encrBytes  [B
            9   10     7      encrInfo  Lcom/sun/crypto/provider/EncryptedPrivateKeyInfo;
           12   13     7      encrInfo  Lcom/sun/crypto/provider/EncryptedPrivateKeyInfo;
           15   16     6           ske  Lcom/sun/crypto/provider/JceKeyStore$SecretKeyEntry;
      Exception table:
        from    to  target  type
           8     9      10  Class java.io.IOException
    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=3, locals=4, args_size=2
        start local 0 // com.sun.crypto.provider.JceKeyStore this
        start local 1 // java.lang.String alias
         0: .line 165
            aconst_null
            astore 2 /* chain */
        start local 2 // java.security.cert.Certificate[] chain
         1: .line 167
            aload 0 /* this */
            getfield com.sun.crypto.provider.JceKeyStore.entries:Ljava/util/Hashtable;
            aload 1 /* alias */
            getstatic java.util.Locale.ENGLISH:Ljava/util/Locale;
            invokevirtual java.lang.String.toLowerCase:(Ljava/util/Locale;)Ljava/lang/String;
            invokevirtual java.util.Hashtable.get:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 3 /* entry */
        start local 3 // java.lang.Object entry
         2: .line 169
            aload 3 /* entry */
            instanceof com.sun.crypto.provider.JceKeyStore$PrivateKeyEntry
            ifeq 5
         3: .line 170
            aload 3 /* entry */
            checkcast com.sun.crypto.provider.JceKeyStore$PrivateKeyEntry
            getfield com.sun.crypto.provider.JceKeyStore$PrivateKeyEntry.chain:[Ljava/security/cert/Certificate;
            ifnull 5
         4: .line 171
            aload 3 /* entry */
            checkcast com.sun.crypto.provider.JceKeyStore$PrivateKeyEntry
            getfield com.sun.crypto.provider.JceKeyStore$PrivateKeyEntry.chain:[Ljava/security/cert/Certificate;
            invokevirtual java.security.cert.Certificate[].clone:()Ljava/lang/Object;
            checkcast java.security.cert.Certificate[]
            astore 2 /* chain */
         5: .line 174
      StackMap locals: java.security.cert.Certificate[] java.lang.Object
      StackMap stack:
            aload 2 /* chain */
            areturn
        end local 3 // java.lang.Object entry
        end local 2 // java.security.cert.Certificate[] chain
        end local 1 // java.lang.String alias
        end local 0 // com.sun.crypto.provider.JceKeyStore this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    6     0   this  Lcom/sun/crypto/provider/JceKeyStore;
            0    6     1  alias  Ljava/lang/String;
            1    6     2  chain  [Ljava/security/cert/Certificate;
            2    6     3  entry  Ljava/lang/Object;
    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=3, locals=4, args_size=2
        start local 0 // com.sun.crypto.provider.JceKeyStore this
        start local 1 // java.lang.String alias
         0: .line 193
            aconst_null
            astore 2 /* cert */
        start local 2 // java.security.cert.Certificate cert
         1: .line 195
            aload 0 /* this */
            getfield com.sun.crypto.provider.JceKeyStore.entries:Ljava/util/Hashtable;
            aload 1 /* alias */
            getstatic java.util.Locale.ENGLISH:Ljava/util/Locale;
            invokevirtual java.lang.String.toLowerCase:(Ljava/util/Locale;)Ljava/lang/String;
            invokevirtual java.util.Hashtable.get:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 3 /* entry */
        start local 3 // java.lang.Object entry
         2: .line 197
            aload 3 /* entry */
            ifnull 9
         3: .line 198
            aload 3 /* entry */
            instanceof com.sun.crypto.provider.JceKeyStore$TrustedCertEntry
            ifeq 6
         4: .line 199
            aload 3 /* entry */
            checkcast com.sun.crypto.provider.JceKeyStore$TrustedCertEntry
            getfield com.sun.crypto.provider.JceKeyStore$TrustedCertEntry.cert:Ljava/security/cert/Certificate;
            astore 2 /* cert */
         5: .line 200
            goto 9
      StackMap locals: java.security.cert.Certificate java.lang.Object
      StackMap stack:
         6: aload 3 /* entry */
            instanceof com.sun.crypto.provider.JceKeyStore$PrivateKeyEntry
            ifeq 9
         7: .line 201
            aload 3 /* entry */
            checkcast com.sun.crypto.provider.JceKeyStore$PrivateKeyEntry
            getfield com.sun.crypto.provider.JceKeyStore$PrivateKeyEntry.chain:[Ljava/security/cert/Certificate;
            ifnull 9
         8: .line 202
            aload 3 /* entry */
            checkcast com.sun.crypto.provider.JceKeyStore$PrivateKeyEntry
            getfield com.sun.crypto.provider.JceKeyStore$PrivateKeyEntry.chain:[Ljava/security/cert/Certificate;
            iconst_0
            aaload
            astore 2 /* cert */
         9: .line 206
      StackMap locals:
      StackMap stack:
            aload 2 /* cert */
            areturn
        end local 3 // java.lang.Object entry
        end local 2 // java.security.cert.Certificate cert
        end local 1 // java.lang.String alias
        end local 0 // com.sun.crypto.provider.JceKeyStore this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   10     0   this  Lcom/sun/crypto/provider/JceKeyStore;
            0   10     1  alias  Ljava/lang/String;
            1   10     2   cert  Ljava/security/cert/Certificate;
            2   10     3  entry  Ljava/lang/Object;
    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=4, args_size=2
        start local 0 // com.sun.crypto.provider.JceKeyStore this
        start local 1 // java.lang.String alias
         0: .line 218
            aconst_null
            astore 2 /* date */
        start local 2 // java.util.Date date
         1: .line 220
            aload 0 /* this */
            getfield com.sun.crypto.provider.JceKeyStore.entries:Ljava/util/Hashtable;
            aload 1 /* alias */
            getstatic java.util.Locale.ENGLISH:Ljava/util/Locale;
            invokevirtual java.lang.String.toLowerCase:(Ljava/util/Locale;)Ljava/lang/String;
            invokevirtual java.util.Hashtable.get:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 3 /* entry */
        start local 3 // java.lang.Object entry
         2: .line 222
            aload 3 /* entry */
            ifnull 10
         3: .line 225
            aload 3 /* entry */
            instanceof com.sun.crypto.provider.JceKeyStore$TrustedCertEntry
            ifeq 6
         4: .line 226
            new java.util.Date
            dup
            aload 3 /* entry */
            checkcast com.sun.crypto.provider.JceKeyStore$TrustedCertEntry
            getfield com.sun.crypto.provider.JceKeyStore$TrustedCertEntry.date:Ljava/util/Date;
            invokevirtual java.util.Date.getTime:()J
            invokespecial java.util.Date.<init>:(J)V
            astore 2 /* date */
         5: .line 227
            goto 10
      StackMap locals: java.util.Date java.lang.Object
      StackMap stack:
         6: aload 3 /* entry */
            instanceof com.sun.crypto.provider.JceKeyStore$PrivateKeyEntry
            ifeq 9
         7: .line 228
            new java.util.Date
            dup
            aload 3 /* entry */
            checkcast com.sun.crypto.provider.JceKeyStore$PrivateKeyEntry
            getfield com.sun.crypto.provider.JceKeyStore$PrivateKeyEntry.date:Ljava/util/Date;
            invokevirtual java.util.Date.getTime:()J
            invokespecial java.util.Date.<init>:(J)V
            astore 2 /* date */
         8: .line 229
            goto 10
         9: .line 230
      StackMap locals:
      StackMap stack:
            new java.util.Date
            dup
            aload 3 /* entry */
            checkcast com.sun.crypto.provider.JceKeyStore$SecretKeyEntry
            getfield com.sun.crypto.provider.JceKeyStore$SecretKeyEntry.date:Ljava/util/Date;
            invokevirtual java.util.Date.getTime:()J
            invokespecial java.util.Date.<init>:(J)V
            astore 2 /* date */
        10: .line 234
      StackMap locals:
      StackMap stack:
            aload 2 /* date */
            areturn
        end local 3 // java.lang.Object entry
        end local 2 // java.util.Date date
        end local 1 // java.lang.String alias
        end local 0 // com.sun.crypto.provider.JceKeyStore this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   11     0   this  Lcom/sun/crypto/provider/JceKeyStore;
            0   11     1  alias  Ljava/lang/String;
            1   11     2   date  Ljava/util/Date;
            2   11     3  entry  Ljava/lang/Object;
    MethodParameters:
       Name  Flags
      alias  

  public 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: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=8, args_size=5
        start local 0 // com.sun.crypto.provider.JceKeyStore 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 263
            aload 0 /* this */
            getfield com.sun.crypto.provider.JceKeyStore.entries:Ljava/util/Hashtable;
            dup
            astore 5
            monitorenter
         1: .line 265
            new com.sun.crypto.provider.KeyProtector
            dup
            aload 3 /* password */
            invokespecial com.sun.crypto.provider.KeyProtector.<init>:([C)V
            astore 6 /* keyProtector */
        start local 6 // com.sun.crypto.provider.KeyProtector keyProtector
         2: .line 267
            aload 2 /* key */
            instanceof java.security.PrivateKey
            ifeq 13
         3: .line 268
            new com.sun.crypto.provider.JceKeyStore$PrivateKeyEntry
            dup
            invokespecial com.sun.crypto.provider.JceKeyStore$PrivateKeyEntry.<init>:()V
            astore 7 /* entry */
        start local 7 // com.sun.crypto.provider.JceKeyStore$PrivateKeyEntry entry
         4: .line 269
            aload 7 /* entry */
            new java.util.Date
            dup
            invokespecial java.util.Date.<init>:()V
            putfield com.sun.crypto.provider.JceKeyStore$PrivateKeyEntry.date:Ljava/util/Date;
         5: .line 272
            aload 7 /* entry */
            aload 6 /* keyProtector */
            aload 2 /* key */
            checkcast java.security.PrivateKey
            invokevirtual com.sun.crypto.provider.KeyProtector.protect:(Ljava/security/PrivateKey;)[B
            putfield com.sun.crypto.provider.JceKeyStore$PrivateKeyEntry.protectedKey:[B
         6: .line 275
            aload 4 /* chain */
            ifnull 10
         7: .line 276
            aload 4 /* chain */
            arraylength
            ifeq 10
         8: .line 277
            aload 7 /* entry */
            aload 4 /* chain */
            invokevirtual java.security.cert.Certificate[].clone:()Ljava/lang/Object;
            checkcast java.security.cert.Certificate[]
            putfield com.sun.crypto.provider.JceKeyStore$PrivateKeyEntry.chain:[Ljava/security/cert/Certificate;
         9: .line 278
            goto 11
        10: .line 279
      StackMap locals: java.util.Hashtable com.sun.crypto.provider.KeyProtector com.sun.crypto.provider.JceKeyStore$PrivateKeyEntry
      StackMap stack:
            aload 7 /* entry */
            aconst_null
            putfield com.sun.crypto.provider.JceKeyStore$PrivateKeyEntry.chain:[Ljava/security/cert/Certificate;
        11: .line 283
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.crypto.provider.JceKeyStore.entries:Ljava/util/Hashtable;
            aload 1 /* alias */
            getstatic java.util.Locale.ENGLISH:Ljava/util/Locale;
            invokevirtual java.lang.String.toLowerCase:(Ljava/util/Locale;)Ljava/lang/String;
            aload 7 /* entry */
            invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 7 // com.sun.crypto.provider.JceKeyStore$PrivateKeyEntry entry
        12: .line 285
            goto 21
        13: .line 286
      StackMap locals:
      StackMap stack:
            new com.sun.crypto.provider.JceKeyStore$SecretKeyEntry
            dup
            invokespecial com.sun.crypto.provider.JceKeyStore$SecretKeyEntry.<init>:()V
            astore 7 /* entry */
        start local 7 // com.sun.crypto.provider.JceKeyStore$SecretKeyEntry entry
        14: .line 287
            aload 7 /* entry */
            new java.util.Date
            dup
            invokespecial java.util.Date.<init>:()V
            putfield com.sun.crypto.provider.JceKeyStore$SecretKeyEntry.date:Ljava/util/Date;
        15: .line 290
            aload 7 /* entry */
            aload 6 /* keyProtector */
            aload 2 /* key */
            invokevirtual com.sun.crypto.provider.KeyProtector.seal:(Ljava/security/Key;)Ljavax/crypto/SealedObject;
            putfield com.sun.crypto.provider.JceKeyStore$SecretKeyEntry.sealedKey:Ljavax/crypto/SealedObject;
        16: .line 291
            aload 7 /* entry */
            ldc 2147483647
            putfield com.sun.crypto.provider.JceKeyStore$SecretKeyEntry.maxLength:I
        17: .line 292
            aload 0 /* this */
            getfield com.sun.crypto.provider.JceKeyStore.entries:Ljava/util/Hashtable;
            aload 1 /* alias */
            getstatic java.util.Locale.ENGLISH:Ljava/util/Locale;
            invokevirtual java.lang.String.toLowerCase:(Ljava/util/Locale;)Ljava/lang/String;
            aload 7 /* entry */
            invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 7 // com.sun.crypto.provider.JceKeyStore$SecretKeyEntry entry
        end local 6 // com.sun.crypto.provider.KeyProtector keyProtector
        18: .line 295
            goto 21
      StackMap locals: com.sun.crypto.provider.JceKeyStore java.lang.String java.security.Key char[] java.security.cert.Certificate[] java.util.Hashtable
      StackMap stack: java.lang.Exception
        19: astore 6 /* e */
        start local 6 // java.lang.Exception e
        20: .line 296
            new java.security.KeyStoreException
            dup
            aload 6 /* e */
            invokevirtual java.lang.Exception.getMessage:()Ljava/lang/String;
            invokespecial java.security.KeyStoreException.<init>:(Ljava/lang/String;)V
            athrow
        end local 6 // java.lang.Exception e
        21: .line 263
      StackMap locals:
      StackMap stack:
            aload 5
            monitorexit
        22: goto 25
      StackMap locals:
      StackMap stack: java.lang.Throwable
        23: aload 5
            monitorexit
        24: athrow
        25: .line 299
      StackMap locals:
      StackMap stack:
            return
        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 // com.sun.crypto.provider.JceKeyStore this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   26     0          this  Lcom/sun/crypto/provider/JceKeyStore;
            0   26     1         alias  Ljava/lang/String;
            0   26     2           key  Ljava/security/Key;
            0   26     3      password  [C
            0   26     4         chain  [Ljava/security/cert/Certificate;
            2   18     6  keyProtector  Lcom/sun/crypto/provider/KeyProtector;
            4   12     7         entry  Lcom/sun/crypto/provider/JceKeyStore$PrivateKeyEntry;
           14   18     7         entry  Lcom/sun/crypto/provider/JceKeyStore$SecretKeyEntry;
           20   21     6             e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           1    18      19  Class java.lang.Exception
           1    22      23  any
          23    24      23  any
    Exceptions:
      throws java.security.KeyStoreException
    MethodParameters:
          Name  Flags
      alias     
      key       
      password  
      chain     

  public void engineSetKeyEntry(java.lang.String, byte[], java.security.cert.Certificate[]);
    descriptor: (Ljava/lang/String;[B[Ljava/security/cert/Certificate;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=6, args_size=4
        start local 0 // com.sun.crypto.provider.JceKeyStore this
        start local 1 // java.lang.String alias
        start local 2 // byte[] key
        start local 3 // java.security.cert.Certificate[] chain
         0: .line 326
            aload 0 /* this */
            getfield com.sun.crypto.provider.JceKeyStore.entries:Ljava/util/Hashtable;
            dup
            astore 4
            monitorenter
         1: .line 329
            new com.sun.crypto.provider.JceKeyStore$PrivateKeyEntry
            dup
            invokespecial com.sun.crypto.provider.JceKeyStore$PrivateKeyEntry.<init>:()V
            astore 5 /* entry */
        start local 5 // com.sun.crypto.provider.JceKeyStore$PrivateKeyEntry entry
         2: .line 330
            aload 5 /* entry */
            new java.util.Date
            dup
            invokespecial java.util.Date.<init>:()V
            putfield com.sun.crypto.provider.JceKeyStore$PrivateKeyEntry.date:Ljava/util/Date;
         3: .line 332
            aload 5 /* entry */
            aload 2 /* key */
            invokevirtual byte[].clone:()Ljava/lang/Object;
            checkcast byte[]
            putfield com.sun.crypto.provider.JceKeyStore$PrivateKeyEntry.protectedKey:[B
         4: .line 333
            aload 3 /* chain */
            ifnull 8
         5: .line 334
            aload 3 /* chain */
            arraylength
            ifeq 8
         6: .line 335
            aload 5 /* entry */
            aload 3 /* chain */
            invokevirtual java.security.cert.Certificate[].clone:()Ljava/lang/Object;
            checkcast java.security.cert.Certificate[]
            putfield com.sun.crypto.provider.JceKeyStore$PrivateKeyEntry.chain:[Ljava/security/cert/Certificate;
         7: .line 336
            goto 9
         8: .line 337
      StackMap locals: java.util.Hashtable com.sun.crypto.provider.JceKeyStore$PrivateKeyEntry
      StackMap stack:
            aload 5 /* entry */
            aconst_null
            putfield com.sun.crypto.provider.JceKeyStore$PrivateKeyEntry.chain:[Ljava/security/cert/Certificate;
         9: .line 340
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.crypto.provider.JceKeyStore.entries:Ljava/util/Hashtable;
            aload 1 /* alias */
            getstatic java.util.Locale.ENGLISH:Ljava/util/Locale;
            invokevirtual java.lang.String.toLowerCase:(Ljava/util/Locale;)Ljava/lang/String;
            aload 5 /* entry */
            invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 5 // com.sun.crypto.provider.JceKeyStore$PrivateKeyEntry entry
        10: .line 326
            aload 4
            monitorexit
        11: goto 14
      StackMap locals: com.sun.crypto.provider.JceKeyStore java.lang.String byte[] java.security.cert.Certificate[] java.util.Hashtable
      StackMap stack: java.lang.Throwable
        12: aload 4
            monitorexit
        13: athrow
        14: .line 342
      StackMap locals:
      StackMap stack:
            return
        end local 3 // java.security.cert.Certificate[] chain
        end local 2 // byte[] key
        end local 1 // java.lang.String alias
        end local 0 // com.sun.crypto.provider.JceKeyStore this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   15     0   this  Lcom/sun/crypto/provider/JceKeyStore;
            0   15     1  alias  Ljava/lang/String;
            0   15     2    key  [B
            0   15     3  chain  [Ljava/security/cert/Certificate;
            2   10     5  entry  Lcom/sun/crypto/provider/JceKeyStore$PrivateKeyEntry;
      Exception table:
        from    to  target  type
           1    11      12  any
          12    13      12  any
    Exceptions:
      throws java.security.KeyStoreException
    MethodParameters:
       Name  Flags
      alias  
      key    
      chain  

  public void engineSetCertificateEntry(java.lang.String, java.security.cert.Certificate);
    descriptor: (Ljava/lang/String;Ljava/security/cert/Certificate;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=6, args_size=3
        start local 0 // com.sun.crypto.provider.JceKeyStore this
        start local 1 // java.lang.String alias
        start local 2 // java.security.cert.Certificate cert
         0: .line 361
            aload 0 /* this */
            getfield com.sun.crypto.provider.JceKeyStore.entries:Ljava/util/Hashtable;
            dup
            astore 3
            monitorenter
         1: .line 363
            aload 0 /* this */
            getfield com.sun.crypto.provider.JceKeyStore.entries:Ljava/util/Hashtable;
            aload 1 /* alias */
            getstatic java.util.Locale.ENGLISH:Ljava/util/Locale;
            invokevirtual java.lang.String.toLowerCase:(Ljava/util/Locale;)Ljava/lang/String;
            invokevirtual java.util.Hashtable.get:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 4 /* entry */
        start local 4 // java.lang.Object entry
         2: .line 364
            aload 4 /* entry */
            ifnull 7
         3: .line 365
            aload 4 /* entry */
            instanceof com.sun.crypto.provider.JceKeyStore$PrivateKeyEntry
            ifeq 5
         4: .line 366
            new java.security.KeyStoreException
            dup
            ldc "Cannot overwrite own certificate"
            invokespecial java.security.KeyStoreException.<init>:(Ljava/lang/String;)V
            athrow
         5: .line 368
      StackMap locals: java.util.Hashtable java.lang.Object
      StackMap stack:
            aload 4 /* entry */
            instanceof com.sun.crypto.provider.JceKeyStore$SecretKeyEntry
            ifeq 7
         6: .line 369
            new java.security.KeyStoreException
            dup
            ldc "Cannot overwrite secret key"
            invokespecial java.security.KeyStoreException.<init>:(Ljava/lang/String;)V
            athrow
         7: .line 373
      StackMap locals:
      StackMap stack:
            new com.sun.crypto.provider.JceKeyStore$TrustedCertEntry
            dup
            invokespecial com.sun.crypto.provider.JceKeyStore$TrustedCertEntry.<init>:()V
            astore 5 /* trustedCertEntry */
        start local 5 // com.sun.crypto.provider.JceKeyStore$TrustedCertEntry trustedCertEntry
         8: .line 374
            aload 5 /* trustedCertEntry */
            aload 2 /* cert */
            putfield com.sun.crypto.provider.JceKeyStore$TrustedCertEntry.cert:Ljava/security/cert/Certificate;
         9: .line 375
            aload 5 /* trustedCertEntry */
            new java.util.Date
            dup
            invokespecial java.util.Date.<init>:()V
            putfield com.sun.crypto.provider.JceKeyStore$TrustedCertEntry.date:Ljava/util/Date;
        10: .line 376
            aload 0 /* this */
            getfield com.sun.crypto.provider.JceKeyStore.entries:Ljava/util/Hashtable;
            aload 1 /* alias */
            getstatic java.util.Locale.ENGLISH:Ljava/util/Locale;
            invokevirtual java.lang.String.toLowerCase:(Ljava/util/Locale;)Ljava/lang/String;
            aload 5 /* trustedCertEntry */
            invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 5 // com.sun.crypto.provider.JceKeyStore$TrustedCertEntry trustedCertEntry
        end local 4 // java.lang.Object entry
        11: .line 361
            aload 3
            monitorexit
        12: goto 15
      StackMap locals: com.sun.crypto.provider.JceKeyStore java.lang.String java.security.cert.Certificate java.util.Hashtable
      StackMap stack: java.lang.Throwable
        13: aload 3
            monitorexit
        14: athrow
        15: .line 378
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.security.cert.Certificate cert
        end local 1 // java.lang.String alias
        end local 0 // com.sun.crypto.provider.JceKeyStore this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   16     0              this  Lcom/sun/crypto/provider/JceKeyStore;
            0   16     1             alias  Ljava/lang/String;
            0   16     2              cert  Ljava/security/cert/Certificate;
            2   11     4             entry  Ljava/lang/Object;
            8   11     5  trustedCertEntry  Lcom/sun/crypto/provider/JceKeyStore$TrustedCertEntry;
      Exception table:
        from    to  target  type
           1    12      13  any
          13    14      13  any
    Exceptions:
      throws java.security.KeyStoreException
    MethodParameters:
       Name  Flags
      alias  
      cert   

  public void engineDeleteEntry(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // com.sun.crypto.provider.JceKeyStore this
        start local 1 // java.lang.String alias
         0: .line 390
            aload 0 /* this */
            getfield com.sun.crypto.provider.JceKeyStore.entries:Ljava/util/Hashtable;
            dup
            astore 2
            monitorenter
         1: .line 391
            aload 0 /* this */
            getfield com.sun.crypto.provider.JceKeyStore.entries:Ljava/util/Hashtable;
            aload 1 /* alias */
            getstatic java.util.Locale.ENGLISH:Ljava/util/Locale;
            invokevirtual java.lang.String.toLowerCase:(Ljava/util/Locale;)Ljava/lang/String;
            invokevirtual java.util.Hashtable.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         2: .line 390
            aload 2
            monitorexit
         3: goto 6
      StackMap locals: com.sun.crypto.provider.JceKeyStore java.lang.String java.util.Hashtable
      StackMap stack: java.lang.Throwable
         4: aload 2
            monitorexit
         5: athrow
         6: .line 393
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.lang.String alias
        end local 0 // com.sun.crypto.provider.JceKeyStore this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    7     0   this  Lcom/sun/crypto/provider/JceKeyStore;
            0    7     1  alias  Ljava/lang/String;
      Exception table:
        from    to  target  type
           1     3       4  any
           4     5       4  any
    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 // com.sun.crypto.provider.JceKeyStore this
         0: .line 401
            aload 0 /* this */
            getfield com.sun.crypto.provider.JceKeyStore.entries:Ljava/util/Hashtable;
            invokevirtual java.util.Hashtable.keys:()Ljava/util/Enumeration;
            areturn
        end local 0 // com.sun.crypto.provider.JceKeyStore this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/crypto/provider/JceKeyStore;
    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 // com.sun.crypto.provider.JceKeyStore this
        start local 1 // java.lang.String alias
         0: .line 412
            aload 0 /* this */
            getfield com.sun.crypto.provider.JceKeyStore.entries:Ljava/util/Hashtable;
            aload 1 /* alias */
            getstatic java.util.Locale.ENGLISH:Ljava/util/Locale;
            invokevirtual java.lang.String.toLowerCase:(Ljava/util/Locale;)Ljava/lang/String;
            invokevirtual java.util.Hashtable.containsKey:(Ljava/lang/Object;)Z
            ireturn
        end local 1 // java.lang.String alias
        end local 0 // com.sun.crypto.provider.JceKeyStore this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lcom/sun/crypto/provider/JceKeyStore;
            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 // com.sun.crypto.provider.JceKeyStore this
         0: .line 421
            aload 0 /* this */
            getfield com.sun.crypto.provider.JceKeyStore.entries:Ljava/util/Hashtable;
            invokevirtual java.util.Hashtable.size:()I
            ireturn
        end local 0 // com.sun.crypto.provider.JceKeyStore this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/crypto/provider/JceKeyStore;

  public boolean engineIsKeyEntry(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // com.sun.crypto.provider.JceKeyStore this
        start local 1 // java.lang.String alias
         0: .line 432
            iconst_0
            istore 2 /* isKey */
        start local 2 // boolean isKey
         1: .line 434
            aload 0 /* this */
            getfield com.sun.crypto.provider.JceKeyStore.entries:Ljava/util/Hashtable;
            aload 1 /* alias */
            getstatic java.util.Locale.ENGLISH:Ljava/util/Locale;
            invokevirtual java.lang.String.toLowerCase:(Ljava/util/Locale;)Ljava/lang/String;
            invokevirtual java.util.Hashtable.get:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 3 /* entry */
        start local 3 // java.lang.Object entry
         2: .line 435
            aload 3 /* entry */
            instanceof com.sun.crypto.provider.JceKeyStore$PrivateKeyEntry
            ifne 4
         3: .line 436
            aload 3 /* entry */
            instanceof com.sun.crypto.provider.JceKeyStore$SecretKeyEntry
            ifeq 5
         4: .line 437
      StackMap locals: int java.lang.Object
      StackMap stack:
            iconst_1
            istore 2 /* isKey */
         5: .line 440
      StackMap locals:
      StackMap stack:
            iload 2 /* isKey */
            ireturn
        end local 3 // java.lang.Object entry
        end local 2 // boolean isKey
        end local 1 // java.lang.String alias
        end local 0 // com.sun.crypto.provider.JceKeyStore this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    6     0   this  Lcom/sun/crypto/provider/JceKeyStore;
            0    6     1  alias  Ljava/lang/String;
            1    6     2  isKey  Z
            2    6     3  entry  Ljava/lang/Object;
    MethodParameters:
       Name  Flags
      alias  

  public boolean engineIsCertificateEntry(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // com.sun.crypto.provider.JceKeyStore this
        start local 1 // java.lang.String alias
         0: .line 451
            iconst_0
            istore 2 /* isCert */
        start local 2 // boolean isCert
         1: .line 452
            aload 0 /* this */
            getfield com.sun.crypto.provider.JceKeyStore.entries:Ljava/util/Hashtable;
            aload 1 /* alias */
            getstatic java.util.Locale.ENGLISH:Ljava/util/Locale;
            invokevirtual java.lang.String.toLowerCase:(Ljava/util/Locale;)Ljava/lang/String;
            invokevirtual java.util.Hashtable.get:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 3 /* entry */
        start local 3 // java.lang.Object entry
         2: .line 453
            aload 3 /* entry */
            instanceof com.sun.crypto.provider.JceKeyStore$TrustedCertEntry
            ifeq 4
         3: .line 454
            iconst_1
            istore 2 /* isCert */
         4: .line 456
      StackMap locals: int java.lang.Object
      StackMap stack:
            iload 2 /* isCert */
            ireturn
        end local 3 // java.lang.Object entry
        end local 2 // boolean isCert
        end local 1 // java.lang.String alias
        end local 0 // com.sun.crypto.provider.JceKeyStore this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0    this  Lcom/sun/crypto/provider/JceKeyStore;
            0    5     1   alias  Ljava/lang/String;
            1    5     2  isCert  Z
            2    5     3   entry  Ljava/lang/Object;
    MethodParameters:
       Name  Flags
      alias  

  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 // com.sun.crypto.provider.JceKeyStore this
        start local 1 // java.security.cert.Certificate cert
         0: .line 478
            aload 0 /* this */
            getfield com.sun.crypto.provider.JceKeyStore.entries:Ljava/util/Hashtable;
            invokevirtual java.util.Hashtable.keys:()Ljava/util/Enumeration;
            astore 3 /* e */
        start local 3 // java.util.Enumeration e
         1: .line 479
            goto 12
         2: .line 480
      StackMap locals: com.sun.crypto.provider.JceKeyStore java.security.cert.Certificate top 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
         3: .line 481
            aload 0 /* this */
            getfield com.sun.crypto.provider.JceKeyStore.entries:Ljava/util/Hashtable;
            aload 4 /* alias */
            invokevirtual java.util.Hashtable.get:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 5 /* entry */
        start local 5 // java.lang.Object entry
         4: .line 482
            aload 5 /* entry */
            instanceof com.sun.crypto.provider.JceKeyStore$TrustedCertEntry
            ifeq 7
         5: .line 483
            aload 5 /* entry */
            checkcast com.sun.crypto.provider.JceKeyStore$TrustedCertEntry
            getfield com.sun.crypto.provider.JceKeyStore$TrustedCertEntry.cert:Ljava/security/cert/Certificate;
            astore 2 /* certElem */
        start local 2 // java.security.cert.Certificate certElem
         6: .line 484
            goto 10
        end local 2 // java.security.cert.Certificate certElem
      StackMap locals: java.lang.String java.lang.Object
      StackMap stack:
         7: aload 5 /* entry */
            instanceof com.sun.crypto.provider.JceKeyStore$PrivateKeyEntry
            ifeq 12
         8: .line 485
            aload 5 /* entry */
            checkcast com.sun.crypto.provider.JceKeyStore$PrivateKeyEntry
            getfield com.sun.crypto.provider.JceKeyStore$PrivateKeyEntry.chain:[Ljava/security/cert/Certificate;
            ifnull 12
         9: .line 486
            aload 5 /* entry */
            checkcast com.sun.crypto.provider.JceKeyStore$PrivateKeyEntry
            getfield com.sun.crypto.provider.JceKeyStore$PrivateKeyEntry.chain:[Ljava/security/cert/Certificate;
            iconst_0
            aaload
            astore 2 /* certElem */
        start local 2 // java.security.cert.Certificate certElem
        10: .line 490
      StackMap locals: com.sun.crypto.provider.JceKeyStore java.security.cert.Certificate java.security.cert.Certificate java.util.Enumeration java.lang.String java.lang.Object
      StackMap stack:
            aload 2 /* certElem */
            aload 1 /* cert */
            invokevirtual java.security.cert.Certificate.equals:(Ljava/lang/Object;)Z
            ifeq 12
        11: .line 491
            aload 4 /* alias */
            areturn
        end local 5 // java.lang.Object entry
        end local 4 // java.lang.String alias
        end local 2 // java.security.cert.Certificate certElem
        12: .line 479
      StackMap locals: com.sun.crypto.provider.JceKeyStore java.security.cert.Certificate top java.util.Enumeration
      StackMap stack:
            aload 3 /* e */
            invokeinterface java.util.Enumeration.hasMoreElements:()Z
            ifne 2
        13: .line 494
            aconst_null
            areturn
        end local 3 // java.util.Enumeration e
        end local 1 // java.security.cert.Certificate cert
        end local 0 // com.sun.crypto.provider.JceKeyStore this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   14     0      this  Lcom/sun/crypto/provider/JceKeyStore;
            0   14     1      cert  Ljava/security/cert/Certificate;
            6    7     2  certElem  Ljava/security/cert/Certificate;
           10   12     2  certElem  Ljava/security/cert/Certificate;
            1   14     3         e  Ljava/util/Enumeration<Ljava/lang/String;>;
            3   12     4     alias  Ljava/lang/String;
            4   12     5     entry  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      cert  

  public void engineStore(java.io.OutputStream, char[]);
    descriptor: (Ljava/io/OutputStream;[C)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=15, args_size=3
        start local 0 // com.sun.crypto.provider.JceKeyStore this
        start local 1 // java.io.OutputStream stream
        start local 2 // char[] password
         0: .line 513
            aload 0 /* this */
            getfield com.sun.crypto.provider.JceKeyStore.entries:Ljava/util/Hashtable;
            dup
            astore 3
            monitorenter
         1: .line 558
            aload 2 /* password */
            ifnonnull 3
         2: .line 559
            new java.lang.IllegalArgumentException
            dup
            ldc "password can't be null"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 564
      StackMap locals: java.util.Hashtable
      StackMap stack:
            aload 0 /* this */
            aload 2 /* password */
            invokevirtual com.sun.crypto.provider.JceKeyStore.getPreKeyedHash:([C)Ljava/security/MessageDigest;
            astore 5 /* md */
        start local 5 // java.security.MessageDigest md
         4: .line 566
            new java.io.DataOutputStream
            dup
            new java.security.DigestOutputStream
            dup
            aload 1 /* stream */
            aload 5 /* md */
            invokespecial java.security.DigestOutputStream.<init>:(Ljava/io/OutputStream;Ljava/security/MessageDigest;)V
            invokespecial java.io.DataOutputStream.<init>:(Ljava/io/OutputStream;)V
         5: .line 565
            astore 6 /* dos */
        start local 6 // java.io.DataOutputStream dos
         6: .line 569
            aconst_null
            astore 7 /* oos */
        start local 7 // java.io.ObjectOutputStream oos
         7: .line 571
            aload 6 /* dos */
            ldc -825307442
            invokevirtual java.io.DataOutputStream.writeInt:(I)V
         8: .line 572
            aload 6 /* dos */
            iconst_2
            invokevirtual java.io.DataOutputStream.writeInt:(I)V
         9: .line 574
            aload 6 /* dos */
            aload 0 /* this */
            getfield com.sun.crypto.provider.JceKeyStore.entries:Ljava/util/Hashtable;
            invokevirtual java.util.Hashtable.size:()I
            invokevirtual java.io.DataOutputStream.writeInt:(I)V
        10: .line 576
            aload 0 /* this */
            getfield com.sun.crypto.provider.JceKeyStore.entries:Ljava/util/Hashtable;
            invokevirtual java.util.Hashtable.keys:()Ljava/util/Enumeration;
            astore 8 /* e */
        start local 8 // java.util.Enumeration e
        11: .line 577
            goto 49
        12: .line 579
      StackMap locals: com.sun.crypto.provider.JceKeyStore java.io.OutputStream char[] java.util.Hashtable top java.security.MessageDigest java.io.DataOutputStream java.io.ObjectOutputStream java.util.Enumeration
      StackMap stack:
            aload 8 /* e */
            invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 9 /* alias */
        start local 9 // java.lang.String alias
        13: .line 580
            aload 0 /* this */
            getfield com.sun.crypto.provider.JceKeyStore.entries:Ljava/util/Hashtable;
            aload 9 /* alias */
            invokevirtual java.util.Hashtable.get:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 10 /* entry */
        start local 10 // java.lang.Object entry
        14: .line 582
            aload 10 /* entry */
            instanceof com.sun.crypto.provider.JceKeyStore$PrivateKeyEntry
            ifeq 35
        15: .line 584
            aload 10 /* entry */
            checkcast com.sun.crypto.provider.JceKeyStore$PrivateKeyEntry
            astore 11 /* pentry */
        start local 11 // com.sun.crypto.provider.JceKeyStore$PrivateKeyEntry pentry
        16: .line 587
            aload 6 /* dos */
            iconst_1
            invokevirtual java.io.DataOutputStream.writeInt:(I)V
        17: .line 590
            aload 6 /* dos */
            aload 9 /* alias */
            invokevirtual java.io.DataOutputStream.writeUTF:(Ljava/lang/String;)V
        18: .line 593
            aload 6 /* dos */
            aload 11 /* pentry */
            getfield com.sun.crypto.provider.JceKeyStore$PrivateKeyEntry.date:Ljava/util/Date;
            invokevirtual java.util.Date.getTime:()J
            invokevirtual java.io.DataOutputStream.writeLong:(J)V
        19: .line 596
            aload 6 /* dos */
            aload 11 /* pentry */
            getfield com.sun.crypto.provider.JceKeyStore$PrivateKeyEntry.protectedKey:[B
            arraylength
            invokevirtual java.io.DataOutputStream.writeInt:(I)V
        20: .line 597
            aload 6 /* dos */
            aload 11 /* pentry */
            getfield com.sun.crypto.provider.JceKeyStore$PrivateKeyEntry.protectedKey:[B
            invokevirtual java.io.DataOutputStream.write:([B)V
        21: .line 601
            aload 11 /* pentry */
            getfield com.sun.crypto.provider.JceKeyStore$PrivateKeyEntry.chain:[Ljava/security/cert/Certificate;
            ifnonnull 24
        22: .line 602
            iconst_0
            istore 12 /* chainLen */
        start local 12 // int chainLen
        23: .line 603
            goto 25
        end local 12 // int chainLen
        24: .line 604
      StackMap locals: java.lang.String java.lang.Object com.sun.crypto.provider.JceKeyStore$PrivateKeyEntry
      StackMap stack:
            aload 11 /* pentry */
            getfield com.sun.crypto.provider.JceKeyStore$PrivateKeyEntry.chain:[Ljava/security/cert/Certificate;
            arraylength
            istore 12 /* chainLen */
        start local 12 // int chainLen
        25: .line 606
      StackMap locals: int
      StackMap stack:
            aload 6 /* dos */
            iload 12 /* chainLen */
            invokevirtual java.io.DataOutputStream.writeInt:(I)V
        26: .line 607
            iconst_0
            istore 13 /* i */
        start local 13 // int i
        27: goto 33
        28: .line 608
      StackMap locals: int
      StackMap stack:
            aload 11 /* pentry */
            getfield com.sun.crypto.provider.JceKeyStore$PrivateKeyEntry.chain:[Ljava/security/cert/Certificate;
            iload 13 /* i */
            aaload
            invokevirtual java.security.cert.Certificate.getEncoded:()[B
            astore 4 /* encoded */
        start local 4 // byte[] encoded
        29: .line 609
            aload 6 /* dos */
            aload 11 /* pentry */
            getfield com.sun.crypto.provider.JceKeyStore$PrivateKeyEntry.chain:[Ljava/security/cert/Certificate;
            iload 13 /* i */
            aaload
            invokevirtual java.security.cert.Certificate.getType:()Ljava/lang/String;
            invokevirtual java.io.DataOutputStream.writeUTF:(Ljava/lang/String;)V
        30: .line 610
            aload 6 /* dos */
            aload 4 /* encoded */
            arraylength
            invokevirtual java.io.DataOutputStream.writeInt:(I)V
        31: .line 611
            aload 6 /* dos */
            aload 4 /* encoded */
            invokevirtual java.io.DataOutputStream.write:([B)V
        32: .line 607
            iinc 13 /* i */ 1
        end local 4 // byte[] encoded
      StackMap locals:
      StackMap stack:
        33: iload 13 /* i */
            iload 12 /* chainLen */
            if_icmplt 28
        end local 13 // int i
        end local 12 // int chainLen
        end local 11 // com.sun.crypto.provider.JceKeyStore$PrivateKeyEntry pentry
        34: .line 614
            goto 49
      StackMap locals:
      StackMap stack:
        35: aload 10 /* entry */
            instanceof com.sun.crypto.provider.JceKeyStore$TrustedCertEntry
            ifeq 44
        36: .line 617
            aload 6 /* dos */
            iconst_2
            invokevirtual java.io.DataOutputStream.writeInt:(I)V
        37: .line 620
            aload 6 /* dos */
            aload 9 /* alias */
            invokevirtual java.io.DataOutputStream.writeUTF:(Ljava/lang/String;)V
        38: .line 623
            aload 6 /* dos */
            aload 10 /* entry */
            checkcast com.sun.crypto.provider.JceKeyStore$TrustedCertEntry
            getfield com.sun.crypto.provider.JceKeyStore$TrustedCertEntry.date:Ljava/util/Date;
            invokevirtual java.util.Date.getTime:()J
            invokevirtual java.io.DataOutputStream.writeLong:(J)V
        39: .line 626
            aload 10 /* entry */
            checkcast com.sun.crypto.provider.JceKeyStore$TrustedCertEntry
            getfield com.sun.crypto.provider.JceKeyStore$TrustedCertEntry.cert:Ljava/security/cert/Certificate;
            invokevirtual java.security.cert.Certificate.getEncoded:()[B
            astore 4 /* encoded */
        start local 4 // byte[] encoded
        40: .line 627
            aload 6 /* dos */
            aload 10 /* entry */
            checkcast com.sun.crypto.provider.JceKeyStore$TrustedCertEntry
            getfield com.sun.crypto.provider.JceKeyStore$TrustedCertEntry.cert:Ljava/security/cert/Certificate;
            invokevirtual java.security.cert.Certificate.getType:()Ljava/lang/String;
            invokevirtual java.io.DataOutputStream.writeUTF:(Ljava/lang/String;)V
        41: .line 628
            aload 6 /* dos */
            aload 4 /* encoded */
            arraylength
            invokevirtual java.io.DataOutputStream.writeInt:(I)V
        42: .line 629
            aload 6 /* dos */
            aload 4 /* encoded */
            invokevirtual java.io.DataOutputStream.write:([B)V
        43: .line 631
            goto 49
        end local 4 // byte[] encoded
        44: .line 634
      StackMap locals:
      StackMap stack:
            aload 6 /* dos */
            iconst_3
            invokevirtual java.io.DataOutputStream.writeInt:(I)V
        45: .line 637
            aload 6 /* dos */
            aload 9 /* alias */
            invokevirtual java.io.DataOutputStream.writeUTF:(Ljava/lang/String;)V
        46: .line 640
            aload 6 /* dos */
            aload 10 /* entry */
            checkcast com.sun.crypto.provider.JceKeyStore$SecretKeyEntry
            getfield com.sun.crypto.provider.JceKeyStore$SecretKeyEntry.date:Ljava/util/Date;
            invokevirtual java.util.Date.getTime:()J
            invokevirtual java.io.DataOutputStream.writeLong:(J)V
        47: .line 643
            new java.io.ObjectOutputStream
            dup
            aload 6 /* dos */
            invokespecial java.io.ObjectOutputStream.<init>:(Ljava/io/OutputStream;)V
            astore 7 /* oos */
        48: .line 644
            aload 7 /* oos */
            aload 10 /* entry */
            checkcast com.sun.crypto.provider.JceKeyStore$SecretKeyEntry
            getfield com.sun.crypto.provider.JceKeyStore$SecretKeyEntry.sealedKey:Ljavax/crypto/SealedObject;
            invokevirtual java.io.ObjectOutputStream.writeObject:(Ljava/lang/Object;)V
        end local 10 // java.lang.Object entry
        end local 9 // java.lang.String alias
        49: .line 577
      StackMap locals:
      StackMap stack:
            aload 8 /* e */
            invokeinterface java.util.Enumeration.hasMoreElements:()Z
            ifne 12
        50: .line 655
            aload 5 /* md */
            invokevirtual java.security.MessageDigest.digest:()[B
            astore 9 /* digest */
        start local 9 // byte[] digest
        51: .line 657
            aload 6 /* dos */
            aload 9 /* digest */
            invokevirtual java.io.DataOutputStream.write:([B)V
        52: .line 658
            aload 6 /* dos */
            invokevirtual java.io.DataOutputStream.flush:()V
        end local 9 // byte[] digest
        end local 8 // java.util.Enumeration e
        53: .line 659
            goto 60
      StackMap locals: com.sun.crypto.provider.JceKeyStore java.io.OutputStream char[] java.util.Hashtable top java.security.MessageDigest java.io.DataOutputStream java.io.ObjectOutputStream
      StackMap stack: java.lang.Throwable
        54: astore 14
        55: .line 660
            aload 7 /* oos */
            ifnull 58
        56: .line 661
            aload 7 /* oos */
            invokevirtual java.io.ObjectOutputStream.close:()V
        57: .line 662
            goto 59
        58: .line 663
      StackMap locals: com.sun.crypto.provider.JceKeyStore java.io.OutputStream char[] java.util.Hashtable top java.security.MessageDigest java.io.DataOutputStream java.io.ObjectOutputStream top top top top top top java.lang.Throwable
      StackMap stack:
            aload 6 /* dos */
            invokevirtual java.io.DataOutputStream.close:()V
        59: .line 665
      StackMap locals:
      StackMap stack:
            aload 14
            athrow
        60: .line 660
      StackMap locals: com.sun.crypto.provider.JceKeyStore java.io.OutputStream char[] java.util.Hashtable top java.security.MessageDigest java.io.DataOutputStream java.io.ObjectOutputStream
      StackMap stack:
            aload 7 /* oos */
            ifnull 63
        61: .line 661
            aload 7 /* oos */
            invokevirtual java.io.ObjectOutputStream.close:()V
        62: .line 662
            goto 64
        63: .line 663
      StackMap locals:
      StackMap stack:
            aload 6 /* dos */
            invokevirtual java.io.DataOutputStream.close:()V
        end local 7 // java.io.ObjectOutputStream oos
        end local 6 // java.io.DataOutputStream dos
        end local 5 // java.security.MessageDigest md
        64: .line 513
      StackMap locals: com.sun.crypto.provider.JceKeyStore java.io.OutputStream char[] java.util.Hashtable
      StackMap stack:
            aload 3
            monitorexit
        65: goto 68
      StackMap locals:
      StackMap stack: java.lang.Throwable
        66: aload 3
            monitorexit
        67: athrow
        68: .line 667
      StackMap locals:
      StackMap stack:
            return
        end local 2 // char[] password
        end local 1 // java.io.OutputStream stream
        end local 0 // com.sun.crypto.provider.JceKeyStore this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   69     0      this  Lcom/sun/crypto/provider/JceKeyStore;
            0   69     1    stream  Ljava/io/OutputStream;
            0   69     2  password  [C
           29   33     4   encoded  [B
           40   44     4   encoded  [B
            4   64     5        md  Ljava/security/MessageDigest;
            6   64     6       dos  Ljava/io/DataOutputStream;
            7   64     7       oos  Ljava/io/ObjectOutputStream;
           11   53     8         e  Ljava/util/Enumeration<Ljava/lang/String;>;
           13   49     9     alias  Ljava/lang/String;
           14   49    10     entry  Ljava/lang/Object;
           16   34    11    pentry  Lcom/sun/crypto/provider/JceKeyStore$PrivateKeyEntry;
           23   24    12  chainLen  I
           25   34    12  chainLen  I
           27   34    13         i  I
           51   53     9    digest  [B
      Exception table:
        from    to  target  type
           7    54      54  any
           1    65      66  any
          66    67      66  any
    Exceptions:
      throws java.io.IOException, java.security.NoSuchAlgorithmException, java.security.cert.CertificateException
    MethodParameters:
          Name  Flags
      stream    
      password  

  public void engineLoad(java.io.InputStream, char[]);
    descriptor: (Ljava/io/InputStream;[C)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=28, args_size=3
        start local 0 // com.sun.crypto.provider.JceKeyStore this
        start local 1 // java.io.InputStream stream
        start local 2 // char[] password
         0: .line 689
            aload 0 /* this */
            getfield com.sun.crypto.provider.JceKeyStore.entries:Ljava/util/Hashtable;
            dup
            astore 3
            monitorenter
         1: .line 691
            aconst_null
            astore 5 /* md */
        start local 5 // java.security.MessageDigest md
         2: .line 692
            aconst_null
            astore 6 /* cf */
        start local 6 // java.security.cert.CertificateFactory cf
         3: .line 693
            aconst_null
            astore 7 /* cfs */
        start local 7 // java.util.Hashtable cfs
         4: .line 694
            aconst_null
            astore 8 /* bais */
        start local 8 // java.io.ByteArrayInputStream bais
         5: .line 695
            aconst_null
            astore 9 /* encoded */
        start local 9 // byte[] encoded
         6: .line 696
            iconst_0
            istore 10 /* trustedKeyCount */
        start local 10 // int trustedKeyCount
         7: iconst_0
            istore 11 /* privateKeyCount */
        start local 11 // int privateKeyCount
         8: iconst_0
            istore 12 /* secretKeyCount */
        start local 12 // int secretKeyCount
         9: .line 698
            aload 1 /* stream */
            ifnonnull 12
        10: .line 699
            aload 3
            monitorexit
        11: return
        12: .line 701
      StackMap locals: com.sun.crypto.provider.JceKeyStore java.io.InputStream char[] java.util.Hashtable top java.security.MessageDigest java.security.cert.CertificateFactory java.util.Hashtable java.io.ByteArrayInputStream byte[] int int int
      StackMap stack:
            aload 1 /* stream */
            invokevirtual java.io.InputStream.readAllBytes:()[B
            astore 13 /* allData */
        start local 13 // byte[] allData
        13: .line 702
            aload 13 /* allData */
            arraylength
            istore 14 /* fullLength */
        start local 14 // int fullLength
        14: .line 704
            new java.io.ByteArrayInputStream
            dup
            aload 13 /* allData */
            invokespecial java.io.ByteArrayInputStream.<init>:([B)V
            astore 1 /* stream */
        15: .line 705
            aload 2 /* password */
            ifnull 19
        16: .line 706
            aload 0 /* this */
            aload 2 /* password */
            invokevirtual com.sun.crypto.provider.JceKeyStore.getPreKeyedHash:([C)Ljava/security/MessageDigest;
            astore 5 /* md */
        17: .line 707
            new java.io.DataInputStream
            dup
            new java.security.DigestInputStream
            dup
            aload 1 /* stream */
            aload 5 /* md */
            invokespecial java.security.DigestInputStream.<init>:(Ljava/io/InputStream;Ljava/security/MessageDigest;)V
            invokespecial java.io.DataInputStream.<init>:(Ljava/io/InputStream;)V
            astore 4 /* dis */
        start local 4 // java.io.DataInputStream dis
        18: .line 708
            goto 20
        end local 4 // java.io.DataInputStream dis
        19: .line 709
      StackMap locals: byte[] int
      StackMap stack:
            new java.io.DataInputStream
            dup
            aload 1 /* stream */
            invokespecial java.io.DataInputStream.<init>:(Ljava/io/InputStream;)V
            astore 4 /* dis */
        start local 4 // java.io.DataInputStream dis
        20: .line 713
      StackMap locals: com.sun.crypto.provider.JceKeyStore java.io.InputStream char[] java.util.Hashtable java.io.DataInputStream java.security.MessageDigest java.security.cert.CertificateFactory java.util.Hashtable java.io.ByteArrayInputStream byte[] int int int byte[] int
      StackMap stack:
            aconst_null
            astore 15 /* ois */
        start local 15 // java.io.ObjectInputStream ois
        21: .line 718
            aload 4 /* dis */
            invokevirtual java.io.DataInputStream.readInt:()I
            istore 16 /* xMagic */
        start local 16 // int xMagic
        22: .line 719
            aload 4 /* dis */
            invokevirtual java.io.DataInputStream.readInt:()I
            istore 17 /* xVersion */
        start local 17 // int xVersion
        23: .line 725
            iload 16 /* xMagic */
            ldc -825307442
            if_icmpeq 24
            iload 16 /* xMagic */
            ldc -17957139
            if_icmpne 25
        24: .line 726
      StackMap locals: java.io.ObjectInputStream int int
      StackMap stack:
            iload 17 /* xVersion */
            iconst_1
            if_icmpeq 26
            iload 17 /* xVersion */
            iconst_2
            if_icmpeq 26
        25: .line 727
      StackMap locals:
      StackMap stack:
            new java.io.IOException
            dup
            ldc "Invalid keystore format"
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
        26: .line 730
      StackMap locals:
      StackMap stack:
            iload 17 /* xVersion */
            iconst_1
            if_icmpne 29
        27: .line 731
            ldc "X509"
            invokestatic java.security.cert.CertificateFactory.getInstance:(Ljava/lang/String;)Ljava/security/cert/CertificateFactory;
            astore 6 /* cf */
        28: .line 732
            goto 30
        29: .line 734
      StackMap locals:
      StackMap stack:
            new java.util.Hashtable
            dup
            iconst_3
            invokespecial java.util.Hashtable.<init>:(I)V
            astore 7 /* cfs */
        30: .line 737
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.crypto.provider.JceKeyStore.entries:Ljava/util/Hashtable;
            invokevirtual java.util.Hashtable.clear:()V
        31: .line 738
            aload 4 /* dis */
            invokevirtual java.io.DataInputStream.readInt:()I
            istore 18 /* count */
        start local 18 // int count
        32: .line 740
            iconst_0
            istore 19 /* i */
        start local 19 // int i
        33: goto 102
        34: .line 744
      StackMap locals: int int
      StackMap stack:
            aload 4 /* dis */
            invokevirtual java.io.DataInputStream.readInt:()I
            istore 20 /* tag */
        start local 20 // int tag
        35: .line 746
            iload 20 /* tag */
            iconst_1
            if_icmpne 63
        36: .line 747
            iinc 11 /* privateKeyCount */ 1
        37: .line 748
            new com.sun.crypto.provider.JceKeyStore$PrivateKeyEntry
            dup
            invokespecial com.sun.crypto.provider.JceKeyStore$PrivateKeyEntry.<init>:()V
            astore 22 /* entry */
        start local 22 // com.sun.crypto.provider.JceKeyStore$PrivateKeyEntry entry
        38: .line 751
            aload 4 /* dis */
            invokevirtual java.io.DataInputStream.readUTF:()Ljava/lang/String;
            astore 21 /* alias */
        start local 21 // java.lang.String alias
        39: .line 754
            aload 22 /* entry */
            new java.util.Date
            dup
            aload 4 /* dis */
            invokevirtual java.io.DataInputStream.readLong:()J
            invokespecial java.util.Date.<init>:(J)V
            putfield com.sun.crypto.provider.JceKeyStore$PrivateKeyEntry.date:Ljava/util/Date;
        40: .line 757
            aload 22 /* entry */
            aload 4 /* dis */
            aload 4 /* dis */
            invokevirtual java.io.DataInputStream.readInt:()I
            invokestatic sun.security.util.IOUtils.readExactlyNBytes:(Ljava/io/InputStream;I)[B
            putfield com.sun.crypto.provider.JceKeyStore$PrivateKeyEntry.protectedKey:[B
        41: .line 760
            aload 4 /* dis */
            invokevirtual java.io.DataInputStream.readInt:()I
            istore 23 /* numOfCerts */
        start local 23 // int numOfCerts
        42: .line 761
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 24 /* tmpCerts */
        start local 24 // java.util.List tmpCerts
        43: .line 762
            iconst_0
            istore 25 /* j */
        start local 25 // int j
        44: goto 57
        45: .line 763
      StackMap locals: com.sun.crypto.provider.JceKeyStore java.io.InputStream char[] java.util.Hashtable java.io.DataInputStream java.security.MessageDigest java.security.cert.CertificateFactory java.util.Hashtable java.io.ByteArrayInputStream byte[] int int int byte[] int java.io.ObjectInputStream int int int int int java.lang.String com.sun.crypto.provider.JceKeyStore$PrivateKeyEntry int java.util.List int
      StackMap stack:
            iload 17 /* xVersion */
            iconst_2
            if_icmpne 53
        46: .line 767
            aload 4 /* dis */
            invokevirtual java.io.DataInputStream.readUTF:()Ljava/lang/String;
            astore 26 /* certType */
        start local 26 // java.lang.String certType
        47: .line 768
            aload 7 /* cfs */
            aload 26 /* certType */
            invokevirtual java.util.Hashtable.containsKey:(Ljava/lang/Object;)Z
            ifeq 50
        48: .line 770
            aload 7 /* cfs */
            aload 26 /* certType */
            invokevirtual java.util.Hashtable.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.security.cert.CertificateFactory
            astore 6 /* cf */
        49: .line 771
            goto 53
        50: .line 774
      StackMap locals: java.lang.String
      StackMap stack:
            aload 26 /* certType */
        51: .line 773
            invokestatic java.security.cert.CertificateFactory.getInstance:(Ljava/lang/String;)Ljava/security/cert/CertificateFactory;
            astore 6 /* cf */
        52: .line 777
            aload 7 /* cfs */
            aload 26 /* certType */
            aload 6 /* cf */
            invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 26 // java.lang.String certType
        53: .line 781
      StackMap locals:
      StackMap stack:
            aload 4 /* dis */
            aload 4 /* dis */
            invokevirtual java.io.DataInputStream.readInt:()I
            invokestatic sun.security.util.IOUtils.readExactlyNBytes:(Ljava/io/InputStream;I)[B
            astore 9 /* encoded */
        54: .line 782
            new java.io.ByteArrayInputStream
            dup
            aload 9 /* encoded */
            invokespecial java.io.ByteArrayInputStream.<init>:([B)V
            astore 8 /* bais */
        55: .line 783
            aload 24 /* tmpCerts */
            aload 6 /* cf */
            aload 8 /* bais */
            invokevirtual java.security.cert.CertificateFactory.generateCertificate:(Ljava/io/InputStream;)Ljava/security/cert/Certificate;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        56: .line 762
            iinc 25 /* j */ 1
      StackMap locals:
      StackMap stack:
        57: iload 25 /* j */
            iload 23 /* numOfCerts */
            if_icmplt 45
        end local 25 // int j
        58: .line 785
            aload 22 /* entry */
            aload 24 /* tmpCerts */
        59: .line 786
            iload 23 /* numOfCerts */
            anewarray java.security.cert.Certificate
        60: .line 785
            invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast java.security.cert.Certificate[]
            putfield com.sun.crypto.provider.JceKeyStore$PrivateKeyEntry.chain:[Ljava/security/cert/Certificate;
        61: .line 789
            aload 0 /* this */
            getfield com.sun.crypto.provider.JceKeyStore.entries:Ljava/util/Hashtable;
            aload 21 /* alias */
            aload 22 /* entry */
            invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 24 // java.util.List tmpCerts
        end local 23 // int numOfCerts
        end local 22 // com.sun.crypto.provider.JceKeyStore$PrivateKeyEntry entry
        62: .line 791
            goto 101
        end local 21 // java.lang.String alias
      StackMap locals: com.sun.crypto.provider.JceKeyStore java.io.InputStream char[] java.util.Hashtable java.io.DataInputStream java.security.MessageDigest java.security.cert.CertificateFactory java.util.Hashtable java.io.ByteArrayInputStream byte[] int int int byte[] int java.io.ObjectInputStream int int int int int
      StackMap stack:
        63: iload 20 /* tag */
            iconst_2
            if_icmpne 80
        64: .line 792
            iinc 10 /* trustedKeyCount */ 1
        65: .line 793
            new com.sun.crypto.provider.JceKeyStore$TrustedCertEntry
            dup
            invokespecial com.sun.crypto.provider.JceKeyStore$TrustedCertEntry.<init>:()V
            astore 22 /* entry */
        start local 22 // com.sun.crypto.provider.JceKeyStore$TrustedCertEntry entry
        66: .line 796
            aload 4 /* dis */
            invokevirtual java.io.DataInputStream.readUTF:()Ljava/lang/String;
            astore 21 /* alias */
        start local 21 // java.lang.String alias
        67: .line 799
            aload 22 /* entry */
            new java.util.Date
            dup
            aload 4 /* dis */
            invokevirtual java.io.DataInputStream.readLong:()J
            invokespecial java.util.Date.<init>:(J)V
            putfield com.sun.crypto.provider.JceKeyStore$TrustedCertEntry.date:Ljava/util/Date;
        68: .line 802
            iload 17 /* xVersion */
            iconst_2
            if_icmpne 75
        69: .line 806
            aload 4 /* dis */
            invokevirtual java.io.DataInputStream.readUTF:()Ljava/lang/String;
            astore 23 /* certType */
        start local 23 // java.lang.String certType
        70: .line 807
            aload 7 /* cfs */
            aload 23 /* certType */
            invokevirtual java.util.Hashtable.containsKey:(Ljava/lang/Object;)Z
            ifeq 73
        71: .line 809
            aload 7 /* cfs */
            aload 23 /* certType */
            invokevirtual java.util.Hashtable.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.security.cert.CertificateFactory
            astore 6 /* cf */
        72: .line 810
            goto 75
        73: .line 812
      StackMap locals: java.lang.String com.sun.crypto.provider.JceKeyStore$TrustedCertEntry java.lang.String
      StackMap stack:
            aload 23 /* certType */
            invokestatic java.security.cert.CertificateFactory.getInstance:(Ljava/lang/String;)Ljava/security/cert/CertificateFactory;
            astore 6 /* cf */
        74: .line 815
            aload 7 /* cfs */
            aload 23 /* certType */
            aload 6 /* cf */
            invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 23 // java.lang.String certType
        75: .line 818
      StackMap locals:
      StackMap stack:
            aload 4 /* dis */
            aload 4 /* dis */
            invokevirtual java.io.DataInputStream.readInt:()I
            invokestatic sun.security.util.IOUtils.readExactlyNBytes:(Ljava/io/InputStream;I)[B
            astore 9 /* encoded */
        76: .line 819
            new java.io.ByteArrayInputStream
            dup
            aload 9 /* encoded */
            invokespecial java.io.ByteArrayInputStream.<init>:([B)V
            astore 8 /* bais */
        77: .line 820
            aload 22 /* entry */
            aload 6 /* cf */
            aload 8 /* bais */
            invokevirtual java.security.cert.CertificateFactory.generateCertificate:(Ljava/io/InputStream;)Ljava/security/cert/Certificate;
            putfield com.sun.crypto.provider.JceKeyStore$TrustedCertEntry.cert:Ljava/security/cert/Certificate;
        78: .line 823
            aload 0 /* this */
            getfield com.sun.crypto.provider.JceKeyStore.entries:Ljava/util/Hashtable;
            aload 21 /* alias */
            aload 22 /* entry */
            invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 22 // com.sun.crypto.provider.JceKeyStore$TrustedCertEntry entry
        79: .line 825
            goto 101
        end local 21 // java.lang.String alias
      StackMap locals:
      StackMap stack:
        80: iload 20 /* tag */
            iconst_3
            if_icmpne 98
        81: .line 826
            iinc 12 /* secretKeyCount */ 1
        82: .line 827
            new com.sun.crypto.provider.JceKeyStore$SecretKeyEntry
            dup
            invokespecial com.sun.crypto.provider.JceKeyStore$SecretKeyEntry.<init>:()V
            astore 22 /* entry */
        start local 22 // com.sun.crypto.provider.JceKeyStore$SecretKeyEntry entry
        83: .line 830
            aload 4 /* dis */
            invokevirtual java.io.DataInputStream.readUTF:()Ljava/lang/String;
            astore 21 /* alias */
        start local 21 // java.lang.String alias
        84: .line 833
            aload 22 /* entry */
            new java.util.Date
            dup
            aload 4 /* dis */
            invokevirtual java.io.DataInputStream.readLong:()J
            invokespecial java.util.Date.<init>:(J)V
            putfield com.sun.crypto.provider.JceKeyStore$SecretKeyEntry.date:Ljava/util/Date;
        85: .line 837
            new java.io.ObjectInputStream
            dup
            aload 4 /* dis */
            invokespecial java.io.ObjectInputStream.<init>:(Ljava/io/InputStream;)V
            astore 15 /* ois */
        86: .line 838
            aload 15 /* ois */
            astore 23 /* ois2 */
        start local 23 // java.io.ObjectInputStream ois2
        87: .line 841
            aload 23 /* ois2 */
            iload 14 /* fullLength */
            invokedynamic run(Ljava/io/ObjectInputStream;I)Ljava/security/PrivilegedAction;
              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:
                  ()Ljava/lang/Object;
                  com/sun/crypto/provider/JceKeyStore.lambda$0(Ljava/io/ObjectInputStream;I)Ljava/lang/Void; (6)
                  ()Ljava/lang/Void;
        88: .line 840
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            pop
        89: .line 846
            aload 22 /* entry */
            aload 15 /* ois */
            invokevirtual java.io.ObjectInputStream.readObject:()Ljava/lang/Object;
            checkcast javax.crypto.SealedObject
            putfield com.sun.crypto.provider.JceKeyStore$SecretKeyEntry.sealedKey:Ljavax/crypto/SealedObject;
        90: .line 847
            aload 22 /* entry */
            iload 14 /* fullLength */
            putfield com.sun.crypto.provider.JceKeyStore$SecretKeyEntry.maxLength:I
        end local 23 // java.io.ObjectInputStream ois2
        91: .line 850
            goto 96
      StackMap locals: com.sun.crypto.provider.JceKeyStore java.io.InputStream char[] java.util.Hashtable java.io.DataInputStream java.security.MessageDigest java.security.cert.CertificateFactory java.util.Hashtable java.io.ByteArrayInputStream byte[] int int int byte[] int java.io.ObjectInputStream int int int int int java.lang.String com.sun.crypto.provider.JceKeyStore$SecretKeyEntry
      StackMap stack: java.lang.ClassNotFoundException
        92: astore 23 /* cnfe */
        start local 23 // java.lang.ClassNotFoundException cnfe
        93: .line 851
            new java.io.IOException
            dup
            aload 23 /* cnfe */
            invokevirtual java.lang.ClassNotFoundException.getMessage:()Ljava/lang/String;
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
        end local 23 // java.lang.ClassNotFoundException cnfe
        94: .line 852
      StackMap locals:
      StackMap stack: java.io.InvalidClassException
            pop
        95: .line 853
            new java.io.IOException
            dup
            ldc "Invalid secret key format"
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
        96: .line 857
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.crypto.provider.JceKeyStore.entries:Ljava/util/Hashtable;
            aload 21 /* alias */
            aload 22 /* entry */
            invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 22 // com.sun.crypto.provider.JceKeyStore$SecretKeyEntry entry
        97: .line 859
            goto 101
        end local 21 // java.lang.String alias
        98: .line 860
      StackMap locals:
      StackMap stack:
            new java.io.IOException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Unrecognized keystore entry: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        99: .line 861
            iload 20 /* tag */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
       100: .line 860
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
        end local 20 // int tag
       101: .line 740
      StackMap locals:
      StackMap stack:
            iinc 19 /* i */ 1
      StackMap locals:
      StackMap stack:
       102: iload 19 /* i */
            iload 18 /* count */
            if_icmplt 34
        end local 19 // int i
       103: .line 865
            getstatic com.sun.crypto.provider.JceKeyStore.debug:Lsun/security/util/Debug;
            ifnull 109
       104: .line 866
            getstatic com.sun.crypto.provider.JceKeyStore.debug:Lsun/security/util/Debug;
            new java.lang.StringBuilder
            dup
            ldc "JceKeyStore load: private key count: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
       105: .line 867
            iload 11 /* privateKeyCount */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc ". trusted key count: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
       106: .line 868
            iload 10 /* trustedKeyCount */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc ". secret key count: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
       107: .line 869
            iload 12 /* secretKeyCount */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
       108: .line 866
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
       109: .line 877
      StackMap locals:
      StackMap stack:
            aload 2 /* password */
            ifnull 125
       110: .line 878
            aload 5 /* md */
            invokevirtual java.security.MessageDigest.digest:()[B
            astore 19 /* computed */
        start local 19 // byte[] computed
       111: .line 879
            aload 4 /* dis */
            aload 19 /* computed */
            arraylength
            invokestatic sun.security.util.IOUtils.readExactlyNBytes:(Ljava/io/InputStream;I)[B
            astore 20 /* actual */
        start local 20 // byte[] actual
       112: .line 880
            aload 19 /* computed */
            aload 20 /* actual */
            invokestatic java.security.MessageDigest.isEqual:([B[B)Z
            ifne 125
       113: .line 881
            new java.io.IOException
            dup
       114: .line 882
            ldc "Keystore was tampered with, or password was incorrect"
       115: .line 884
            new java.security.UnrecoverableKeyException
            dup
       116: .line 885
            ldc "Password verification failed"
       117: .line 884
            invokespecial java.security.UnrecoverableKeyException.<init>:(Ljava/lang/String;)V
       118: .line 881
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 20 // byte[] actual
        end local 19 // byte[] computed
        end local 18 // int count
        end local 17 // int xVersion
        end local 16 // int xMagic
       119: .line 888
      StackMap locals: com.sun.crypto.provider.JceKeyStore java.io.InputStream char[] java.util.Hashtable java.io.DataInputStream java.security.MessageDigest java.security.cert.CertificateFactory java.util.Hashtable java.io.ByteArrayInputStream byte[] int int int byte[] int java.io.ObjectInputStream
      StackMap stack: java.lang.Throwable
            astore 27
       120: .line 889
            aload 15 /* ois */
            ifnull 123
       121: .line 890
            aload 15 /* ois */
            invokevirtual java.io.ObjectInputStream.close:()V
       122: .line 891
            goto 124
       123: .line 892
      StackMap locals: com.sun.crypto.provider.JceKeyStore java.io.InputStream char[] java.util.Hashtable java.io.DataInputStream java.security.MessageDigest java.security.cert.CertificateFactory java.util.Hashtable java.io.ByteArrayInputStream byte[] int int int byte[] int java.io.ObjectInputStream top top top top top top top top top top top java.lang.Throwable
      StackMap stack:
            aload 4 /* dis */
            invokevirtual java.io.DataInputStream.close:()V
       124: .line 894
      StackMap locals:
      StackMap stack:
            aload 27
            athrow
       125: .line 889
      StackMap locals: com.sun.crypto.provider.JceKeyStore java.io.InputStream char[] java.util.Hashtable java.io.DataInputStream java.security.MessageDigest java.security.cert.CertificateFactory java.util.Hashtable java.io.ByteArrayInputStream byte[] int int int byte[] int java.io.ObjectInputStream
      StackMap stack:
            aload 15 /* ois */
            ifnull 128
       126: .line 890
            aload 15 /* ois */
            invokevirtual java.io.ObjectInputStream.close:()V
       127: .line 891
            goto 129
       128: .line 892
      StackMap locals:
      StackMap stack:
            aload 4 /* dis */
            invokevirtual java.io.DataInputStream.close:()V
        end local 15 // java.io.ObjectInputStream ois
        end local 14 // int fullLength
        end local 13 // byte[] allData
        end local 12 // int secretKeyCount
        end local 11 // int privateKeyCount
        end local 10 // int trustedKeyCount
        end local 9 // byte[] encoded
        end local 8 // java.io.ByteArrayInputStream bais
        end local 7 // java.util.Hashtable cfs
        end local 6 // java.security.cert.CertificateFactory cf
        end local 5 // java.security.MessageDigest md
        end local 4 // java.io.DataInputStream dis
       129: .line 689
      StackMap locals: com.sun.crypto.provider.JceKeyStore java.io.InputStream char[] java.util.Hashtable
      StackMap stack:
            aload 3
            monitorexit
       130: goto 133
      StackMap locals:
      StackMap stack: java.lang.Throwable
       131: aload 3
            monitorexit
       132: athrow
       133: .line 896
      StackMap locals:
      StackMap stack:
            return
        end local 2 // char[] password
        end local 1 // java.io.InputStream stream
        end local 0 // com.sun.crypto.provider.JceKeyStore this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0  134     0             this  Lcom/sun/crypto/provider/JceKeyStore;
            0  134     1           stream  Ljava/io/InputStream;
            0  134     2         password  [C
           18   19     4              dis  Ljava/io/DataInputStream;
           20  129     4              dis  Ljava/io/DataInputStream;
            2  129     5               md  Ljava/security/MessageDigest;
            3  129     6               cf  Ljava/security/cert/CertificateFactory;
            4  129     7              cfs  Ljava/util/Hashtable<Ljava/lang/String;Ljava/security/cert/CertificateFactory;>;
            5  129     8             bais  Ljava/io/ByteArrayInputStream;
            6  129     9          encoded  [B
            7  129    10  trustedKeyCount  I
            8  129    11  privateKeyCount  I
            9  129    12   secretKeyCount  I
           13  129    13          allData  [B
           14  129    14       fullLength  I
           21  129    15              ois  Ljava/io/ObjectInputStream;
           22  119    16           xMagic  I
           23  119    17         xVersion  I
           32  119    18            count  I
           33  103    19                i  I
           35  101    20              tag  I
           39   63    21            alias  Ljava/lang/String;
           67   80    21            alias  Ljava/lang/String;
           84   98    21            alias  Ljava/lang/String;
           38   62    22            entry  Lcom/sun/crypto/provider/JceKeyStore$PrivateKeyEntry;
           42   62    23       numOfCerts  I
           43   62    24         tmpCerts  Ljava/util/List<Ljava/security/cert/Certificate;>;
           44   58    25                j  I
           47   53    26         certType  Ljava/lang/String;
           66   79    22            entry  Lcom/sun/crypto/provider/JceKeyStore$TrustedCertEntry;
           70   75    23         certType  Ljava/lang/String;
           83   97    22            entry  Lcom/sun/crypto/provider/JceKeyStore$SecretKeyEntry;
           87   91    23             ois2  Ljava/io/ObjectInputStream;
           93   94    23             cnfe  Ljava/lang/ClassNotFoundException;
          111  119    19         computed  [B
          112  119    20           actual  [B
      Exception table:
        from    to  target  type
          85    91      92  Class java.lang.ClassNotFoundException
          85    91      94  Class java.io.InvalidClassException
          21   119     119  any
           1    11     131  any
          12   130     131  any
         131   132     131  any
    Exceptions:
      throws java.io.IOException, java.security.NoSuchAlgorithmException, java.security.cert.CertificateException
    MethodParameters:
          Name  Flags
      stream    
      password  

  private java.security.MessageDigest getPreKeyedHash(char[]);
    descriptor: ([C)Ljava/security/MessageDigest;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=6, args_size=2
        start local 0 // com.sun.crypto.provider.JceKeyStore this
        start local 1 // char[] password
         0: .line 907
            ldc "SHA"
            invokestatic java.security.MessageDigest.getInstance:(Ljava/lang/String;)Ljava/security/MessageDigest;
            astore 4 /* md */
        start local 4 // java.security.MessageDigest md
         1: .line 908
            aload 1 /* password */
            arraylength
            iconst_2
            imul
            newarray 8
            astore 5 /* passwdBytes */
        start local 5 // byte[] passwdBytes
         2: .line 909
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         3: iconst_0
            istore 3 /* j */
        start local 3 // int j
         4: goto 8
         5: .line 910
      StackMap locals: com.sun.crypto.provider.JceKeyStore char[] int int java.security.MessageDigest byte[]
      StackMap stack:
            aload 5 /* passwdBytes */
            iload 3 /* j */
            iinc 3 /* j */ 1
            aload 1 /* password */
            iload 2 /* i */
            caload
            bipush 8
            ishr
            i2b
            bastore
         6: .line 911
            aload 5 /* passwdBytes */
            iload 3 /* j */
            iinc 3 /* j */ 1
            aload 1 /* password */
            iload 2 /* i */
            caload
            i2b
            bastore
         7: .line 909
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         8: iload 2 /* i */
            aload 1 /* password */
            arraylength
            if_icmplt 5
         9: .line 913
            aload 4 /* md */
            aload 5 /* passwdBytes */
            invokevirtual java.security.MessageDigest.update:([B)V
        10: .line 914
            iconst_0
            istore 2 /* i */
            goto 13
        11: .line 915
      StackMap locals:
      StackMap stack:
            aload 5 /* passwdBytes */
            iload 2 /* i */
            iconst_0
            bastore
        12: .line 914
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
        13: iload 2 /* i */
            aload 5 /* passwdBytes */
            arraylength
            if_icmplt 11
        14: .line 916
            aload 4 /* md */
            ldc "Mighty Aphrodite"
            getstatic java.nio.charset.StandardCharsets.UTF_8:Ljava/nio/charset/Charset;
            invokevirtual java.lang.String.getBytes:(Ljava/nio/charset/Charset;)[B
            invokevirtual java.security.MessageDigest.update:([B)V
        15: .line 917
            aload 4 /* md */
            areturn
        end local 5 // byte[] passwdBytes
        end local 4 // java.security.MessageDigest md
        end local 3 // int j
        end local 2 // int i
        end local 1 // char[] password
        end local 0 // com.sun.crypto.provider.JceKeyStore this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   16     0         this  Lcom/sun/crypto/provider/JceKeyStore;
            0   16     1     password  [C
            3   16     2            i  I
            4   16     3            j  I
            1   16     4           md  Ljava/security/MessageDigest;
            2   16     5  passwdBytes  [B
    Exceptions:
      throws java.security.NoSuchAlgorithmException
    MethodParameters:
          Name  Flags
      password  

  public boolean engineProbe(java.io.InputStream);
    descriptor: (Ljava/io/InputStream;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // com.sun.crypto.provider.JceKeyStore this
        start local 1 // java.io.InputStream stream
         0: .line 927
            aload 1 /* stream */
            instanceof java.io.DataInputStream
            ifeq 3
         1: .line 928
            aload 1 /* stream */
            checkcast java.io.DataInputStream
            astore 2 /* dataStream */
        start local 2 // java.io.DataInputStream dataStream
         2: .line 929
            goto 4
        end local 2 // java.io.DataInputStream dataStream
         3: .line 930
      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 933
      StackMap locals: java.io.DataInputStream
      StackMap stack:
            ldc -825307442
            aload 2 /* dataStream */
            invokevirtual java.io.DataInputStream.readInt:()I
            if_icmpne 5
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         5: iconst_0
            ireturn
        end local 2 // java.io.DataInputStream dataStream
        end local 1 // java.io.InputStream stream
        end local 0 // com.sun.crypto.provider.JceKeyStore this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    6     0        this  Lcom/sun/crypto/provider/JceKeyStore;
            0    6     1      stream  Ljava/io/InputStream;
            2    3     2  dataStream  Ljava/io/DataInputStream;
            4    6     2  dataStream  Ljava/io/DataInputStream;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
        Name  Flags
      stream  

  private static java.lang.Void lambda$0(java.io.ObjectInputStream, int);
    descriptor: (Ljava/io/ObjectInputStream;I)Ljava/lang/Void;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=4, locals=2, args_size=2
         0: .line 842
            aload 0
         1: .line 843
            new com.sun.crypto.provider.JceKeyStore$DeserializationChecker
            dup
            iload 1
            invokespecial com.sun.crypto.provider.JceKeyStore$DeserializationChecker.<init>:(I)V
         2: .line 842
            invokevirtual java.io.ObjectInputStream.setObjectInputFilter:(Ljava/io/ObjectInputFilter;)V
         3: .line 844
            aconst_null
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
SourceFile: "JceKeyStore.java"
NestMembers:
  com.sun.crypto.provider.JceKeyStore$DeserializationChecker  com.sun.crypto.provider.JceKeyStore$PrivateKeyEntry  com.sun.crypto.provider.JceKeyStore$SecretKeyEntry  com.sun.crypto.provider.JceKeyStore$TrustedCertEntry
InnerClasses:
  private DeserializationChecker = com.sun.crypto.provider.JceKeyStore$DeserializationChecker of com.sun.crypto.provider.JceKeyStore
  private final PrivateKeyEntry = com.sun.crypto.provider.JceKeyStore$PrivateKeyEntry of com.sun.crypto.provider.JceKeyStore
  private final SecretKeyEntry = com.sun.crypto.provider.JceKeyStore$SecretKeyEntry of com.sun.crypto.provider.JceKeyStore
  private final TrustedCertEntry = com.sun.crypto.provider.JceKeyStore$TrustedCertEntry of com.sun.crypto.provider.JceKeyStore
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles