final class sun.security.pkcs11.P11KeyStore extends java.security.KeyStoreSpi
  minor version: 0
  major version: 59
  flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
  this_class: sun.security.pkcs11.P11KeyStore
  super_class: java.security.KeyStoreSpi
{
  private static final sun.security.pkcs11.wrapper.CK_ATTRIBUTE ATTR_CLASS_CERT;
    descriptor: Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final sun.security.pkcs11.wrapper.CK_ATTRIBUTE ATTR_CLASS_PKEY;
    descriptor: Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final sun.security.pkcs11.wrapper.CK_ATTRIBUTE ATTR_CLASS_SKEY;
    descriptor: Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final sun.security.pkcs11.wrapper.CK_ATTRIBUTE ATTR_X509_CERT_TYPE;
    descriptor: Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final sun.security.pkcs11.wrapper.CK_ATTRIBUTE ATTR_TOKEN_TRUE;
    descriptor: Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static sun.security.pkcs11.wrapper.CK_ATTRIBUTE ATTR_SKEY_TOKEN_TRUE;
    descriptor: Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private static final sun.security.pkcs11.wrapper.CK_ATTRIBUTE ATTR_TRUSTED_TRUE;
    descriptor: Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final sun.security.pkcs11.wrapper.CK_ATTRIBUTE ATTR_PRIVATE_TRUE;
    descriptor: Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final long NO_HANDLE;
    descriptor: J
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: -1

  private static final long FINDOBJECTS_MAX;
    descriptor: J
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 100

  private static final java.lang.String ALIAS_SEP;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "/"

  private static final boolean NSS_TEST;
    descriptor: Z
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 0

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

  private static boolean CKA_TRUSTED_SUPPORTED;
    descriptor: Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private final sun.security.pkcs11.Token token;
    descriptor: Lsun/security/pkcs11/Token;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private boolean writeDisabled;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private java.util.HashMap<java.lang.String, sun.security.pkcs11.P11KeyStore$AliasInfo> aliasMap;
    descriptor: Ljava/util/HashMap;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/HashMap<Ljava/lang/String;Lsun/security/pkcs11/P11KeyStore$AliasInfo;>;

  private final boolean useSecmodTrust;
    descriptor: Z
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private sun.security.pkcs11.Secmod$TrustType nssTrustType;
    descriptor: Lsun/security/pkcs11/Secmod$TrustType;
    flags: (0x0002) ACC_PRIVATE

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

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=6, locals=0, args_size=0
         0: .line 82
            new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            lconst_0
            lconst_1
            invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JJ)V
         1: .line 81
            putstatic sun.security.pkcs11.P11KeyStore.ATTR_CLASS_CERT:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
         2: .line 84
            new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            lconst_0
            ldc 3
            invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JJ)V
         3: .line 83
            putstatic sun.security.pkcs11.P11KeyStore.ATTR_CLASS_PKEY:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
         4: .line 86
            new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            lconst_0
            ldc 4
            invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JJ)V
         5: .line 85
            putstatic sun.security.pkcs11.P11KeyStore.ATTR_CLASS_SKEY:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
         6: .line 89
            new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            ldc 128
            lconst_0
            invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JJ)V
         7: .line 88
            putstatic sun.security.pkcs11.P11KeyStore.ATTR_X509_CERT_TYPE:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
         8: .line 92
            new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            lconst_1
            iconst_1
            invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JZ)V
         9: .line 91
            putstatic sun.security.pkcs11.P11KeyStore.ATTR_TOKEN_TRUE:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
        10: .line 98
            getstatic sun.security.pkcs11.P11KeyStore.ATTR_TOKEN_TRUE:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            putstatic sun.security.pkcs11.P11KeyStore.ATTR_SKEY_TOKEN_TRUE:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
        11: .line 101
            new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            ldc 134
            iconst_1
            invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JZ)V
        12: .line 100
            putstatic sun.security.pkcs11.P11KeyStore.ATTR_TRUSTED_TRUE:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
        13: .line 103
            new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            ldc 2
            iconst_1
            invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JZ)V
        14: .line 102
            putstatic sun.security.pkcs11.P11KeyStore.ATTR_PRIVATE_TRUE:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
        15: .line 111
            ldc "pkcs11keystore"
            invokestatic sun.security.util.Debug.getInstance:(Ljava/lang/String;)Lsun/security/util/Debug;
        16: .line 110
            putstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
        17: .line 112
            iconst_1
            putstatic sun.security.pkcs11.P11KeyStore.CKA_TRUSTED_SUPPORTED:Z
        18: .line 2757
            iconst_0
            newarray 11
            putstatic sun.security.pkcs11.P11KeyStore.LONG0:[J
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  void <init>(sun.security.pkcs11.Token);
    descriptor: (Lsun/security/pkcs11/Token;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // sun.security.pkcs11.P11KeyStore this
        start local 1 // sun.security.pkcs11.Token token
         0: .line 269
            aload 0 /* this */
            invokespecial java.security.KeyStoreSpi.<init>:()V
         1: .line 120
            aload 0 /* this */
            iconst_0
            putfield sun.security.pkcs11.P11KeyStore.writeDisabled:Z
         2: .line 270
            aload 0 /* this */
            aload 1 /* token */
            putfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
         3: .line 271
            aload 0 /* this */
            aload 1 /* token */
            getfield sun.security.pkcs11.Token.provider:Lsun/security/pkcs11/SunPKCS11;
            getfield sun.security.pkcs11.SunPKCS11.nssUseSecmodTrust:Z
            putfield sun.security.pkcs11.P11KeyStore.useSecmodTrust:Z
         4: .line 272
            return
        end local 1 // sun.security.pkcs11.Token token
        end local 0 // sun.security.pkcs11.P11KeyStore this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    5     0   this  Lsun/security/pkcs11/P11KeyStore;
            0    5     1  token  Lsun/security/pkcs11/Token;
    MethodParameters:
       Name  Flags
      token  

  public synchronized java.security.Key engineGetKey(java.lang.String, char[]);
    descriptor: (Ljava/lang/String;[C)Ljava/security/Key;
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=5, locals=8, args_size=3
        start local 0 // sun.security.pkcs11.P11KeyStore this
        start local 1 // java.lang.String alias
        start local 2 // char[] password
         0: .line 294
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
            invokevirtual sun.security.pkcs11.Token.ensureValid:()V
         1: .line 295
            aload 2 /* password */
            ifnull 3
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
            getfield sun.security.pkcs11.Token.config:Lsun/security/pkcs11/Config;
            invokevirtual sun.security.pkcs11.Config.getKeyStoreCompatibilityMode:()Z
            ifne 3
         2: .line 296
            new java.security.NoSuchAlgorithmException
            dup
            ldc "password must be null"
            invokespecial java.security.NoSuchAlgorithmException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 299
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.aliasMap:Ljava/util/HashMap;
            aload 1 /* alias */
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast sun.security.pkcs11.P11KeyStore$AliasInfo
            astore 3 /* aliasInfo */
        start local 3 // sun.security.pkcs11.P11KeyStore$AliasInfo aliasInfo
         4: .line 300
            aload 3 /* aliasInfo */
            ifnull 5
            aload 3 /* aliasInfo */
            getfield sun.security.pkcs11.P11KeyStore$AliasInfo.type:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            getstatic sun.security.pkcs11.P11KeyStore.ATTR_CLASS_CERT:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            if_acmpne 6
         5: .line 301
      StackMap locals: sun.security.pkcs11.P11KeyStore$AliasInfo
      StackMap stack:
            aconst_null
            areturn
         6: .line 304
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 4 /* session */
        start local 4 // sun.security.pkcs11.Session session
         7: .line 306
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
            invokevirtual sun.security.pkcs11.Token.getOpSession:()Lsun/security/pkcs11/Session;
            astore 4 /* session */
         8: .line 308
            aload 3 /* aliasInfo */
            getfield sun.security.pkcs11.P11KeyStore$AliasInfo.type:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            getstatic sun.security.pkcs11.P11KeyStore.ATTR_CLASS_PKEY:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            if_acmpne 18
         9: .line 309
            aload 0 /* this */
            aload 4 /* session */
        10: .line 310
            aload 3 /* aliasInfo */
            getfield sun.security.pkcs11.P11KeyStore$AliasInfo.type:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
        11: .line 311
            aload 3 /* aliasInfo */
            getfield sun.security.pkcs11.P11KeyStore$AliasInfo.id:[B
        12: .line 312
            aconst_null
        13: .line 309
            invokevirtual sun.security.pkcs11.P11KeyStore.getTokenObject:(Lsun/security/pkcs11/Session;Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;[BLjava/lang/String;)Lsun/security/pkcs11/P11KeyStore$THandle;
            astore 5 /* h */
        start local 5 // sun.security.pkcs11.P11KeyStore$THandle h
        14: .line 313
            aload 5 /* h */
            getfield sun.security.pkcs11.P11KeyStore$THandle.type:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            getstatic sun.security.pkcs11.P11KeyStore.ATTR_CLASS_PKEY:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            if_acmpne 27
        15: .line 314
            aload 0 /* this */
            aload 4 /* session */
            aload 5 /* h */
            getfield sun.security.pkcs11.P11KeyStore$THandle.handle:J
            invokevirtual sun.security.pkcs11.P11KeyStore.loadPkey:(Lsun/security/pkcs11/Session;J)Ljava/security/PrivateKey;
            astore 7
        16: .line 333
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
            aload 4 /* session */
            invokevirtual sun.security.pkcs11.Token.releaseSession:(Lsun/security/pkcs11/Session;)Lsun/security/pkcs11/Session;
            pop
        17: .line 314
            aload 7
            areturn
        end local 5 // sun.security.pkcs11.P11KeyStore$THandle h
        18: .line 317
      StackMap locals: sun.security.pkcs11.Session
      StackMap stack:
            aload 0 /* this */
            aload 4 /* session */
        19: .line 318
            getstatic sun.security.pkcs11.P11KeyStore.ATTR_CLASS_SKEY:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
        20: .line 319
            aconst_null
        21: .line 320
            aload 1 /* alias */
        22: .line 317
            invokevirtual sun.security.pkcs11.P11KeyStore.getTokenObject:(Lsun/security/pkcs11/Session;Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;[BLjava/lang/String;)Lsun/security/pkcs11/P11KeyStore$THandle;
            astore 5 /* h */
        start local 5 // sun.security.pkcs11.P11KeyStore$THandle h
        23: .line 321
            aload 5 /* h */
            getfield sun.security.pkcs11.P11KeyStore$THandle.type:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            getstatic sun.security.pkcs11.P11KeyStore.ATTR_CLASS_SKEY:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            if_acmpne 27
        24: .line 322
            aload 0 /* this */
            aload 4 /* session */
            aload 5 /* h */
            getfield sun.security.pkcs11.P11KeyStore$THandle.handle:J
            invokevirtual sun.security.pkcs11.P11KeyStore.loadSkey:(Lsun/security/pkcs11/Session;J)Ljavax/crypto/SecretKey;
            astore 7
        25: .line 333
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
            aload 4 /* session */
            invokevirtual sun.security.pkcs11.Token.releaseSession:(Lsun/security/pkcs11/Session;)Lsun/security/pkcs11/Session;
            pop
        26: .line 322
            aload 7
            areturn
        end local 5 // sun.security.pkcs11.P11KeyStore$THandle h
        27: .line 333
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
            aload 4 /* session */
            invokevirtual sun.security.pkcs11.Token.releaseSession:(Lsun/security/pkcs11/Session;)Lsun/security/pkcs11/Session;
            pop
        28: .line 327
            aconst_null
            areturn
        29: .line 328
      StackMap locals:
      StackMap stack: sun.security.pkcs11.wrapper.PKCS11Exception
            astore 5 /* pe */
        start local 5 // sun.security.pkcs11.wrapper.PKCS11Exception pe
        30: .line 329
            new java.security.ProviderException
            dup
            aload 5 /* pe */
            invokespecial java.security.ProviderException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 5 // sun.security.pkcs11.wrapper.PKCS11Exception pe
        31: .line 330
      StackMap locals:
      StackMap stack: java.security.KeyStoreException
            astore 5 /* ke */
        start local 5 // java.security.KeyStoreException ke
        32: .line 331
            new java.security.ProviderException
            dup
            aload 5 /* ke */
            invokespecial java.security.ProviderException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 5 // java.security.KeyStoreException ke
        33: .line 332
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 6
        34: .line 333
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
            aload 4 /* session */
            invokevirtual sun.security.pkcs11.Token.releaseSession:(Lsun/security/pkcs11/Session;)Lsun/security/pkcs11/Session;
            pop
        35: .line 334
            aload 6
            athrow
        end local 4 // sun.security.pkcs11.Session session
        end local 3 // sun.security.pkcs11.P11KeyStore$AliasInfo aliasInfo
        end local 2 // char[] password
        end local 1 // java.lang.String alias
        end local 0 // sun.security.pkcs11.P11KeyStore this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   36     0       this  Lsun/security/pkcs11/P11KeyStore;
            0   36     1      alias  Ljava/lang/String;
            0   36     2   password  [C
            4   36     3  aliasInfo  Lsun/security/pkcs11/P11KeyStore$AliasInfo;
            7   36     4    session  Lsun/security/pkcs11/Session;
           14   18     5          h  Lsun/security/pkcs11/P11KeyStore$THandle;
           23   27     5          h  Lsun/security/pkcs11/P11KeyStore$THandle;
           30   31     5         pe  Lsun/security/pkcs11/wrapper/PKCS11Exception;
           32   33     5         ke  Ljava/security/KeyStoreException;
      Exception table:
        from    to  target  type
           7    16      29  Class sun.security.pkcs11.wrapper.PKCS11Exception
          18    25      29  Class sun.security.pkcs11.wrapper.PKCS11Exception
           7    16      31  Class java.security.KeyStoreException
          18    25      31  Class java.security.KeyStoreException
           7    16      33  any
          18    25      33  any
          29    33      33  any
    Exceptions:
      throws java.security.NoSuchAlgorithmException, java.security.UnrecoverableKeyException
    MethodParameters:
          Name  Flags
      alias     
      password  

  public synchronized java.security.cert.Certificate[] engineGetCertificateChain(java.lang.String);
    descriptor: (Ljava/lang/String;)[Ljava/security/cert/Certificate;
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // sun.security.pkcs11.P11KeyStore this
        start local 1 // java.lang.String alias
         0: .line 352
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
            invokevirtual sun.security.pkcs11.Token.ensureValid:()V
         1: .line 354
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.aliasMap:Ljava/util/HashMap;
            aload 1 /* alias */
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast sun.security.pkcs11.P11KeyStore$AliasInfo
            astore 2 /* aliasInfo */
        start local 2 // sun.security.pkcs11.P11KeyStore$AliasInfo aliasInfo
         2: .line 355
            aload 2 /* aliasInfo */
            ifnull 3
            aload 2 /* aliasInfo */
            getfield sun.security.pkcs11.P11KeyStore$AliasInfo.type:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            getstatic sun.security.pkcs11.P11KeyStore.ATTR_CLASS_PKEY:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            if_acmpeq 4
         3: .line 356
      StackMap locals: sun.security.pkcs11.P11KeyStore$AliasInfo
      StackMap stack:
            aconst_null
            areturn
         4: .line 358
      StackMap locals:
      StackMap stack:
            aload 2 /* aliasInfo */
            getfield sun.security.pkcs11.P11KeyStore$AliasInfo.chain:[Ljava/security/cert/X509Certificate;
            areturn
        end local 2 // sun.security.pkcs11.P11KeyStore$AliasInfo aliasInfo
        end local 1 // java.lang.String alias
        end local 0 // sun.security.pkcs11.P11KeyStore this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    5     0       this  Lsun/security/pkcs11/P11KeyStore;
            0    5     1      alias  Ljava/lang/String;
            2    5     2  aliasInfo  Lsun/security/pkcs11/P11KeyStore$AliasInfo;
    MethodParameters:
       Name  Flags
      alias  

  public synchronized java.security.cert.Certificate engineGetCertificate(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/security/cert/Certificate;
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // sun.security.pkcs11.P11KeyStore this
        start local 1 // java.lang.String alias
         0: .line 383
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
            invokevirtual sun.security.pkcs11.Token.ensureValid:()V
         1: .line 385
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.aliasMap:Ljava/util/HashMap;
            aload 1 /* alias */
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast sun.security.pkcs11.P11KeyStore$AliasInfo
            astore 2 /* aliasInfo */
        start local 2 // sun.security.pkcs11.P11KeyStore$AliasInfo aliasInfo
         2: .line 386
            aload 2 /* aliasInfo */
            ifnonnull 4
         3: .line 387
            aconst_null
            areturn
         4: .line 389
      StackMap locals: sun.security.pkcs11.P11KeyStore$AliasInfo
      StackMap stack:
            aload 2 /* aliasInfo */
            getfield sun.security.pkcs11.P11KeyStore$AliasInfo.cert:Ljava/security/cert/X509Certificate;
            areturn
        end local 2 // sun.security.pkcs11.P11KeyStore$AliasInfo aliasInfo
        end local 1 // java.lang.String alias
        end local 0 // sun.security.pkcs11.P11KeyStore this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    5     0       this  Lsun/security/pkcs11/P11KeyStore;
            0    5     1      alias  Ljava/lang/String;
            2    5     2  aliasInfo  Lsun/security/pkcs11/P11KeyStore$AliasInfo;
    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=2, args_size=2
        start local 0 // sun.security.pkcs11.P11KeyStore this
        start local 1 // java.lang.String alias
         0: .line 401
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
            invokevirtual sun.security.pkcs11.Token.ensureValid:()V
         1: .line 402
            new java.security.ProviderException
            dup
            new java.lang.UnsupportedOperationException
            dup
            invokespecial java.lang.UnsupportedOperationException.<init>:()V
            invokespecial java.security.ProviderException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 1 // java.lang.String alias
        end local 0 // sun.security.pkcs11.P11KeyStore this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lsun/security/pkcs11/P11KeyStore;
            0    2     1  alias  Ljava/lang/String;
    MethodParameters:
       Name  Flags
      alias  

  public synchronized void engineSetKeyEntry(java.lang.String, java.security.Key, char[], java.security.cert.Certificate[]);
    descriptor: (Ljava/lang/String;Ljava/security/Key;[C[Ljava/security/cert/Certificate;)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=6, locals=7, args_size=5
        start local 0 // sun.security.pkcs11.P11KeyStore 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 432
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
            invokevirtual sun.security.pkcs11.Token.ensureValid:()V
         1: .line 433
            aload 0 /* this */
            invokevirtual sun.security.pkcs11.P11KeyStore.checkWrite:()V
         2: .line 435
            aload 2 /* key */
            instanceof java.security.PrivateKey
            ifne 4
            aload 2 /* key */
            instanceof javax.crypto.SecretKey
            ifne 4
         3: .line 436
            new java.security.KeyStoreException
            dup
            ldc "key must be PrivateKey or SecretKey"
            invokespecial java.security.KeyStoreException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 437
      StackMap locals:
      StackMap stack:
            aload 2 /* key */
            instanceof java.security.PrivateKey
            ifeq 8
            aload 4 /* chain */
            ifnonnull 8
         5: .line 438
            new java.security.KeyStoreException
            dup
         6: .line 439
            ldc "PrivateKey must be accompanied by non-null chain"
         7: .line 438
            invokespecial java.security.KeyStoreException.<init>:(Ljava/lang/String;)V
            athrow
         8: .line 440
      StackMap locals:
      StackMap stack:
            aload 2 /* key */
            instanceof javax.crypto.SecretKey
            ifeq 12
            aload 4 /* chain */
            ifnull 12
         9: .line 441
            new java.security.KeyStoreException
            dup
        10: .line 442
            ldc "SecretKey must be accompanied by null chain"
        11: .line 441
            invokespecial java.security.KeyStoreException.<init>:(Ljava/lang/String;)V
            athrow
        12: .line 443
      StackMap locals:
      StackMap stack:
            aload 3 /* password */
            ifnull 15
        13: .line 444
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
            getfield sun.security.pkcs11.Token.config:Lsun/security/pkcs11/Config;
            invokevirtual sun.security.pkcs11.Config.getKeyStoreCompatibilityMode:()Z
            ifne 15
        14: .line 445
            new java.security.KeyStoreException
            dup
            ldc "Password must be null"
            invokespecial java.security.KeyStoreException.<init>:(Ljava/lang/String;)V
            athrow
        15: .line 448
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 5 /* entry */
        start local 5 // java.security.KeyStore$Entry entry
        16: .line 450
            aload 2 /* key */
            instanceof java.security.PrivateKey
            ifeq 19
        17: .line 451
            new java.security.KeyStore$PrivateKeyEntry
            dup
            aload 2 /* key */
            checkcast java.security.PrivateKey
            aload 4 /* chain */
            invokespecial java.security.KeyStore$PrivateKeyEntry.<init>:(Ljava/security/PrivateKey;[Ljava/security/cert/Certificate;)V
            astore 5 /* entry */
        18: .line 452
            goto 26
      StackMap locals: java.security.KeyStore$Entry
      StackMap stack:
        19: aload 2 /* key */
            instanceof javax.crypto.SecretKey
            ifeq 26
        20: .line 453
            new java.security.KeyStore$SecretKeyEntry
            dup
            aload 2 /* key */
            checkcast javax.crypto.SecretKey
            invokespecial java.security.KeyStore$SecretKeyEntry.<init>:(Ljavax/crypto/SecretKey;)V
            astore 5 /* entry */
        21: .line 455
            goto 26
      StackMap locals:
      StackMap stack: java.lang.NullPointerException
        22: astore 6 /* npe */
        start local 6 // java.lang.NullPointerException npe
        23: .line 456
            new java.security.KeyStoreException
            dup
            aload 6 /* npe */
            invokespecial java.security.KeyStoreException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 6 // java.lang.NullPointerException npe
        24: .line 457
      StackMap locals:
      StackMap stack: java.lang.IllegalArgumentException
            astore 6 /* iae */
        start local 6 // java.lang.IllegalArgumentException iae
        25: .line 458
            new java.security.KeyStoreException
            dup
            aload 6 /* iae */
            invokespecial java.security.KeyStoreException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 6 // java.lang.IllegalArgumentException iae
        26: .line 460
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* alias */
            aload 5 /* entry */
            new java.security.KeyStore$PasswordProtection
            dup
            aload 3 /* password */
            invokespecial java.security.KeyStore$PasswordProtection.<init>:([C)V
            invokevirtual sun.security.pkcs11.P11KeyStore.engineSetEntry:(Ljava/lang/String;Ljava/security/KeyStore$Entry;Ljava/security/KeyStore$ProtectionParameter;)V
        27: .line 461
            return
        end local 5 // java.security.KeyStore$Entry entry
        end local 4 // java.security.cert.Certificate[] chain
        end local 3 // char[] password
        end local 2 // java.security.Key key
        end local 1 // java.lang.String alias
        end local 0 // sun.security.pkcs11.P11KeyStore this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   28     0      this  Lsun/security/pkcs11/P11KeyStore;
            0   28     1     alias  Ljava/lang/String;
            0   28     2       key  Ljava/security/Key;
            0   28     3  password  [C
            0   28     4     chain  [Ljava/security/cert/Certificate;
           16   28     5     entry  Ljava/security/KeyStore$Entry;
           23   24     6       npe  Ljava/lang/NullPointerException;
           25   26     6       iae  Ljava/lang/IllegalArgumentException;
      Exception table:
        from    to  target  type
          16    21      22  Class java.lang.NullPointerException
          16    21      24  Class java.lang.IllegalArgumentException
    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=4, locals=4, args_size=4
        start local 0 // sun.security.pkcs11.P11KeyStore this
        start local 1 // java.lang.String alias
        start local 2 // byte[] key
        start local 3 // java.security.cert.Certificate[] chain
         0: .line 486
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
            invokevirtual sun.security.pkcs11.Token.ensureValid:()V
         1: .line 487
            new java.security.ProviderException
            dup
            new java.lang.UnsupportedOperationException
            dup
            invokespecial java.lang.UnsupportedOperationException.<init>:()V
            invokespecial java.security.ProviderException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 3 // java.security.cert.Certificate[] chain
        end local 2 // byte[] key
        end local 1 // java.lang.String alias
        end local 0 // sun.security.pkcs11.P11KeyStore this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lsun/security/pkcs11/P11KeyStore;
            0    2     1  alias  Ljava/lang/String;
            0    2     2    key  [B
            0    2     3  chain  [Ljava/security/cert/Certificate;
    Exceptions:
      throws java.security.KeyStoreException
    MethodParameters:
       Name  Flags
      alias  
      key    
      chain  

  public synchronized void engineSetCertificateEntry(java.lang.String, java.security.cert.Certificate);
    descriptor: (Ljava/lang/String;Ljava/security/cert/Certificate;)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // sun.security.pkcs11.P11KeyStore this
        start local 1 // java.lang.String alias
        start local 2 // java.security.cert.Certificate cert
         0: .line 510
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
            invokevirtual sun.security.pkcs11.Token.ensureValid:()V
         1: .line 511
            aload 0 /* this */
            invokevirtual sun.security.pkcs11.P11KeyStore.checkWrite:()V
         2: .line 513
            aload 2 /* cert */
            ifnonnull 4
         3: .line 514
            new java.security.KeyStoreException
            dup
            ldc "invalid null certificate"
            invokespecial java.security.KeyStoreException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 517
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 3 /* entry */
        start local 3 // java.security.KeyStore$Entry entry
         5: .line 518
            new java.security.KeyStore$TrustedCertificateEntry
            dup
            aload 2 /* cert */
            invokespecial java.security.KeyStore$TrustedCertificateEntry.<init>:(Ljava/security/cert/Certificate;)V
            astore 3 /* entry */
         6: .line 519
            aload 0 /* this */
            aload 1 /* alias */
            aload 3 /* entry */
            aconst_null
            invokevirtual sun.security.pkcs11.P11KeyStore.engineSetEntry:(Ljava/lang/String;Ljava/security/KeyStore$Entry;Ljava/security/KeyStore$ProtectionParameter;)V
         7: .line 520
            return
        end local 3 // java.security.KeyStore$Entry entry
        end local 2 // java.security.cert.Certificate cert
        end local 1 // java.lang.String alias
        end local 0 // sun.security.pkcs11.P11KeyStore this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    8     0   this  Lsun/security/pkcs11/P11KeyStore;
            0    8     1  alias  Ljava/lang/String;
            0    8     2   cert  Ljava/security/cert/Certificate;
            5    8     3  entry  Ljava/security/KeyStore$Entry;
    Exceptions:
      throws java.security.KeyStoreException
    MethodParameters:
       Name  Flags
      alias  
      cert   

  public synchronized void engineDeleteEntry(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // sun.security.pkcs11.P11KeyStore this
        start local 1 // java.lang.String alias
         0: .line 531
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
            invokevirtual sun.security.pkcs11.Token.ensureValid:()V
         1: .line 533
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
            invokevirtual sun.security.pkcs11.Token.isWriteProtected:()Z
            ifeq 3
         2: .line 534
            new java.security.KeyStoreException
            dup
            ldc "token write-protected"
            invokespecial java.security.KeyStoreException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 536
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual sun.security.pkcs11.P11KeyStore.checkWrite:()V
         4: .line 537
            aload 0 /* this */
            aload 1 /* alias */
            invokevirtual sun.security.pkcs11.P11KeyStore.deleteEntry:(Ljava/lang/String;)Z
            pop
         5: .line 538
            return
        end local 1 // java.lang.String alias
        end local 0 // sun.security.pkcs11.P11KeyStore this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    6     0   this  Lsun/security/pkcs11/P11KeyStore;
            0    6     1  alias  Ljava/lang/String;
    Exceptions:
      throws java.security.KeyStoreException
    MethodParameters:
       Name  Flags
      alias  

  private boolean deleteEntry(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // sun.security.pkcs11.P11KeyStore this
        start local 1 // java.lang.String alias
         0: .line 544
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.aliasMap:Ljava/util/HashMap;
            aload 1 /* alias */
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast sun.security.pkcs11.P11KeyStore$AliasInfo
            astore 2 /* aliasInfo */
        start local 2 // sun.security.pkcs11.P11KeyStore$AliasInfo aliasInfo
         1: .line 545
            aload 2 /* aliasInfo */
            ifnull 20
         2: .line 547
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.aliasMap:Ljava/util/HashMap;
            aload 1 /* alias */
            invokevirtual java.util.HashMap.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         3: .line 550
            aload 2 /* aliasInfo */
            getfield sun.security.pkcs11.P11KeyStore$AliasInfo.type:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            getstatic sun.security.pkcs11.P11KeyStore.ATTR_CLASS_CERT:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            if_acmpne 6
         4: .line 552
            aload 0 /* this */
            aload 2 /* aliasInfo */
            getfield sun.security.pkcs11.P11KeyStore$AliasInfo.id:[B
            invokevirtual sun.security.pkcs11.P11KeyStore.destroyCert:([B)Z
         5: ireturn
         6: .line 553
      StackMap locals: sun.security.pkcs11.P11KeyStore$AliasInfo
      StackMap stack:
            aload 2 /* aliasInfo */
            getfield sun.security.pkcs11.P11KeyStore$AliasInfo.type:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            getstatic sun.security.pkcs11.P11KeyStore.ATTR_CLASS_PKEY:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            if_acmpne 12
         7: .line 555
            aload 0 /* this */
            aload 2 /* aliasInfo */
            getfield sun.security.pkcs11.P11KeyStore$AliasInfo.id:[B
            invokevirtual sun.security.pkcs11.P11KeyStore.destroyPkey:([B)Z
            ifeq 10
         8: .line 556
            aload 0 /* this */
            aload 2 /* aliasInfo */
            getfield sun.security.pkcs11.P11KeyStore$AliasInfo.id:[B
            invokevirtual sun.security.pkcs11.P11KeyStore.destroyChain:([B)Z
            ifeq 10
         9: .line 555
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
        10: iconst_0
        11: ireturn
        12: .line 557
      StackMap locals:
      StackMap stack:
            aload 2 /* aliasInfo */
            getfield sun.security.pkcs11.P11KeyStore$AliasInfo.type:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            getstatic sun.security.pkcs11.P11KeyStore.ATTR_CLASS_SKEY:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            if_acmpne 15
        13: .line 559
            aload 0 /* this */
            aload 1 /* alias */
            invokevirtual sun.security.pkcs11.P11KeyStore.destroySkey:(Ljava/lang/String;)Z
        14: ireturn
        15: .line 561
      StackMap locals:
      StackMap stack:
            new java.security.KeyStoreException
            dup
            ldc "unexpected entry type"
            invokespecial java.security.KeyStoreException.<init>:(Ljava/lang/String;)V
            athrow
        16: .line 563
      StackMap locals:
      StackMap stack: sun.security.pkcs11.wrapper.PKCS11Exception
            astore 3 /* pe */
        start local 3 // sun.security.pkcs11.wrapper.PKCS11Exception pe
        17: .line 564
            new java.security.KeyStoreException
            dup
            aload 3 /* pe */
            invokespecial java.security.KeyStoreException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 3 // sun.security.pkcs11.wrapper.PKCS11Exception pe
        18: .line 565
      StackMap locals:
      StackMap stack: java.security.cert.CertificateException
            astore 3 /* ce */
        start local 3 // java.security.cert.CertificateException ce
        19: .line 566
            new java.security.KeyStoreException
            dup
            aload 3 /* ce */
            invokespecial java.security.KeyStoreException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 3 // java.security.cert.CertificateException ce
        20: .line 569
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 2 // sun.security.pkcs11.P11KeyStore$AliasInfo aliasInfo
        end local 1 // java.lang.String alias
        end local 0 // sun.security.pkcs11.P11KeyStore this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   21     0       this  Lsun/security/pkcs11/P11KeyStore;
            0   21     1      alias  Ljava/lang/String;
            1   21     2  aliasInfo  Lsun/security/pkcs11/P11KeyStore$AliasInfo;
           17   18     3         pe  Lsun/security/pkcs11/wrapper/PKCS11Exception;
           19   20     3         ce  Ljava/security/cert/CertificateException;
      Exception table:
        from    to  target  type
           3     5      16  Class sun.security.pkcs11.wrapper.PKCS11Exception
           6    11      16  Class sun.security.pkcs11.wrapper.PKCS11Exception
          12    14      16  Class sun.security.pkcs11.wrapper.PKCS11Exception
          15    16      16  Class sun.security.pkcs11.wrapper.PKCS11Exception
           3     5      18  Class java.security.cert.CertificateException
           6    11      18  Class java.security.cert.CertificateException
          12    14      18  Class java.security.cert.CertificateException
          15    16      18  Class java.security.cert.CertificateException
    Exceptions:
      throws java.security.KeyStoreException
    MethodParameters:
       Name  Flags
      alias  

  public synchronized java.util.Enumeration<java.lang.String> engineAliases();
    descriptor: ()Ljava/util/Enumeration;
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // sun.security.pkcs11.P11KeyStore this
         0: .line 578
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
            invokevirtual sun.security.pkcs11.Token.ensureValid:()V
         1: .line 583
            new java.util.HashSet
            dup
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.aliasMap:Ljava/util/HashMap;
            invokevirtual java.util.HashMap.keySet:()Ljava/util/Set;
            invokespecial java.util.HashSet.<init>:(Ljava/util/Collection;)V
            invokestatic java.util.Collections.enumeration:(Ljava/util/Collection;)Ljava/util/Enumeration;
            areturn
        end local 0 // sun.security.pkcs11.P11KeyStore this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lsun/security/pkcs11/P11KeyStore;
    Signature: ()Ljava/util/Enumeration<Ljava/lang/String;>;

  public synchronized boolean engineContainsAlias(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // sun.security.pkcs11.P11KeyStore this
        start local 1 // java.lang.String alias
         0: .line 594
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
            invokevirtual sun.security.pkcs11.Token.ensureValid:()V
         1: .line 595
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.aliasMap:Ljava/util/HashMap;
            aload 1 /* alias */
            invokevirtual java.util.HashMap.containsKey:(Ljava/lang/Object;)Z
            ireturn
        end local 1 // java.lang.String alias
        end local 0 // sun.security.pkcs11.P11KeyStore this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lsun/security/pkcs11/P11KeyStore;
            0    2     1  alias  Ljava/lang/String;
    MethodParameters:
       Name  Flags
      alias  

  public synchronized int engineSize();
    descriptor: ()I
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.security.pkcs11.P11KeyStore this
         0: .line 604
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
            invokevirtual sun.security.pkcs11.Token.ensureValid:()V
         1: .line 605
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.aliasMap:Ljava/util/HashMap;
            invokevirtual java.util.HashMap.size:()I
            ireturn
        end local 0 // sun.security.pkcs11.P11KeyStore this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lsun/security/pkcs11/P11KeyStore;

  public synchronized boolean engineIsKeyEntry(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // sun.security.pkcs11.P11KeyStore this
        start local 1 // java.lang.String alias
         0: .line 620
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
            invokevirtual sun.security.pkcs11.Token.ensureValid:()V
         1: .line 622
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.aliasMap:Ljava/util/HashMap;
            aload 1 /* alias */
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast sun.security.pkcs11.P11KeyStore$AliasInfo
            astore 2 /* aliasInfo */
        start local 2 // sun.security.pkcs11.P11KeyStore$AliasInfo aliasInfo
         2: .line 623
            aload 2 /* aliasInfo */
            ifnull 3
            aload 2 /* aliasInfo */
            getfield sun.security.pkcs11.P11KeyStore$AliasInfo.type:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            getstatic sun.security.pkcs11.P11KeyStore.ATTR_CLASS_CERT:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            if_acmpne 4
         3: .line 624
      StackMap locals: sun.security.pkcs11.P11KeyStore$AliasInfo
      StackMap stack:
            iconst_0
            ireturn
         4: .line 626
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 2 // sun.security.pkcs11.P11KeyStore$AliasInfo aliasInfo
        end local 1 // java.lang.String alias
        end local 0 // sun.security.pkcs11.P11KeyStore this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    5     0       this  Lsun/security/pkcs11/P11KeyStore;
            0    5     1      alias  Ljava/lang/String;
            2    5     2  aliasInfo  Lsun/security/pkcs11/P11KeyStore$AliasInfo;
    MethodParameters:
       Name  Flags
      alias  

  public synchronized boolean engineIsCertificateEntry(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // sun.security.pkcs11.P11KeyStore this
        start local 1 // java.lang.String alias
         0: .line 641
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
            invokevirtual sun.security.pkcs11.Token.ensureValid:()V
         1: .line 643
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.aliasMap:Ljava/util/HashMap;
            aload 1 /* alias */
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast sun.security.pkcs11.P11KeyStore$AliasInfo
            astore 2 /* aliasInfo */
        start local 2 // sun.security.pkcs11.P11KeyStore$AliasInfo aliasInfo
         2: .line 644
            aload 2 /* aliasInfo */
            ifnull 3
            aload 2 /* aliasInfo */
            getfield sun.security.pkcs11.P11KeyStore$AliasInfo.type:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            getstatic sun.security.pkcs11.P11KeyStore.ATTR_CLASS_CERT:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            if_acmpeq 4
         3: .line 645
      StackMap locals: sun.security.pkcs11.P11KeyStore$AliasInfo
      StackMap stack:
            iconst_0
            ireturn
         4: .line 647
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 2 // sun.security.pkcs11.P11KeyStore$AliasInfo aliasInfo
        end local 1 // java.lang.String alias
        end local 0 // sun.security.pkcs11.P11KeyStore this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    5     0       this  Lsun/security/pkcs11/P11KeyStore;
            0    5     1      alias  Ljava/lang/String;
            2    5     2  aliasInfo  Lsun/security/pkcs11/P11KeyStore$AliasInfo;
    MethodParameters:
       Name  Flags
      alias  

  public synchronized java.lang.String engineGetCertificateAlias(java.security.cert.Certificate);
    descriptor: (Ljava/security/cert/Certificate;)Ljava/lang/String;
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=5, args_size=2
        start local 0 // sun.security.pkcs11.P11KeyStore this
        start local 1 // java.security.cert.Certificate cert
         0: .line 674
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
            invokevirtual sun.security.pkcs11.Token.ensureValid:()V
         1: .line 675
            aload 0 /* this */
            invokevirtual sun.security.pkcs11.P11KeyStore.engineAliases:()Ljava/util/Enumeration;
            astore 2 /* e */
        start local 2 // java.util.Enumeration e
         2: .line 676
            goto 7
         3: .line 677
      StackMap locals: java.util.Enumeration
      StackMap stack:
            aload 2 /* e */
            invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 3 /* alias */
        start local 3 // java.lang.String alias
         4: .line 678
            aload 0 /* this */
            aload 3 /* alias */
            invokevirtual sun.security.pkcs11.P11KeyStore.engineGetCertificate:(Ljava/lang/String;)Ljava/security/cert/Certificate;
            astore 4 /* tokenCert */
        start local 4 // java.security.cert.Certificate tokenCert
         5: .line 679
            aload 4 /* tokenCert */
            ifnull 7
            aload 4 /* tokenCert */
            aload 1 /* cert */
            invokevirtual java.security.cert.Certificate.equals:(Ljava/lang/Object;)Z
            ifeq 7
         6: .line 680
            aload 3 /* alias */
            areturn
        end local 4 // java.security.cert.Certificate tokenCert
        end local 3 // java.lang.String alias
         7: .line 676
      StackMap locals:
      StackMap stack:
            aload 2 /* e */
            invokeinterface java.util.Enumeration.hasMoreElements:()Z
            ifne 3
         8: .line 683
            aconst_null
            areturn
        end local 2 // java.util.Enumeration e
        end local 1 // java.security.cert.Certificate cert
        end local 0 // sun.security.pkcs11.P11KeyStore this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    9     0       this  Lsun/security/pkcs11/P11KeyStore;
            0    9     1       cert  Ljava/security/cert/Certificate;
            2    9     2          e  Ljava/util/Enumeration<Ljava/lang/String;>;
            4    7     3      alias  Ljava/lang/String;
            5    7     4  tokenCert  Ljava/security/cert/Certificate;
    MethodParameters:
      Name  Flags
      cert  

  public synchronized void engineStore(java.io.OutputStream, char[]);
    descriptor: (Ljava/io/OutputStream;[C)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // sun.security.pkcs11.P11KeyStore this
        start local 1 // java.io.OutputStream stream
        start local 2 // char[] password
         0: .line 695
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
            invokevirtual sun.security.pkcs11.Token.ensureValid:()V
         1: .line 696
            aload 1 /* stream */
            ifnull 3
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
            getfield sun.security.pkcs11.Token.config:Lsun/security/pkcs11/Config;
            invokevirtual sun.security.pkcs11.Config.getKeyStoreCompatibilityMode:()Z
            ifne 3
         2: .line 697
            new java.io.IOException
            dup
            ldc "output stream must be null"
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 700
      StackMap locals:
      StackMap stack:
            aload 2 /* password */
            ifnull 5
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
            getfield sun.security.pkcs11.Token.config:Lsun/security/pkcs11/Config;
            invokevirtual sun.security.pkcs11.Config.getKeyStoreCompatibilityMode:()Z
            ifne 5
         4: .line 701
            new java.io.IOException
            dup
            ldc "password must be null"
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
         5: .line 703
      StackMap locals:
      StackMap stack:
            return
        end local 2 // char[] password
        end local 1 // java.io.OutputStream stream
        end local 0 // sun.security.pkcs11.P11KeyStore this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    6     0      this  Lsun/security/pkcs11/P11KeyStore;
            0    6     1    stream  Ljava/io/OutputStream;
            0    6     2  password  [C
    Exceptions:
      throws java.io.IOException, java.security.NoSuchAlgorithmException, java.security.cert.CertificateException
    MethodParameters:
          Name  Flags
      stream    
      password  

  public synchronized void engineStore(java.security.KeyStore$LoadStoreParameter);
    descriptor: (Ljava/security/KeyStore$LoadStoreParameter;)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // sun.security.pkcs11.P11KeyStore this
        start local 1 // java.security.KeyStore$LoadStoreParameter param
         0: .line 717
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
            invokevirtual sun.security.pkcs11.Token.ensureValid:()V
         1: .line 718
            aload 1 /* param */
            ifnull 5
         2: .line 719
            new java.lang.IllegalArgumentException
            dup
         3: .line 720
            ldc "LoadStoreParameter must be null"
         4: .line 719
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         5: .line 722
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.security.KeyStore$LoadStoreParameter param
        end local 0 // sun.security.pkcs11.P11KeyStore this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    6     0   this  Lsun/security/pkcs11/P11KeyStore;
            0    6     1  param  Ljava/security/KeyStore$LoadStoreParameter;
    Exceptions:
      throws java.io.IOException, java.security.NoSuchAlgorithmException, java.security.cert.CertificateException
    MethodParameters:
       Name  Flags
      param  

  public synchronized void engineLoad(java.io.InputStream, char[]);
    descriptor: (Ljava/io/InputStream;[C)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // sun.security.pkcs11.P11KeyStore this
        start local 1 // java.io.InputStream stream
        start local 2 // char[] password
         0: .line 740
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
            invokevirtual sun.security.pkcs11.Token.ensureValid:()V
         1: .line 746
            aload 1 /* stream */
            ifnull 3
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
            getfield sun.security.pkcs11.Token.config:Lsun/security/pkcs11/Config;
            invokevirtual sun.security.pkcs11.Config.getKeyStoreCompatibilityMode:()Z
            ifne 3
         2: .line 747
            new java.io.IOException
            dup
            ldc "input stream must be null"
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 750
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.useSecmodTrust:Z
            ifeq 5
         4: .line 751
            aload 0 /* this */
            getstatic sun.security.pkcs11.Secmod$TrustType.ALL:Lsun/security/pkcs11/Secmod$TrustType;
            putfield sun.security.pkcs11.P11KeyStore.nssTrustType:Lsun/security/pkcs11/Secmod$TrustType;
         5: .line 755
      StackMap locals:
      StackMap stack:
            aload 2 /* password */
            ifnonnull 8
         6: .line 756
            aload 0 /* this */
            aconst_null
            invokevirtual sun.security.pkcs11.P11KeyStore.login:(Ljavax/security/auth/callback/CallbackHandler;)V
         7: .line 757
            goto 9
         8: .line 758
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            new sun.security.pkcs11.P11KeyStore$PasswordCallbackHandler
            dup
            aload 2 /* password */
            invokespecial sun.security.pkcs11.P11KeyStore$PasswordCallbackHandler.<init>:([C)V
            invokevirtual sun.security.pkcs11.P11KeyStore.login:(Ljavax/security/auth/callback/CallbackHandler;)V
         9: .line 760
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual sun.security.pkcs11.P11KeyStore.mapLabels:()Z
            ifeq 11
        10: .line 762
            aload 0 /* this */
            iconst_1
            putfield sun.security.pkcs11.P11KeyStore.writeDisabled:Z
        11: .line 764
      StackMap locals:
      StackMap stack:
            getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
            ifnull 20
        12: .line 765
            aload 0 /* this */
            invokevirtual sun.security.pkcs11.P11KeyStore.dumpTokenMap:()V
        13: .line 767
            goto 20
      StackMap locals:
      StackMap stack: javax.security.auth.login.LoginException
        14: astore 3 /* le */
        start local 3 // javax.security.auth.login.LoginException le
        15: .line 768
            new java.io.IOException
            dup
            ldc "load failed"
            aload 3 /* le */
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 3 // javax.security.auth.login.LoginException le
        16: .line 769
      StackMap locals:
      StackMap stack: java.security.KeyStoreException
            astore 3 /* kse */
        start local 3 // java.security.KeyStoreException kse
        17: .line 770
            new java.io.IOException
            dup
            ldc "load failed"
            aload 3 /* kse */
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 3 // java.security.KeyStoreException kse
        18: .line 771
      StackMap locals:
      StackMap stack: sun.security.pkcs11.wrapper.PKCS11Exception
            astore 3 /* pe */
        start local 3 // sun.security.pkcs11.wrapper.PKCS11Exception pe
        19: .line 772
            new java.io.IOException
            dup
            ldc "load failed"
            aload 3 /* pe */
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 3 // sun.security.pkcs11.wrapper.PKCS11Exception pe
        20: .line 774
      StackMap locals:
      StackMap stack:
            return
        end local 2 // char[] password
        end local 1 // java.io.InputStream stream
        end local 0 // sun.security.pkcs11.P11KeyStore this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   21     0      this  Lsun/security/pkcs11/P11KeyStore;
            0   21     1    stream  Ljava/io/InputStream;
            0   21     2  password  [C
           15   16     3        le  Ljavax/security/auth/login/LoginException;
           17   18     3       kse  Ljava/security/KeyStoreException;
           19   20     3        pe  Lsun/security/pkcs11/wrapper/PKCS11Exception;
      Exception table:
        from    to  target  type
           5    13      14  Class javax.security.auth.login.LoginException
           5    13      16  Class java.security.KeyStoreException
           5    13      18  Class sun.security.pkcs11.wrapper.PKCS11Exception
    Exceptions:
      throws java.io.IOException, java.security.NoSuchAlgorithmException, java.security.cert.CertificateException
    MethodParameters:
          Name  Flags
      stream    
      password  

  public synchronized void engineLoad(java.security.KeyStore$LoadStoreParameter);
    descriptor: (Ljava/security/KeyStore$LoadStoreParameter;)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=4, locals=5, args_size=2
        start local 0 // sun.security.pkcs11.P11KeyStore this
        start local 1 // java.security.KeyStore$LoadStoreParameter param
         0: .line 803
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
            invokevirtual sun.security.pkcs11.Token.ensureValid:()V
         1: .line 813
            aload 1 /* param */
            ifnonnull 5
         2: .line 814
            new java.lang.IllegalArgumentException
            dup
         3: .line 815
            ldc "invalid null LoadStoreParameter"
         4: .line 814
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         5: .line 817
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.useSecmodTrust:Z
            ifeq 10
         6: .line 818
            aload 1 /* param */
            instanceof sun.security.pkcs11.Secmod$KeyStoreLoadParameter
            ifeq 9
         7: .line 819
            aload 0 /* this */
            aload 1 /* param */
            checkcast sun.security.pkcs11.Secmod$KeyStoreLoadParameter
            invokevirtual sun.security.pkcs11.Secmod$KeyStoreLoadParameter.getTrustType:()Lsun/security/pkcs11/Secmod$TrustType;
            putfield sun.security.pkcs11.P11KeyStore.nssTrustType:Lsun/security/pkcs11/Secmod$TrustType;
         8: .line 820
            goto 10
         9: .line 821
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getstatic sun.security.pkcs11.Secmod$TrustType.ALL:Lsun/security/pkcs11/Secmod$TrustType;
            putfield sun.security.pkcs11.P11KeyStore.nssTrustType:Lsun/security/pkcs11/Secmod$TrustType;
        10: .line 826
      StackMap locals:
      StackMap stack:
            aload 1 /* param */
            invokeinterface java.security.KeyStore$LoadStoreParameter.getProtectionParameter:()Ljava/security/KeyStore$ProtectionParameter;
            astore 3 /* pp */
        start local 3 // java.security.KeyStore$ProtectionParameter pp
        11: .line 827
            aload 3 /* pp */
            instanceof java.security.KeyStore$PasswordProtection
            ifeq 18
        12: .line 828
            aload 3 /* pp */
            checkcast java.security.KeyStore$PasswordProtection
            invokevirtual java.security.KeyStore$PasswordProtection.getPassword:()[C
            astore 4 /* password */
        start local 4 // char[] password
        13: .line 829
            aload 4 /* password */
            ifnonnull 16
        14: .line 830
            aconst_null
            astore 2 /* handler */
        start local 2 // javax.security.auth.callback.CallbackHandler handler
        15: .line 831
            goto 24
        end local 2 // javax.security.auth.callback.CallbackHandler handler
        16: .line 832
      StackMap locals: sun.security.pkcs11.P11KeyStore java.security.KeyStore$LoadStoreParameter top java.security.KeyStore$ProtectionParameter char[]
      StackMap stack:
            new sun.security.pkcs11.P11KeyStore$PasswordCallbackHandler
            dup
            aload 4 /* password */
            invokespecial sun.security.pkcs11.P11KeyStore$PasswordCallbackHandler.<init>:([C)V
            astore 2 /* handler */
        end local 4 // char[] password
        start local 2 // javax.security.auth.callback.CallbackHandler handler
        17: .line 834
            goto 24
        end local 2 // javax.security.auth.callback.CallbackHandler handler
      StackMap locals:
      StackMap stack:
        18: aload 3 /* pp */
            instanceof java.security.KeyStore$CallbackHandlerProtection
            ifeq 21
        19: .line 835
            aload 3 /* pp */
            checkcast java.security.KeyStore$CallbackHandlerProtection
            invokevirtual java.security.KeyStore$CallbackHandlerProtection.getCallbackHandler:()Ljavax/security/auth/callback/CallbackHandler;
            astore 2 /* handler */
        start local 2 // javax.security.auth.callback.CallbackHandler handler
        20: .line 836
            goto 24
        end local 2 // javax.security.auth.callback.CallbackHandler handler
        21: .line 837
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
        22: .line 838
            ldc "ProtectionParameter must be either PasswordProtection or CallbackHandlerProtection"
        23: .line 837
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        start local 2 // javax.security.auth.callback.CallbackHandler handler
        24: .line 843
      StackMap locals: sun.security.pkcs11.P11KeyStore java.security.KeyStore$LoadStoreParameter javax.security.auth.callback.CallbackHandler java.security.KeyStore$ProtectionParameter
      StackMap stack:
            aload 0 /* this */
            aload 2 /* handler */
            invokevirtual sun.security.pkcs11.P11KeyStore.login:(Ljavax/security/auth/callback/CallbackHandler;)V
        25: .line 844
            aload 0 /* this */
            invokevirtual sun.security.pkcs11.P11KeyStore.mapLabels:()Z
            ifeq 27
        26: .line 846
            aload 0 /* this */
            iconst_1
            putfield sun.security.pkcs11.P11KeyStore.writeDisabled:Z
        27: .line 848
      StackMap locals:
      StackMap stack:
            getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
            ifnull 36
        28: .line 849
            aload 0 /* this */
            invokevirtual sun.security.pkcs11.P11KeyStore.dumpTokenMap:()V
        29: .line 851
            goto 36
      StackMap locals:
      StackMap stack: javax.security.auth.login.LoginException
        30: astore 4 /* e */
        start local 4 // javax.security.auth.login.LoginException e
        31: .line 852
            new java.io.IOException
            dup
            ldc "load failed"
            aload 4 /* e */
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 4 // javax.security.auth.login.LoginException e
        32: .line 853
      StackMap locals:
      StackMap stack: java.security.KeyStoreException
            astore 4 /* e */
        start local 4 // java.security.KeyStoreException e
        33: .line 854
            new java.io.IOException
            dup
            ldc "load failed"
            aload 4 /* e */
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 4 // java.security.KeyStoreException e
        34: .line 855
      StackMap locals:
      StackMap stack: sun.security.pkcs11.wrapper.PKCS11Exception
            astore 4 /* e */
        start local 4 // sun.security.pkcs11.wrapper.PKCS11Exception e
        35: .line 856
            new java.io.IOException
            dup
            ldc "load failed"
            aload 4 /* e */
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 4 // sun.security.pkcs11.wrapper.PKCS11Exception e
        36: .line 858
      StackMap locals:
      StackMap stack:
            return
        end local 3 // java.security.KeyStore$ProtectionParameter pp
        end local 2 // javax.security.auth.callback.CallbackHandler handler
        end local 1 // java.security.KeyStore$LoadStoreParameter param
        end local 0 // sun.security.pkcs11.P11KeyStore this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   37     0      this  Lsun/security/pkcs11/P11KeyStore;
            0   37     1     param  Ljava/security/KeyStore$LoadStoreParameter;
           15   16     2   handler  Ljavax/security/auth/callback/CallbackHandler;
           17   18     2   handler  Ljavax/security/auth/callback/CallbackHandler;
           20   21     2   handler  Ljavax/security/auth/callback/CallbackHandler;
           24   37     2   handler  Ljavax/security/auth/callback/CallbackHandler;
           11   37     3        pp  Ljava/security/KeyStore$ProtectionParameter;
           13   17     4  password  [C
           31   32     4         e  Ljavax/security/auth/login/LoginException;
           33   34     4         e  Ljava/security/KeyStoreException;
           35   36     4         e  Lsun/security/pkcs11/wrapper/PKCS11Exception;
      Exception table:
        from    to  target  type
          24    29      30  Class javax.security.auth.login.LoginException
          24    29      32  Class java.security.KeyStoreException
          24    29      34  Class sun.security.pkcs11.wrapper.PKCS11Exception
    Exceptions:
      throws java.io.IOException, java.security.NoSuchAlgorithmException, java.security.cert.CertificateException
    MethodParameters:
       Name  Flags
      param  

  private void login(javax.security.auth.callback.CallbackHandler);
    descriptor: (Ljavax/security/auth/callback/CallbackHandler;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // sun.security.pkcs11.P11KeyStore this
        start local 1 // javax.security.auth.callback.CallbackHandler handler
         0: .line 861
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
            getfield sun.security.pkcs11.Token.tokenInfo:Lsun/security/pkcs11/wrapper/CK_TOKEN_INFO;
            getfield sun.security.pkcs11.wrapper.CK_TOKEN_INFO.flags:J
            ldc 256
            land
            lconst_0
            lcmp
            ifne 3
         1: .line 862
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
            getfield sun.security.pkcs11.Token.provider:Lsun/security/pkcs11/SunPKCS11;
            aconst_null
            aload 1 /* handler */
            invokevirtual sun.security.pkcs11.SunPKCS11.login:(Ljavax/security/auth/Subject;Ljavax/security/auth/callback/CallbackHandler;)V
         2: .line 863
            goto 7
         3: .line 868
      StackMap locals:
      StackMap stack:
            aload 1 /* handler */
            ifnull 6
         4: .line 869
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
            getfield sun.security.pkcs11.Token.config:Lsun/security/pkcs11/Config;
            invokevirtual sun.security.pkcs11.Config.getKeyStoreCompatibilityMode:()Z
            ifne 6
         5: .line 870
            new javax.security.auth.login.LoginException
            dup
            ldc "can not specify password if token supports protected authentication path"
            invokespecial javax.security.auth.login.LoginException.<init>:(Ljava/lang/String;)V
            athrow
         6: .line 876
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
            getfield sun.security.pkcs11.Token.provider:Lsun/security/pkcs11/SunPKCS11;
            aconst_null
            aconst_null
            invokevirtual sun.security.pkcs11.SunPKCS11.login:(Ljavax/security/auth/Subject;Ljavax/security/auth/callback/CallbackHandler;)V
         7: .line 878
      StackMap locals:
      StackMap stack:
            return
        end local 1 // javax.security.auth.callback.CallbackHandler handler
        end local 0 // sun.security.pkcs11.P11KeyStore this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    8     0     this  Lsun/security/pkcs11/P11KeyStore;
            0    8     1  handler  Ljavax/security/auth/callback/CallbackHandler;
    Exceptions:
      throws javax.security.auth.login.LoginException
    MethodParameters:
         Name  Flags
      handler  

  public synchronized java.security.KeyStore$Entry engineGetEntry(java.lang.String, java.security.KeyStore$ProtectionParameter);
    descriptor: (Ljava/lang/String;Ljava/security/KeyStore$ProtectionParameter;)Ljava/security/KeyStore$Entry;
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=5, locals=10, args_size=3
        start local 0 // sun.security.pkcs11.P11KeyStore this
        start local 1 // java.lang.String alias
        start local 2 // java.security.KeyStore$ProtectionParameter protParam
         0: .line 902
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
            invokevirtual sun.security.pkcs11.Token.ensureValid:()V
         1: .line 904
            aload 2 /* protParam */
            ifnull 6
         2: .line 905
            aload 2 /* protParam */
            instanceof java.security.KeyStore$PasswordProtection
            ifeq 6
         3: .line 906
            aload 2 /* protParam */
            checkcast java.security.KeyStore$PasswordProtection
            invokevirtual java.security.KeyStore$PasswordProtection.getPassword:()[C
            ifnull 6
         4: .line 907
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
            getfield sun.security.pkcs11.Token.config:Lsun/security/pkcs11/Config;
            invokevirtual sun.security.pkcs11.Config.getKeyStoreCompatibilityMode:()Z
            ifne 6
         5: .line 908
            new java.security.KeyStoreException
            dup
            ldc "ProtectionParameter must be null"
            invokespecial java.security.KeyStoreException.<init>:(Ljava/lang/String;)V
            athrow
         6: .line 911
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.aliasMap:Ljava/util/HashMap;
            aload 1 /* alias */
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast sun.security.pkcs11.P11KeyStore$AliasInfo
            astore 3 /* aliasInfo */
        start local 3 // sun.security.pkcs11.P11KeyStore$AliasInfo aliasInfo
         7: .line 912
            aload 3 /* aliasInfo */
            ifnonnull 14
         8: .line 913
            getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
            ifnull 13
         9: .line 914
            getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
            new java.lang.StringBuilder
            dup
            ldc "engineGetEntry did not find alias ["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        10: .line 915
            aload 1 /* alias */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        11: .line 916
            ldc "] in map"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        12: .line 914
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        13: .line 918
      StackMap locals: sun.security.pkcs11.P11KeyStore$AliasInfo
      StackMap stack:
            aconst_null
            areturn
        14: .line 921
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 4 /* session */
        start local 4 // sun.security.pkcs11.Session session
        15: .line 923
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
            invokevirtual sun.security.pkcs11.Token.getOpSession:()Lsun/security/pkcs11/Session;
            astore 4 /* session */
        16: .line 925
            aload 3 /* aliasInfo */
            getfield sun.security.pkcs11.P11KeyStore$AliasInfo.type:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            getstatic sun.security.pkcs11.P11KeyStore.ATTR_CLASS_CERT:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            if_acmpne 22
        17: .line 927
            getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
            ifnull 19
        18: .line 928
            getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
            ldc "engineGetEntry found trusted cert entry"
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        19: .line 930
      StackMap locals: sun.security.pkcs11.Session
      StackMap stack:
            new java.security.KeyStore$TrustedCertificateEntry
            dup
            aload 3 /* aliasInfo */
            getfield sun.security.pkcs11.P11KeyStore$AliasInfo.cert:Ljava/security/cert/X509Certificate;
            invokespecial java.security.KeyStore$TrustedCertificateEntry.<init>:(Ljava/security/cert/Certificate;)V
            astore 9
        20: .line 974
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
            aload 4 /* session */
            invokevirtual sun.security.pkcs11.Token.releaseSession:(Lsun/security/pkcs11/Session;)Lsun/security/pkcs11/Session;
            pop
        21: .line 930
            aload 9
            areturn
        22: .line 931
      StackMap locals:
      StackMap stack:
            aload 3 /* aliasInfo */
            getfield sun.security.pkcs11.P11KeyStore$AliasInfo.type:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            getstatic sun.security.pkcs11.P11KeyStore.ATTR_CLASS_SKEY:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            if_acmpne 36
        23: .line 933
            getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
            ifnull 25
        24: .line 934
            getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
            ldc "engineGetEntry found secret key entry"
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        25: .line 937
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
        26: .line 938
            aload 4 /* session */
            getstatic sun.security.pkcs11.P11KeyStore.ATTR_CLASS_SKEY:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            aconst_null
            aload 3 /* aliasInfo */
            getfield sun.security.pkcs11.P11KeyStore$AliasInfo.label:Ljava/lang/String;
        27: .line 937
            invokevirtual sun.security.pkcs11.P11KeyStore.getTokenObject:(Lsun/security/pkcs11/Session;Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;[BLjava/lang/String;)Lsun/security/pkcs11/P11KeyStore$THandle;
            astore 5 /* h */
        start local 5 // sun.security.pkcs11.P11KeyStore$THandle h
        28: .line 939
            aload 5 /* h */
            getfield sun.security.pkcs11.P11KeyStore$THandle.type:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            getstatic sun.security.pkcs11.P11KeyStore.ATTR_CLASS_SKEY:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            if_acmpeq 32
        29: .line 940
            new java.security.KeyStoreException
            dup
        30: .line 941
            ldc "expected but could not find secret key"
        31: .line 940
            invokespecial java.security.KeyStoreException.<init>:(Ljava/lang/String;)V
            athrow
        32: .line 943
      StackMap locals: sun.security.pkcs11.P11KeyStore$THandle
      StackMap stack:
            aload 0 /* this */
            aload 4 /* session */
            aload 5 /* h */
            getfield sun.security.pkcs11.P11KeyStore$THandle.handle:J
            invokevirtual sun.security.pkcs11.P11KeyStore.loadSkey:(Lsun/security/pkcs11/Session;J)Ljavax/crypto/SecretKey;
            astore 6 /* skey */
        start local 6 // javax.crypto.SecretKey skey
        33: .line 944
            new java.security.KeyStore$SecretKeyEntry
            dup
            aload 6 /* skey */
            invokespecial java.security.KeyStore$SecretKeyEntry.<init>:(Ljavax/crypto/SecretKey;)V
            astore 9
        34: .line 974
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
            aload 4 /* session */
            invokevirtual sun.security.pkcs11.Token.releaseSession:(Lsun/security/pkcs11/Session;)Lsun/security/pkcs11/Session;
            pop
        35: .line 944
            aload 9
            areturn
        end local 6 // javax.crypto.SecretKey skey
        end local 5 // sun.security.pkcs11.P11KeyStore$THandle h
        36: .line 948
      StackMap locals:
      StackMap stack:
            getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
            ifnull 38
        37: .line 949
            getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
            ldc "engineGetEntry found private key entry"
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        38: .line 952
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
        39: .line 953
            aload 4 /* session */
            getstatic sun.security.pkcs11.P11KeyStore.ATTR_CLASS_PKEY:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            aload 3 /* aliasInfo */
            getfield sun.security.pkcs11.P11KeyStore$AliasInfo.id:[B
            aconst_null
        40: .line 952
            invokevirtual sun.security.pkcs11.P11KeyStore.getTokenObject:(Lsun/security/pkcs11/Session;Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;[BLjava/lang/String;)Lsun/security/pkcs11/P11KeyStore$THandle;
            astore 5 /* h */
        start local 5 // sun.security.pkcs11.P11KeyStore$THandle h
        41: .line 954
            aload 5 /* h */
            getfield sun.security.pkcs11.P11KeyStore$THandle.type:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            getstatic sun.security.pkcs11.P11KeyStore.ATTR_CLASS_PKEY:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            if_acmpeq 45
        42: .line 955
            new java.security.KeyStoreException
            dup
        43: .line 956
            ldc "expected but could not find private key"
        44: .line 955
            invokespecial java.security.KeyStoreException.<init>:(Ljava/lang/String;)V
            athrow
        45: .line 958
      StackMap locals: sun.security.pkcs11.P11KeyStore$THandle
      StackMap stack:
            aload 0 /* this */
            aload 4 /* session */
            aload 5 /* h */
            getfield sun.security.pkcs11.P11KeyStore$THandle.handle:J
            invokevirtual sun.security.pkcs11.P11KeyStore.loadPkey:(Lsun/security/pkcs11/Session;J)Ljava/security/PrivateKey;
            astore 6 /* pkey */
        start local 6 // java.security.PrivateKey pkey
        46: .line 959
            aload 3 /* aliasInfo */
            getfield sun.security.pkcs11.P11KeyStore$AliasInfo.chain:[Ljava/security/cert/X509Certificate;
            astore 7 /* chain */
        start local 7 // java.security.cert.Certificate[] chain
        47: .line 960
            aload 6 /* pkey */
            ifnull 51
            aload 7 /* chain */
            ifnull 51
        48: .line 961
            new java.security.KeyStore$PrivateKeyEntry
            dup
            aload 6 /* pkey */
            aload 7 /* chain */
            invokespecial java.security.KeyStore$PrivateKeyEntry.<init>:(Ljava/security/PrivateKey;[Ljava/security/cert/Certificate;)V
            astore 9
        49: .line 974
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
            aload 4 /* session */
            invokevirtual sun.security.pkcs11.Token.releaseSession:(Lsun/security/pkcs11/Session;)Lsun/security/pkcs11/Session;
            pop
        50: .line 961
            aload 9
            areturn
        51: .line 963
      StackMap locals: java.security.PrivateKey java.security.cert.Certificate[]
      StackMap stack:
            getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
            ifnull 55
        52: .line 964
            getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
        53: .line 965
            ldc "engineGetEntry got null cert chain or private key"
        54: .line 964
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        end local 7 // java.security.cert.Certificate[] chain
        end local 6 // java.security.PrivateKey pkey
        end local 5 // sun.security.pkcs11.P11KeyStore$THandle h
        55: .line 974
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
            aload 4 /* session */
            invokevirtual sun.security.pkcs11.Token.releaseSession:(Lsun/security/pkcs11/Session;)Lsun/security/pkcs11/Session;
            pop
        56: .line 970
            aconst_null
            areturn
        57: .line 971
      StackMap locals:
      StackMap stack: sun.security.pkcs11.wrapper.PKCS11Exception
            astore 5 /* pe */
        start local 5 // sun.security.pkcs11.wrapper.PKCS11Exception pe
        58: .line 972
            new java.security.KeyStoreException
            dup
            aload 5 /* pe */
            invokespecial java.security.KeyStoreException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 5 // sun.security.pkcs11.wrapper.PKCS11Exception pe
        59: .line 973
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 8
        60: .line 974
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
            aload 4 /* session */
            invokevirtual sun.security.pkcs11.Token.releaseSession:(Lsun/security/pkcs11/Session;)Lsun/security/pkcs11/Session;
            pop
        61: .line 975
            aload 8
            athrow
        end local 4 // sun.security.pkcs11.Session session
        end local 3 // sun.security.pkcs11.P11KeyStore$AliasInfo aliasInfo
        end local 2 // java.security.KeyStore$ProtectionParameter protParam
        end local 1 // java.lang.String alias
        end local 0 // sun.security.pkcs11.P11KeyStore this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   62     0       this  Lsun/security/pkcs11/P11KeyStore;
            0   62     1      alias  Ljava/lang/String;
            0   62     2  protParam  Ljava/security/KeyStore$ProtectionParameter;
            7   62     3  aliasInfo  Lsun/security/pkcs11/P11KeyStore$AliasInfo;
           15   62     4    session  Lsun/security/pkcs11/Session;
           28   36     5          h  Lsun/security/pkcs11/P11KeyStore$THandle;
           33   36     6       skey  Ljavax/crypto/SecretKey;
           41   55     5          h  Lsun/security/pkcs11/P11KeyStore$THandle;
           46   55     6       pkey  Ljava/security/PrivateKey;
           47   55     7      chain  [Ljava/security/cert/Certificate;
           58   59     5         pe  Lsun/security/pkcs11/wrapper/PKCS11Exception;
      Exception table:
        from    to  target  type
          15    20      57  Class sun.security.pkcs11.wrapper.PKCS11Exception
          22    34      57  Class sun.security.pkcs11.wrapper.PKCS11Exception
          36    49      57  Class sun.security.pkcs11.wrapper.PKCS11Exception
          51    55      57  Class sun.security.pkcs11.wrapper.PKCS11Exception
          15    20      59  any
          22    34      59  any
          36    49      59  any
          51    55      59  any
          57    59      59  any
    Exceptions:
      throws java.security.KeyStoreException, java.security.NoSuchAlgorithmException, java.security.UnrecoverableEntryException
    MethodParameters:
           Name  Flags
      alias      
      protParam  

  public synchronized void engineSetEntry(java.lang.String, java.security.KeyStore$Entry, java.security.KeyStore$ProtectionParameter);
    descriptor: (Ljava/lang/String;Ljava/security/KeyStore$Entry;Ljava/security/KeyStore$ProtectionParameter;)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=7, locals=11, args_size=4
        start local 0 // sun.security.pkcs11.P11KeyStore this
        start local 1 // java.lang.String alias
        start local 2 // java.security.KeyStore$Entry entry
        start local 3 // java.security.KeyStore$ProtectionParameter protParam
         0: .line 1004
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
            invokevirtual sun.security.pkcs11.Token.ensureValid:()V
         1: .line 1005
            aload 0 /* this */
            invokevirtual sun.security.pkcs11.P11KeyStore.checkWrite:()V
         2: .line 1007
            aload 3 /* protParam */
            ifnull 9
         3: .line 1008
            aload 3 /* protParam */
            instanceof java.security.KeyStore$PasswordProtection
            ifeq 9
         4: .line 1009
            aload 3 /* protParam */
            checkcast java.security.KeyStore$PasswordProtection
            invokevirtual java.security.KeyStore$PasswordProtection.getPassword:()[C
            ifnull 9
         5: .line 1010
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
            getfield sun.security.pkcs11.Token.config:Lsun/security/pkcs11/Config;
            invokevirtual sun.security.pkcs11.Config.getKeyStoreCompatibilityMode:()Z
            ifne 9
         6: .line 1011
            new java.security.KeyStoreException
            dup
            new java.lang.UnsupportedOperationException
            dup
         7: .line 1012
            ldc "ProtectionParameter must be null"
            invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
         8: .line 1011
            invokespecial java.security.KeyStoreException.<init>:(Ljava/lang/Throwable;)V
            athrow
         9: .line 1015
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
            invokevirtual sun.security.pkcs11.Token.isWriteProtected:()Z
            ifeq 11
        10: .line 1016
            new java.security.KeyStoreException
            dup
            ldc "token write-protected"
            invokespecial java.security.KeyStoreException.<init>:(Ljava/lang/String;)V
            athrow
        11: .line 1019
      StackMap locals:
      StackMap stack:
            aload 2 /* entry */
            instanceof java.security.KeyStore$TrustedCertificateEntry
            ifeq 34
        12: .line 1021
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.useSecmodTrust:Z
            ifne 16
        13: .line 1023
            new java.security.KeyStoreException
            dup
            new java.lang.UnsupportedOperationException
            dup
        14: .line 1024
            ldc "trusted certificates may only be set by token initialization application"
            invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
        15: .line 1023
            invokespecial java.security.KeyStoreException.<init>:(Ljava/lang/Throwable;)V
            athrow
        16: .line 1027
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
            getfield sun.security.pkcs11.Token.provider:Lsun/security/pkcs11/SunPKCS11;
            getfield sun.security.pkcs11.SunPKCS11.nssModule:Lsun/security/pkcs11/Secmod$Module;
            astore 4 /* module */
        start local 4 // sun.security.pkcs11.Secmod$Module module
        17: .line 1028
            aload 4 /* module */
            getfield sun.security.pkcs11.Secmod$Module.type:Lsun/security/pkcs11/Secmod$ModuleType;
            getstatic sun.security.pkcs11.Secmod$ModuleType.KEYSTORE:Lsun/security/pkcs11/Secmod$ModuleType;
            if_acmpeq 19
            aload 4 /* module */
            getfield sun.security.pkcs11.Secmod$Module.type:Lsun/security/pkcs11/Secmod$ModuleType;
            getstatic sun.security.pkcs11.Secmod$ModuleType.FIPS:Lsun/security/pkcs11/Secmod$ModuleType;
            if_acmpeq 19
        18: .line 1030
            new java.security.KeyStoreException
            dup
            ldc "Trusted certificates can only be added to the NSS KeyStore module"
            invokespecial java.security.KeyStoreException.<init>:(Ljava/lang/String;)V
            athrow
        19: .line 1033
      StackMap locals: sun.security.pkcs11.Secmod$Module
      StackMap stack:
            aload 2 /* entry */
            checkcast java.security.KeyStore$TrustedCertificateEntry
            invokevirtual java.security.KeyStore$TrustedCertificateEntry.getTrustedCertificate:()Ljava/security/cert/Certificate;
            astore 5 /* cert */
        start local 5 // java.security.cert.Certificate cert
        20: .line 1034
            aload 5 /* cert */
            instanceof java.security.cert.X509Certificate
            ifne 22
        21: .line 1035
            new java.security.KeyStoreException
            dup
            ldc "Certificate must be an X509Certificate"
            invokespecial java.security.KeyStoreException.<init>:(Ljava/lang/String;)V
            athrow
        22: .line 1037
      StackMap locals: java.security.cert.Certificate
      StackMap stack:
            aload 5 /* cert */
            checkcast java.security.cert.X509Certificate
            astore 6 /* xcert */
        start local 6 // java.security.cert.X509Certificate xcert
        23: .line 1038
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.aliasMap:Ljava/util/HashMap;
            aload 1 /* alias */
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast sun.security.pkcs11.P11KeyStore$AliasInfo
            astore 7 /* info */
        start local 7 // sun.security.pkcs11.P11KeyStore$AliasInfo info
        24: .line 1039
            aload 7 /* info */
            ifnull 26
        25: .line 1041
            aload 0 /* this */
            aload 1 /* alias */
            invokevirtual sun.security.pkcs11.P11KeyStore.deleteEntry:(Ljava/lang/String;)Z
            pop
        26: .line 1044
      StackMap locals: java.security.cert.X509Certificate sun.security.pkcs11.P11KeyStore$AliasInfo
      StackMap stack:
            aload 0 /* this */
            aload 1 /* alias */
            aload 6 /* xcert */
            invokevirtual sun.security.pkcs11.P11KeyStore.storeCert:(Ljava/lang/String;Ljava/security/cert/X509Certificate;)V
        27: .line 1045
            aload 4 /* module */
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
            aload 6 /* xcert */
            invokevirtual sun.security.pkcs11.Secmod$Module.setTrust:(Lsun/security/pkcs11/Token;Ljava/security/cert/X509Certificate;)V
        28: .line 1046
            aload 0 /* this */
            invokevirtual sun.security.pkcs11.P11KeyStore.mapLabels:()Z
            pop
        29: .line 1047
            goto 102
      StackMap locals:
      StackMap stack: sun.security.pkcs11.wrapper.PKCS11Exception
        30: astore 8 /* e */
        start local 8 // sun.security.pkcs11.wrapper.PKCS11Exception e
        31: .line 1048
            new java.security.KeyStoreException
            dup
            aload 8 /* e */
            invokespecial java.security.KeyStoreException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 8 // sun.security.pkcs11.wrapper.PKCS11Exception e
        32: .line 1049
      StackMap locals:
      StackMap stack: java.security.cert.CertificateException
            astore 8 /* e */
        start local 8 // java.security.cert.CertificateException e
        33: .line 1050
            new java.security.KeyStoreException
            dup
            aload 8 /* e */
            invokespecial java.security.KeyStoreException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 8 // java.security.cert.CertificateException e
        end local 7 // sun.security.pkcs11.P11KeyStore$AliasInfo info
        end local 6 // java.security.cert.X509Certificate xcert
        end local 5 // java.security.cert.Certificate cert
        end local 4 // sun.security.pkcs11.Secmod$Module module
        34: .line 1055
      StackMap locals: sun.security.pkcs11.P11KeyStore java.lang.String java.security.KeyStore$Entry java.security.KeyStore$ProtectionParameter
      StackMap stack:
            aload 2 /* entry */
            instanceof java.security.KeyStore$PrivateKeyEntry
            ifeq 82
        35: .line 1058
            aload 2 /* entry */
            checkcast java.security.KeyStore$PrivateKeyEntry
            invokevirtual java.security.KeyStore$PrivateKeyEntry.getPrivateKey:()Ljava/security/PrivateKey;
        36: .line 1057
            astore 4 /* key */
        start local 4 // java.security.PrivateKey key
        37: .line 1059
            aload 4 /* key */
            instanceof sun.security.pkcs11.P11Key
            ifne 45
        38: .line 1060
            aload 4 /* key */
            instanceof java.security.interfaces.RSAPrivateKey
            ifne 45
        39: .line 1061
            aload 4 /* key */
            instanceof java.security.interfaces.DSAPrivateKey
            ifne 45
        40: .line 1062
            aload 4 /* key */
            instanceof javax.crypto.interfaces.DHPrivateKey
            ifne 45
        41: .line 1063
            aload 4 /* key */
            instanceof java.security.interfaces.ECPrivateKey
            ifne 45
        42: .line 1064
            new java.security.KeyStoreException
            dup
            new java.lang.StringBuilder
            dup
            ldc "unsupported key type: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        43: .line 1065
            aload 4 /* key */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        44: .line 1064
            invokespecial java.security.KeyStoreException.<init>:(Ljava/lang/String;)V
            athrow
        45: .line 1070
      StackMap locals: java.security.PrivateKey
      StackMap stack:
            aload 2 /* entry */
            checkcast java.security.KeyStore$PrivateKeyEntry
            invokevirtual java.security.KeyStore$PrivateKeyEntry.getCertificateChain:()[Ljava/security/cert/Certificate;
        46: .line 1069
            astore 5 /* chain */
        start local 5 // java.security.cert.Certificate[] chain
        47: .line 1071
            aload 5 /* chain */
            instanceof java.security.cert.X509Certificate[]
            ifne 55
        48: .line 1072
            new java.security.KeyStoreException
            dup
        49: .line 1073
            new java.lang.UnsupportedOperationException
            dup
        50: .line 1074
            new java.lang.StringBuilder
            dup
            ldc "unsupported certificate array type: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        51: .line 1075
            aload 5 /* chain */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        52: .line 1074
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        53: .line 1073
            invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
        54: .line 1072
            invokespecial java.security.KeyStoreException.<init>:(Ljava/lang/Throwable;)V
            athrow
        55: .line 1079
      StackMap locals: java.security.cert.Certificate[]
      StackMap stack:
            iconst_0
            istore 6 /* updatedAlias */
        start local 6 // boolean updatedAlias
        56: .line 1080
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.aliasMap:Ljava/util/HashMap;
            invokevirtual java.util.HashMap.keySet:()Ljava/util/Set;
            astore 7 /* aliases */
        start local 7 // java.util.Set aliases
        57: .line 1081
            aload 7 /* aliases */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 9
            goto 73
      StackMap locals: sun.security.pkcs11.P11KeyStore java.lang.String java.security.KeyStore$Entry java.security.KeyStore$ProtectionParameter java.security.PrivateKey java.security.cert.Certificate[] int java.util.Set top java.util.Iterator
      StackMap stack:
        58: aload 9
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 8 /* oldAlias */
        start local 8 // java.lang.String oldAlias
        59: .line 1085
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.aliasMap:Ljava/util/HashMap;
            aload 8 /* oldAlias */
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast sun.security.pkcs11.P11KeyStore$AliasInfo
            astore 10 /* aliasInfo */
        start local 10 // sun.security.pkcs11.P11KeyStore$AliasInfo aliasInfo
        60: .line 1086
            aload 10 /* aliasInfo */
            getfield sun.security.pkcs11.P11KeyStore$AliasInfo.type:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            getstatic sun.security.pkcs11.P11KeyStore.ATTR_CLASS_PKEY:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            if_acmpne 73
        61: .line 1087
            aload 10 /* aliasInfo */
            getfield sun.security.pkcs11.P11KeyStore$AliasInfo.cert:Ljava/security/cert/X509Certificate;
            invokevirtual java.security.cert.X509Certificate.getPublicKey:()Ljava/security/PublicKey;
        62: .line 1088
            aload 5 /* chain */
            iconst_0
            aaload
            invokevirtual java.security.cert.Certificate.getPublicKey:()Ljava/security/PublicKey;
        63: .line 1087
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
        64: .line 1088
            ifeq 73
        65: .line 1096
            aload 0 /* this */
            aload 1 /* alias */
        66: .line 1097
            aload 10 /* aliasInfo */
            getfield sun.security.pkcs11.P11KeyStore$AliasInfo.id:[B
        67: .line 1098
            aload 5 /* chain */
            checkcast java.security.cert.X509Certificate[]
        68: .line 1099
            aload 10 /* aliasInfo */
            getfield sun.security.pkcs11.P11KeyStore$AliasInfo.cert:Ljava/security/cert/X509Certificate;
            aload 5 /* chain */
            iconst_0
            aaload
            invokevirtual java.security.cert.X509Certificate.equals:(Ljava/lang/Object;)Z
            ifeq 69
            iconst_0
            goto 70
      StackMap locals: sun.security.pkcs11.P11KeyStore java.lang.String java.security.KeyStore$Entry java.security.KeyStore$ProtectionParameter java.security.PrivateKey java.security.cert.Certificate[] int java.util.Set java.lang.String java.util.Iterator sun.security.pkcs11.P11KeyStore$AliasInfo
      StackMap stack: sun.security.pkcs11.P11KeyStore java.lang.String byte[] java.security.cert.X509Certificate[]
        69: iconst_1
        70: .line 1096
      StackMap locals: sun.security.pkcs11.P11KeyStore java.lang.String java.security.KeyStore$Entry java.security.KeyStore$ProtectionParameter java.security.PrivateKey java.security.cert.Certificate[] int java.util.Set java.lang.String java.util.Iterator sun.security.pkcs11.P11KeyStore$AliasInfo
      StackMap stack: sun.security.pkcs11.P11KeyStore java.lang.String byte[] java.security.cert.X509Certificate[] int
            invokevirtual sun.security.pkcs11.P11KeyStore.updatePkey:(Ljava/lang/String;[B[Ljava/security/cert/X509Certificate;Z)V
        71: .line 1100
            iconst_1
            istore 6 /* updatedAlias */
        72: .line 1101
            goto 74
        end local 10 // sun.security.pkcs11.P11KeyStore$AliasInfo aliasInfo
        end local 8 // java.lang.String oldAlias
        73: .line 1081
      StackMap locals: sun.security.pkcs11.P11KeyStore java.lang.String java.security.KeyStore$Entry java.security.KeyStore$ProtectionParameter java.security.PrivateKey java.security.cert.Certificate[] int java.util.Set top java.util.Iterator
      StackMap stack:
            aload 9
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 58
        74: .line 1105
      StackMap locals: sun.security.pkcs11.P11KeyStore java.lang.String java.security.KeyStore$Entry java.security.KeyStore$ProtectionParameter java.security.PrivateKey java.security.cert.Certificate[] int java.util.Set
      StackMap stack:
            iload 6 /* updatedAlias */
            ifne 94
        75: .line 1107
            aload 0 /* this */
            aload 1 /* alias */
            invokevirtual sun.security.pkcs11.P11KeyStore.engineDeleteEntry:(Ljava/lang/String;)V
        76: .line 1108
            aload 0 /* this */
            aload 1 /* alias */
            aload 2 /* entry */
            checkcast java.security.KeyStore$PrivateKeyEntry
            invokevirtual sun.security.pkcs11.P11KeyStore.storePkey:(Ljava/lang/String;Ljava/security/KeyStore$PrivateKeyEntry;)V
        end local 7 // java.util.Set aliases
        end local 6 // boolean updatedAlias
        77: .line 1111
            goto 94
      StackMap locals: sun.security.pkcs11.P11KeyStore java.lang.String java.security.KeyStore$Entry java.security.KeyStore$ProtectionParameter java.security.PrivateKey java.security.cert.Certificate[]
      StackMap stack: sun.security.pkcs11.wrapper.PKCS11Exception
        78: astore 6 /* pe */
        start local 6 // sun.security.pkcs11.wrapper.PKCS11Exception pe
        79: .line 1112
            new java.security.KeyStoreException
            dup
            aload 6 /* pe */
            invokespecial java.security.KeyStoreException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 6 // sun.security.pkcs11.wrapper.PKCS11Exception pe
        80: .line 1113
      StackMap locals:
      StackMap stack: java.security.cert.CertificateException
            astore 6 /* ce */
        start local 6 // java.security.cert.CertificateException ce
        81: .line 1114
            new java.security.KeyStoreException
            dup
            aload 6 /* ce */
            invokespecial java.security.KeyStoreException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 6 // java.security.cert.CertificateException ce
        end local 5 // java.security.cert.Certificate[] chain
        end local 4 // java.security.PrivateKey key
        82: .line 1117
      StackMap locals:
      StackMap stack:
            aload 2 /* entry */
            instanceof java.security.KeyStore$SecretKeyEntry
            ifeq 91
        83: .line 1119
            aload 2 /* entry */
            checkcast java.security.KeyStore$SecretKeyEntry
            astore 4 /* ske */
        start local 4 // java.security.KeyStore$SecretKeyEntry ske
        84: .line 1120
            aload 4 /* ske */
            invokevirtual java.security.KeyStore$SecretKeyEntry.getSecretKey:()Ljavax/crypto/SecretKey;
            pop
        85: .line 1125
            aload 0 /* this */
            aload 1 /* alias */
            invokevirtual sun.security.pkcs11.P11KeyStore.updateSkey:(Ljava/lang/String;)Z
            ifne 94
        86: .line 1133
            aload 0 /* this */
            aload 1 /* alias */
            invokevirtual sun.security.pkcs11.P11KeyStore.engineDeleteEntry:(Ljava/lang/String;)V
        87: .line 1134
            aload 0 /* this */
            aload 1 /* alias */
            aload 4 /* ske */
            invokevirtual sun.security.pkcs11.P11KeyStore.storeSkey:(Ljava/lang/String;Ljava/security/KeyStore$SecretKeyEntry;)V
        88: .line 1136
            goto 94
      StackMap locals: sun.security.pkcs11.P11KeyStore java.lang.String java.security.KeyStore$Entry java.security.KeyStore$ProtectionParameter java.security.KeyStore$SecretKeyEntry
      StackMap stack: sun.security.pkcs11.wrapper.PKCS11Exception
        89: astore 5 /* pe */
        start local 5 // sun.security.pkcs11.wrapper.PKCS11Exception pe
        90: .line 1137
            new java.security.KeyStoreException
            dup
            aload 5 /* pe */
            invokespecial java.security.KeyStoreException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 5 // sun.security.pkcs11.wrapper.PKCS11Exception pe
        end local 4 // java.security.KeyStore$SecretKeyEntry ske
        91: .line 1141
      StackMap locals:
      StackMap stack:
            new java.security.KeyStoreException
            dup
            new java.lang.UnsupportedOperationException
            dup
        92: .line 1142
            new java.lang.StringBuilder
            dup
            ldc "unsupported entry type: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* entry */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
        93: .line 1141
            invokespecial java.security.KeyStoreException.<init>:(Ljava/lang/Throwable;)V
            athrow
        94: .line 1152
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual sun.security.pkcs11.P11KeyStore.mapLabels:()Z
            pop
        95: .line 1153
            getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
            ifnull 102
        96: .line 1154
            aload 0 /* this */
            invokevirtual sun.security.pkcs11.P11KeyStore.dumpTokenMap:()V
        97: .line 1156
            goto 102
      StackMap locals:
      StackMap stack: sun.security.pkcs11.wrapper.PKCS11Exception
        98: astore 4 /* pe */
        start local 4 // sun.security.pkcs11.wrapper.PKCS11Exception pe
        99: .line 1157
            new java.security.KeyStoreException
            dup
            aload 4 /* pe */
            invokespecial java.security.KeyStoreException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 4 // sun.security.pkcs11.wrapper.PKCS11Exception pe
       100: .line 1158
      StackMap locals:
      StackMap stack: java.security.cert.CertificateException
            astore 4 /* ce */
        start local 4 // java.security.cert.CertificateException ce
       101: .line 1159
            new java.security.KeyStoreException
            dup
            aload 4 /* ce */
            invokespecial java.security.KeyStoreException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 4 // java.security.cert.CertificateException ce
       102: .line 1163
      StackMap locals:
      StackMap stack:
            getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
            ifnull 109
       103: .line 1164
            getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
       104: .line 1165
            new java.lang.StringBuilder
            dup
            ldc "engineSetEntry added new entry for ["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
       105: .line 1166
            aload 1 /* alias */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
       106: .line 1167
            ldc "] to token"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
       107: .line 1165
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
       108: .line 1164
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
       109: .line 1169
      StackMap locals:
      StackMap stack:
            return
        end local 3 // java.security.KeyStore$ProtectionParameter protParam
        end local 2 // java.security.KeyStore$Entry entry
        end local 1 // java.lang.String alias
        end local 0 // sun.security.pkcs11.P11KeyStore this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0  110     0          this  Lsun/security/pkcs11/P11KeyStore;
            0  110     1         alias  Ljava/lang/String;
            0  110     2         entry  Ljava/security/KeyStore$Entry;
            0  110     3     protParam  Ljava/security/KeyStore$ProtectionParameter;
           17   34     4        module  Lsun/security/pkcs11/Secmod$Module;
           20   34     5          cert  Ljava/security/cert/Certificate;
           23   34     6         xcert  Ljava/security/cert/X509Certificate;
           24   34     7          info  Lsun/security/pkcs11/P11KeyStore$AliasInfo;
           31   32     8             e  Lsun/security/pkcs11/wrapper/PKCS11Exception;
           33   34     8             e  Ljava/security/cert/CertificateException;
           37   82     4           key  Ljava/security/PrivateKey;
           47   82     5         chain  [Ljava/security/cert/Certificate;
           56   77     6  updatedAlias  Z
           57   77     7       aliases  Ljava/util/Set<Ljava/lang/String;>;
           59   73     8      oldAlias  Ljava/lang/String;
           60   73    10     aliasInfo  Lsun/security/pkcs11/P11KeyStore$AliasInfo;
           79   80     6            pe  Lsun/security/pkcs11/wrapper/PKCS11Exception;
           81   82     6            ce  Ljava/security/cert/CertificateException;
           84   91     4           ske  Ljava/security/KeyStore$SecretKeyEntry;
           90   91     5            pe  Lsun/security/pkcs11/wrapper/PKCS11Exception;
           99  100     4            pe  Lsun/security/pkcs11/wrapper/PKCS11Exception;
          101  102     4            ce  Ljava/security/cert/CertificateException;
      Exception table:
        from    to  target  type
          26    29      30  Class sun.security.pkcs11.wrapper.PKCS11Exception
          26    29      32  Class java.security.cert.CertificateException
          55    77      78  Class sun.security.pkcs11.wrapper.PKCS11Exception
          55    77      80  Class java.security.cert.CertificateException
          85    88      89  Class sun.security.pkcs11.wrapper.PKCS11Exception
          94    97      98  Class sun.security.pkcs11.wrapper.PKCS11Exception
          94    97     100  Class java.security.cert.CertificateException
    Exceptions:
      throws java.security.KeyStoreException
    MethodParameters:
           Name  Flags
      alias      
      entry      
      protParam  

  public synchronized boolean engineEntryInstanceOf(java.lang.String, java.lang.Class<? extends java.security.KeyStore$Entry>);
    descriptor: (Ljava/lang/String;Ljava/lang/Class;)Z
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // sun.security.pkcs11.P11KeyStore this
        start local 1 // java.lang.String alias
        start local 2 // java.lang.Class entryClass
         0: .line 1185
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
            invokevirtual sun.security.pkcs11.Token.ensureValid:()V
         1: .line 1186
            aload 0 /* this */
            aload 1 /* alias */
            aload 2 /* entryClass */
            invokespecial java.security.KeyStoreSpi.engineEntryInstanceOf:(Ljava/lang/String;Ljava/lang/Class;)Z
            ireturn
        end local 2 // java.lang.Class entryClass
        end local 1 // java.lang.String alias
        end local 0 // sun.security.pkcs11.P11KeyStore this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0        this  Lsun/security/pkcs11/P11KeyStore;
            0    2     1       alias  Ljava/lang/String;
            0    2     2  entryClass  Ljava/lang/Class<+Ljava/security/KeyStore$Entry;>;
    Signature: (Ljava/lang/String;Ljava/lang/Class<+Ljava/security/KeyStore$Entry;>;)Z
    MethodParameters:
            Name  Flags
      alias       
      entryClass  

  private java.security.cert.X509Certificate loadCert(sun.security.pkcs11.Session, long);
    descriptor: (Lsun/security/pkcs11/Session;J)Ljava/security/cert/X509Certificate;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=7, args_size=3
        start local 0 // sun.security.pkcs11.P11KeyStore this
        start local 1 // sun.security.pkcs11.Session session
        start local 2 // long oHandle
         0: .line 1193
            iconst_1
            anewarray sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            iconst_0
            new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            ldc 17
            invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(J)V
            aastore
         1: .line 1192
            astore 4 /* attrs */
        start local 4 // sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] attrs
         2: .line 1194
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
            getfield sun.security.pkcs11.Token.p11:Lsun/security/pkcs11/wrapper/PKCS11;
            aload 1 /* session */
            invokevirtual sun.security.pkcs11.Session.id:()J
            lload 2 /* oHandle */
            aload 4 /* attrs */
            invokevirtual sun.security.pkcs11.wrapper.PKCS11.C_GetAttributeValue:(JJ[Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;)V
         3: .line 1196
            aload 4 /* attrs */
            iconst_0
            aaload
            invokevirtual sun.security.pkcs11.wrapper.CK_ATTRIBUTE.getByteArray:()[B
            astore 5 /* bytes */
        start local 5 // byte[] bytes
         4: .line 1197
            aload 5 /* bytes */
            ifnonnull 8
         5: .line 1198
            new java.security.cert.CertificateException
            dup
         6: .line 1199
            ldc "unexpectedly retrieved null byte array"
         7: .line 1198
            invokespecial java.security.cert.CertificateException.<init>:(Ljava/lang/String;)V
            athrow
         8: .line 1201
      StackMap locals: sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] byte[]
      StackMap stack:
            ldc "X.509"
            invokestatic java.security.cert.CertificateFactory.getInstance:(Ljava/lang/String;)Ljava/security/cert/CertificateFactory;
            astore 6 /* cf */
        start local 6 // java.security.cert.CertificateFactory cf
         9: .line 1202
            aload 6 /* cf */
        10: .line 1203
            new java.io.ByteArrayInputStream
            dup
            aload 5 /* bytes */
            invokespecial java.io.ByteArrayInputStream.<init>:([B)V
        11: .line 1202
            invokevirtual java.security.cert.CertificateFactory.generateCertificate:(Ljava/io/InputStream;)Ljava/security/cert/Certificate;
            checkcast java.security.cert.X509Certificate
            areturn
        end local 6 // java.security.cert.CertificateFactory cf
        end local 5 // byte[] bytes
        end local 4 // sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] attrs
        end local 2 // long oHandle
        end local 1 // sun.security.pkcs11.Session session
        end local 0 // sun.security.pkcs11.P11KeyStore this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   12     0     this  Lsun/security/pkcs11/P11KeyStore;
            0   12     1  session  Lsun/security/pkcs11/Session;
            0   12     2  oHandle  J
            2   12     4    attrs  [Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            4   12     5    bytes  [B
            9   12     6       cf  Ljava/security/cert/CertificateFactory;
    Exceptions:
      throws sun.security.pkcs11.wrapper.PKCS11Exception, java.security.cert.CertificateException
    MethodParameters:
         Name  Flags
      session  
      oHandle  

  private java.security.cert.X509Certificate[] loadChain(sun.security.pkcs11.Session, java.security.cert.X509Certificate);
    descriptor: (Lsun/security/pkcs11/Session;Ljava/security/cert/X509Certificate;)[Ljava/security/cert/X509Certificate;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=8, locals=7, args_size=3
        start local 0 // sun.security.pkcs11.P11KeyStore this
        start local 1 // sun.security.pkcs11.Session session
        start local 2 // java.security.cert.X509Certificate endCert
         0: .line 1210
            aconst_null
            astore 3 /* lChain */
        start local 3 // java.util.ArrayList lChain
         1: .line 1212
            aload 2 /* endCert */
            invokevirtual java.security.cert.X509Certificate.getSubjectX500Principal:()Ljavax/security/auth/x500/X500Principal;
         2: .line 1213
            aload 2 /* endCert */
            invokevirtual java.security.cert.X509Certificate.getIssuerX500Principal:()Ljavax/security/auth/x500/X500Principal;
         3: .line 1212
            invokevirtual javax.security.auth.x500.X500Principal.equals:(Ljava/lang/Object;)Z
         4: .line 1213
            ifeq 6
         5: .line 1215
            iconst_1
            anewarray java.security.cert.X509Certificate
            dup
            iconst_0
            aload 2 /* endCert */
            aastore
            areturn
         6: .line 1217
      StackMap locals: java.util.ArrayList
      StackMap stack:
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 3 /* lChain */
         7: .line 1218
            aload 3 /* lChain */
            aload 2 /* endCert */
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
         8: .line 1224
            aload 2 /* endCert */
            astore 4 /* next */
        start local 4 // java.security.cert.X509Certificate next
         9: .line 1226
      StackMap locals: java.security.cert.X509Certificate
      StackMap stack:
            iconst_3
            anewarray sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            iconst_0
        10: .line 1227
            getstatic sun.security.pkcs11.P11KeyStore.ATTR_TOKEN_TRUE:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            aastore
            dup
            iconst_1
        11: .line 1228
            getstatic sun.security.pkcs11.P11KeyStore.ATTR_CLASS_CERT:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            aastore
            dup
            iconst_2
        12: .line 1229
            new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            ldc 257
        13: .line 1230
            aload 4 /* next */
            invokevirtual java.security.cert.X509Certificate.getIssuerX500Principal:()Ljavax/security/auth/x500/X500Principal;
            invokevirtual javax.security.auth.x500.X500Principal.getEncoded:()[B
        14: .line 1229
            invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JLjava/lang/Object;)V
            aastore
        15: .line 1226
            astore 5 /* attrs */
        start local 5 // sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] attrs
        16: .line 1231
            aload 1 /* session */
            aload 5 /* attrs */
            invokestatic sun.security.pkcs11.P11KeyStore.findObjects:(Lsun/security/pkcs11/Session;[Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;)[J
            astore 6 /* ch */
        start local 6 // long[] ch
        17: .line 1233
            aload 6 /* ch */
            ifnull 32
            aload 6 /* ch */
            arraylength
            ifne 19
        18: .line 1235
            goto 32
        19: .line 1238
      StackMap locals: sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] long[]
      StackMap stack:
            getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
            ifnull 26
            aload 6 /* ch */
            arraylength
            iconst_1
            if_icmple 26
        20: .line 1239
            getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
            new java.lang.StringBuilder
            dup
            ldc "engineGetEntry found "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        21: .line 1240
            aload 6 /* ch */
            arraylength
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
        22: .line 1241
            ldc " certificate entries for subject ["
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        23: .line 1242
            aload 4 /* next */
            invokevirtual java.security.cert.X509Certificate.getIssuerX500Principal:()Ljavax/security/auth/x500/X500Principal;
            invokevirtual javax.security.auth.x500.X500Principal.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        24: .line 1243
            ldc "] in token - using first entry"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        25: .line 1239
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        26: .line 1246
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* session */
            aload 6 /* ch */
            iconst_0
            laload
            invokevirtual sun.security.pkcs11.P11KeyStore.loadCert:(Lsun/security/pkcs11/Session;J)Ljava/security/cert/X509Certificate;
            astore 4 /* next */
        27: .line 1247
            aload 3 /* lChain */
            aload 4 /* next */
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        28: .line 1248
            aload 4 /* next */
            invokevirtual java.security.cert.X509Certificate.getSubjectX500Principal:()Ljavax/security/auth/x500/X500Principal;
        29: .line 1249
            aload 4 /* next */
            invokevirtual java.security.cert.X509Certificate.getIssuerX500Principal:()Ljavax/security/auth/x500/X500Principal;
        30: .line 1248
            invokevirtual javax.security.auth.x500.X500Principal.equals:(Ljava/lang/Object;)Z
        31: .line 1249
            ifeq 9
        end local 6 // long[] ch
        end local 5 // sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] attrs
        32: .line 1256
      StackMap locals:
      StackMap stack:
            aload 3 /* lChain */
            aload 3 /* lChain */
            invokevirtual java.util.ArrayList.size:()I
            anewarray java.security.cert.X509Certificate
            invokevirtual java.util.ArrayList.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast java.security.cert.X509Certificate[]
            areturn
        end local 4 // java.security.cert.X509Certificate next
        end local 3 // java.util.ArrayList lChain
        end local 2 // java.security.cert.X509Certificate endCert
        end local 1 // sun.security.pkcs11.Session session
        end local 0 // sun.security.pkcs11.P11KeyStore this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   33     0     this  Lsun/security/pkcs11/P11KeyStore;
            0   33     1  session  Lsun/security/pkcs11/Session;
            0   33     2  endCert  Ljava/security/cert/X509Certificate;
            1   33     3   lChain  Ljava/util/ArrayList<Ljava/security/cert/X509Certificate;>;
            9   33     4     next  Ljava/security/cert/X509Certificate;
           16   32     5    attrs  [Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
           17   32     6       ch  [J
    Exceptions:
      throws sun.security.pkcs11.wrapper.PKCS11Exception, java.security.cert.CertificateException
    MethodParameters:
         Name  Flags
      session  
      endCert  

  private javax.crypto.SecretKey loadSkey(sun.security.pkcs11.Session, long);
    descriptor: (Lsun/security/pkcs11/Session;J)Ljavax/crypto/SecretKey;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=9, args_size=3
        start local 0 // sun.security.pkcs11.P11KeyStore this
        start local 1 // sun.security.pkcs11.Session session
        start local 2 // long oHandle
         0: .line 1262
            iconst_1
            anewarray sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            iconst_0
         1: .line 1263
            new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            ldc 256
            invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(J)V
            aastore
         2: .line 1262
            astore 4 /* attrs */
        start local 4 // sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] attrs
         3: .line 1264
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
            getfield sun.security.pkcs11.Token.p11:Lsun/security/pkcs11/wrapper/PKCS11;
            aload 1 /* session */
            invokevirtual sun.security.pkcs11.Session.id:()J
            lload 2 /* oHandle */
            aload 4 /* attrs */
            invokevirtual sun.security.pkcs11.wrapper.PKCS11.C_GetAttributeValue:(JJ[Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;)V
         4: .line 1265
            aload 4 /* attrs */
            iconst_0
            aaload
            invokevirtual sun.security.pkcs11.wrapper.CK_ATTRIBUTE.getLong:()J
            lstore 5 /* kType */
        start local 5 // long kType
         5: .line 1267
            aconst_null
            astore 7 /* keyType */
        start local 7 // java.lang.String keyType
         6: .line 1268
            iconst_m1
            istore 8 /* keyLength */
        start local 8 // int keyLength
         7: .line 1272
            lload 5 /* kType */
            ldc 19
            lcmp
            ifeq 8
            lload 5 /* kType */
            ldc 21
            lcmp
            ifne 16
         8: .line 1273
      StackMap locals: sun.security.pkcs11.P11KeyStore sun.security.pkcs11.Session long sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] long java.lang.String int
      StackMap stack:
            lload 5 /* kType */
            ldc 19
            lcmp
            ifne 12
         9: .line 1274
            ldc "DES"
            astore 7 /* keyType */
        10: .line 1275
            bipush 64
            istore 8 /* keyLength */
        11: .line 1276
            goto 34
      StackMap locals:
      StackMap stack:
        12: lload 5 /* kType */
            ldc 21
            lcmp
            ifne 34
        13: .line 1277
            ldc "DESede"
            astore 7 /* keyType */
        14: .line 1278
            sipush 192
            istore 8 /* keyLength */
        15: .line 1280
            goto 34
        16: .line 1281
      StackMap locals:
      StackMap stack:
            lload 5 /* kType */
            ldc 31
            lcmp
            ifne 19
        17: .line 1282
            ldc "AES"
            astore 7 /* keyType */
        18: .line 1283
            goto 31
      StackMap locals:
      StackMap stack:
        19: lload 5 /* kType */
            ldc 32
            lcmp
            ifne 22
        20: .line 1284
            ldc "Blowfish"
            astore 7 /* keyType */
        21: .line 1285
            goto 31
      StackMap locals:
      StackMap stack:
        22: lload 5 /* kType */
            ldc 18
            lcmp
            ifne 25
        23: .line 1286
            ldc "ARCFOUR"
            astore 7 /* keyType */
        24: .line 1287
            goto 31
        25: .line 1288
      StackMap locals:
      StackMap stack:
            getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
            ifnull 30
        26: .line 1289
            getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
            new java.lang.StringBuilder
            dup
            ldc "unknown key type ["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        27: .line 1290
            lload 5 /* kType */
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
        28: .line 1291
            ldc "] - using 'Generic Secret'"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        29: .line 1289
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        30: .line 1293
      StackMap locals:
      StackMap stack:
            ldc "Generic Secret"
            astore 7 /* keyType */
        31: .line 1300
      StackMap locals:
      StackMap stack:
            iconst_1
            anewarray sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            iconst_0
            new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            ldc 353
            invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(J)V
            aastore
            astore 4 /* attrs */
        32: .line 1301
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
            getfield sun.security.pkcs11.Token.p11:Lsun/security/pkcs11/wrapper/PKCS11;
            aload 1 /* session */
            invokevirtual sun.security.pkcs11.Session.id:()J
            lload 2 /* oHandle */
            aload 4 /* attrs */
            invokevirtual sun.security.pkcs11.wrapper.PKCS11.C_GetAttributeValue:(JJ[Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;)V
        33: .line 1302
            aload 4 /* attrs */
            iconst_0
            aaload
            invokevirtual sun.security.pkcs11.wrapper.CK_ATTRIBUTE.getLong:()J
            l2i
            istore 8 /* keyLength */
        34: .line 1306
      StackMap locals:
      StackMap stack:
            aload 1 /* session */
            lload 2 /* oHandle */
            aload 7 /* keyType */
            iload 8 /* keyLength */
            aconst_null
            invokestatic sun.security.pkcs11.P11Key.secretKey:(Lsun/security/pkcs11/Session;JLjava/lang/String;I[Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;)Ljavax/crypto/SecretKey;
            areturn
        end local 8 // int keyLength
        end local 7 // java.lang.String keyType
        end local 5 // long kType
        end local 4 // sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] attrs
        end local 2 // long oHandle
        end local 1 // sun.security.pkcs11.Session session
        end local 0 // sun.security.pkcs11.P11KeyStore this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   35     0       this  Lsun/security/pkcs11/P11KeyStore;
            0   35     1    session  Lsun/security/pkcs11/Session;
            0   35     2    oHandle  J
            3   35     4      attrs  [Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            5   35     5      kType  J
            6   35     7    keyType  Ljava/lang/String;
            7   35     8  keyLength  I
    Exceptions:
      throws sun.security.pkcs11.wrapper.PKCS11Exception
    MethodParameters:
         Name  Flags
      session  
      oHandle  

  private java.security.PrivateKey loadPkey(sun.security.pkcs11.Session, long);
    descriptor: (Lsun/security/pkcs11/Session;J)Ljava/security/PrivateKey;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=11, args_size=3
        start local 0 // sun.security.pkcs11.P11KeyStore this
        start local 1 // sun.security.pkcs11.Session session
        start local 2 // long oHandle
         0: .line 1312
            iconst_1
            anewarray sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            iconst_0
         1: .line 1313
            new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            ldc 256
            invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(J)V
            aastore
         2: .line 1312
            astore 4 /* attrs */
        start local 4 // sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] attrs
         3: .line 1314
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
            getfield sun.security.pkcs11.Token.p11:Lsun/security/pkcs11/wrapper/PKCS11;
            aload 1 /* session */
            invokevirtual sun.security.pkcs11.Session.id:()J
            lload 2 /* oHandle */
            aload 4 /* attrs */
            invokevirtual sun.security.pkcs11.wrapper.PKCS11.C_GetAttributeValue:(JJ[Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;)V
         4: .line 1315
            aload 4 /* attrs */
            iconst_0
            aaload
            invokevirtual sun.security.pkcs11.wrapper.CK_ATTRIBUTE.getLong:()J
            lstore 5 /* kType */
        start local 5 // long kType
         5: .line 1316
            aconst_null
            astore 7 /* keyType */
        start local 7 // java.lang.String keyType
         6: .line 1317
            iconst_0
            istore 8 /* keyLength */
        start local 8 // int keyLength
         7: .line 1319
            lload 5 /* kType */
            lconst_0
            lcmp
            ifne 25
         8: .line 1321
            ldc "RSA"
            astore 7 /* keyType */
         9: .line 1323
            iconst_1
            anewarray sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            iconst_0
            new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            ldc 288
            invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(J)V
            aastore
            astore 4 /* attrs */
        10: .line 1324
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
            getfield sun.security.pkcs11.Token.p11:Lsun/security/pkcs11/wrapper/PKCS11;
            aload 1 /* session */
            invokevirtual sun.security.pkcs11.Session.id:()J
            lload 2 /* oHandle */
            aload 4 /* attrs */
            invokevirtual sun.security.pkcs11.wrapper.PKCS11.C_GetAttributeValue:(JJ[Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;)V
        11: .line 1325
            aload 4 /* attrs */
            iconst_0
            aaload
            invokevirtual sun.security.pkcs11.wrapper.CK_ATTRIBUTE.getBigInteger:()Ljava/math/BigInteger;
            astore 9 /* modulus */
        start local 9 // java.math.BigInteger modulus
        12: .line 1326
            aload 9 /* modulus */
            invokevirtual java.math.BigInteger.bitLength:()I
            istore 8 /* keyLength */
        13: .line 1331
            iload 8 /* keyLength */
            aconst_null
        14: .line 1332
            iconst_m1
            ldc 2147483647
        15: .line 1331
            invokestatic sun.security.rsa.RSAKeyFactory.checkKeyLengths:(ILjava/math/BigInteger;II)V
        16: .line 1333
            goto 19
      StackMap locals: sun.security.pkcs11.P11KeyStore sun.security.pkcs11.Session long sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] long java.lang.String int java.math.BigInteger
      StackMap stack: java.security.InvalidKeyException
        17: astore 10 /* e */
        start local 10 // java.security.InvalidKeyException e
        18: .line 1334
            new java.security.KeyStoreException
            dup
            aload 10 /* e */
            invokevirtual java.security.InvalidKeyException.getMessage:()Ljava/lang/String;
            invokespecial java.security.KeyStoreException.<init>:(Ljava/lang/String;)V
            athrow
        end local 10 // java.security.InvalidKeyException e
        19: .line 1337
      StackMap locals:
      StackMap stack:
            aload 1 /* session */
        20: .line 1338
            lload 2 /* oHandle */
        21: .line 1339
            aload 7 /* keyType */
        22: .line 1340
            iload 8 /* keyLength */
        23: .line 1341
            aconst_null
        24: .line 1337
            invokestatic sun.security.pkcs11.P11Key.privateKey:(Lsun/security/pkcs11/Session;JLjava/lang/String;I[Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;)Ljava/security/PrivateKey;
            areturn
        end local 9 // java.math.BigInteger modulus
        25: .line 1343
      StackMap locals:
      StackMap stack:
            lload 5 /* kType */
            lconst_1
            lcmp
            ifne 37
        26: .line 1345
            ldc "DSA"
            astore 7 /* keyType */
        27: .line 1347
            iconst_1
            anewarray sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            iconst_0
            new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            ldc 304
            invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(J)V
            aastore
            astore 4 /* attrs */
        28: .line 1348
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
            getfield sun.security.pkcs11.Token.p11:Lsun/security/pkcs11/wrapper/PKCS11;
            aload 1 /* session */
            invokevirtual sun.security.pkcs11.Session.id:()J
            lload 2 /* oHandle */
            aload 4 /* attrs */
            invokevirtual sun.security.pkcs11.wrapper.PKCS11.C_GetAttributeValue:(JJ[Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;)V
        29: .line 1349
            aload 4 /* attrs */
            iconst_0
            aaload
            invokevirtual sun.security.pkcs11.wrapper.CK_ATTRIBUTE.getBigInteger:()Ljava/math/BigInteger;
            astore 9 /* prime */
        start local 9 // java.math.BigInteger prime
        30: .line 1350
            aload 9 /* prime */
            invokevirtual java.math.BigInteger.bitLength:()I
            istore 8 /* keyLength */
        31: .line 1352
            aload 1 /* session */
        32: .line 1353
            lload 2 /* oHandle */
        33: .line 1354
            aload 7 /* keyType */
        34: .line 1355
            iload 8 /* keyLength */
        35: .line 1356
            aconst_null
        36: .line 1352
            invokestatic sun.security.pkcs11.P11Key.privateKey:(Lsun/security/pkcs11/Session;JLjava/lang/String;I[Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;)Ljava/security/PrivateKey;
            areturn
        end local 9 // java.math.BigInteger prime
        37: .line 1358
      StackMap locals:
      StackMap stack:
            lload 5 /* kType */
            ldc 2
            lcmp
            ifne 49
        38: .line 1360
            ldc "DH"
            astore 7 /* keyType */
        39: .line 1362
            iconst_1
            anewarray sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            iconst_0
            new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            ldc 304
            invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(J)V
            aastore
            astore 4 /* attrs */
        40: .line 1363
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
            getfield sun.security.pkcs11.Token.p11:Lsun/security/pkcs11/wrapper/PKCS11;
            aload 1 /* session */
            invokevirtual sun.security.pkcs11.Session.id:()J
            lload 2 /* oHandle */
            aload 4 /* attrs */
            invokevirtual sun.security.pkcs11.wrapper.PKCS11.C_GetAttributeValue:(JJ[Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;)V
        41: .line 1364
            aload 4 /* attrs */
            iconst_0
            aaload
            invokevirtual sun.security.pkcs11.wrapper.CK_ATTRIBUTE.getBigInteger:()Ljava/math/BigInteger;
            astore 9 /* prime */
        start local 9 // java.math.BigInteger prime
        42: .line 1365
            aload 9 /* prime */
            invokevirtual java.math.BigInteger.bitLength:()I
            istore 8 /* keyLength */
        43: .line 1367
            aload 1 /* session */
        44: .line 1368
            lload 2 /* oHandle */
        45: .line 1369
            aload 7 /* keyType */
        46: .line 1370
            iload 8 /* keyLength */
        47: .line 1371
            aconst_null
        48: .line 1367
            invokestatic sun.security.pkcs11.P11Key.privateKey:(Lsun/security/pkcs11/Session;JLjava/lang/String;I[Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;)Ljava/security/PrivateKey;
            areturn
        end local 9 // java.math.BigInteger prime
        49: .line 1373
      StackMap locals:
      StackMap stack:
            lload 5 /* kType */
            ldc 3
            lcmp
            ifne 61
        50: .line 1375
            iconst_1
            anewarray sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            iconst_0
        51: .line 1376
            new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            ldc 384
            invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(J)V
            aastore
        52: .line 1375
            astore 4 /* attrs */
        53: .line 1378
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
            getfield sun.security.pkcs11.Token.p11:Lsun/security/pkcs11/wrapper/PKCS11;
            aload 1 /* session */
            invokevirtual sun.security.pkcs11.Session.id:()J
            lload 2 /* oHandle */
            aload 4 /* attrs */
            invokevirtual sun.security.pkcs11.wrapper.PKCS11.C_GetAttributeValue:(JJ[Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;)V
        54: .line 1379
            aload 4 /* attrs */
            iconst_0
            aaload
            invokevirtual sun.security.pkcs11.wrapper.CK_ATTRIBUTE.getByteArray:()[B
            astore 9 /* encodedParams */
        start local 9 // byte[] encodedParams
        55: .line 1381
            aload 9 /* encodedParams */
            invokestatic sun.security.ec.ECParameters.decodeParameters:([B)Ljava/security/spec/ECParameterSpec;
            astore 10 /* params */
        start local 10 // java.security.spec.ECParameterSpec params
        56: .line 1382
            aload 10 /* params */
            invokevirtual java.security.spec.ECParameterSpec.getCurve:()Ljava/security/spec/EllipticCurve;
            invokevirtual java.security.spec.EllipticCurve.getField:()Ljava/security/spec/ECField;
            invokeinterface java.security.spec.ECField.getFieldSize:()I
            istore 8 /* keyLength */
        end local 10 // java.security.spec.ECParameterSpec params
        57: .line 1383
            goto 60
      StackMap locals: sun.security.pkcs11.P11KeyStore sun.security.pkcs11.Session long sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] long java.lang.String int byte[]
      StackMap stack: java.io.IOException
        58: astore 10 /* e */
        start local 10 // java.io.IOException e
        59: .line 1385
            new java.security.KeyStoreException
            dup
            ldc "Unsupported parameters"
            aload 10 /* e */
            invokespecial java.security.KeyStoreException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 10 // java.io.IOException e
        60: .line 1388
      StackMap locals:
      StackMap stack:
            aload 1 /* session */
            lload 2 /* oHandle */
            ldc "EC"
            iload 8 /* keyLength */
            aconst_null
            invokestatic sun.security.pkcs11.P11Key.privateKey:(Lsun/security/pkcs11/Session;JLjava/lang/String;I[Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;)Ljava/security/PrivateKey;
            areturn
        end local 9 // byte[] encodedParams
        61: .line 1391
      StackMap locals:
      StackMap stack:
            getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
            ifnull 63
        62: .line 1392
            getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
            new java.lang.StringBuilder
            dup
            ldc "unknown key type ["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            lload 5 /* kType */
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            ldc "]"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        63: .line 1394
      StackMap locals:
      StackMap stack:
            new java.security.KeyStoreException
            dup
            ldc "unknown key type"
            invokespecial java.security.KeyStoreException.<init>:(Ljava/lang/String;)V
            athrow
        end local 8 // int keyLength
        end local 7 // java.lang.String keyType
        end local 5 // long kType
        end local 4 // sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] attrs
        end local 2 // long oHandle
        end local 1 // sun.security.pkcs11.Session session
        end local 0 // sun.security.pkcs11.P11KeyStore this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   64     0           this  Lsun/security/pkcs11/P11KeyStore;
            0   64     1        session  Lsun/security/pkcs11/Session;
            0   64     2        oHandle  J
            3   64     4          attrs  [Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            5   64     5          kType  J
            6   64     7        keyType  Ljava/lang/String;
            7   64     8      keyLength  I
           12   25     9        modulus  Ljava/math/BigInteger;
           18   19    10              e  Ljava/security/InvalidKeyException;
           30   37     9          prime  Ljava/math/BigInteger;
           42   49     9          prime  Ljava/math/BigInteger;
           55   61     9  encodedParams  [B
           56   57    10         params  Ljava/security/spec/ECParameterSpec;
           59   60    10              e  Ljava/io/IOException;
      Exception table:
        from    to  target  type
          13    16      17  Class java.security.InvalidKeyException
          55    57      58  Class java.io.IOException
    Exceptions:
      throws sun.security.pkcs11.wrapper.PKCS11Exception, java.security.KeyStoreException
    MethodParameters:
         Name  Flags
      session  
      oHandle  

  private boolean updateSkey(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=8, locals=6, args_size=2
        start local 0 // sun.security.pkcs11.P11KeyStore this
        start local 1 // java.lang.String alias
         0: .line 1404
            aconst_null
            astore 2 /* session */
        start local 2 // sun.security.pkcs11.Session session
         1: .line 1406
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
            invokevirtual sun.security.pkcs11.Token.getOpSession:()Lsun/security/pkcs11/Session;
            astore 2 /* session */
         2: .line 1410
            aload 0 /* this */
            aload 2 /* session */
            getstatic sun.security.pkcs11.P11KeyStore.ATTR_CLASS_SKEY:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            aconst_null
            aload 1 /* alias */
            invokevirtual sun.security.pkcs11.P11KeyStore.getTokenObject:(Lsun/security/pkcs11/Session;Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;[BLjava/lang/String;)Lsun/security/pkcs11/P11KeyStore$THandle;
            astore 3 /* h */
        start local 3 // sun.security.pkcs11.P11KeyStore$THandle h
         3: .line 1411
            aload 3 /* h */
            getfield sun.security.pkcs11.P11KeyStore$THandle.type:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            getstatic sun.security.pkcs11.P11KeyStore.ATTR_CLASS_SKEY:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            if_acmpeq 10
         4: .line 1412
            getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
            ifnull 8
         5: .line 1413
            getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
            new java.lang.StringBuilder
            dup
            ldc "did not find secret key with CKA_LABEL ["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         6: .line 1414
            aload 1 /* alias */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "]"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         7: .line 1413
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
         8: .line 1430
      StackMap locals: sun.security.pkcs11.Session sun.security.pkcs11.P11KeyStore$THandle
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
            aload 2 /* session */
            invokevirtual sun.security.pkcs11.Token.releaseSession:(Lsun/security/pkcs11/Session;)Lsun/security/pkcs11/Session;
            pop
         9: .line 1416
            iconst_0
            ireturn
        10: .line 1418
      StackMap locals:
      StackMap stack:
            iconst_1
            anewarray sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            iconst_0
        11: .line 1419
            new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            ldc 3
            aload 1 /* alias */
            invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JLjava/lang/Object;)V
            aastore
        12: .line 1418
            astore 4 /* attrs */
        start local 4 // sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] attrs
        13: .line 1420
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
            getfield sun.security.pkcs11.Token.p11:Lsun/security/pkcs11/wrapper/PKCS11;
            aload 2 /* session */
            invokevirtual sun.security.pkcs11.Session.id:()J
            aload 3 /* h */
            getfield sun.security.pkcs11.P11KeyStore$THandle.handle:J
            aload 4 /* attrs */
            invokevirtual sun.security.pkcs11.wrapper.PKCS11.C_SetAttributeValue:(JJ[Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;)V
        14: .line 1422
            getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
            ifnull 19
        15: .line 1423
            getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
            new java.lang.StringBuilder
            dup
            ldc "updateSkey set new alias ["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        16: .line 1424
            aload 1 /* alias */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        17: .line 1425
            ldc "] for secret key entry"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        18: .line 1423
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        19: .line 1430
      StackMap locals: sun.security.pkcs11.wrapper.CK_ATTRIBUTE[]
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
            aload 2 /* session */
            invokevirtual sun.security.pkcs11.Token.releaseSession:(Lsun/security/pkcs11/Session;)Lsun/security/pkcs11/Session;
            pop
        20: .line 1428
            iconst_1
            ireturn
        end local 4 // sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] attrs
        end local 3 // sun.security.pkcs11.P11KeyStore$THandle h
        21: .line 1429
      StackMap locals: sun.security.pkcs11.P11KeyStore java.lang.String sun.security.pkcs11.Session
      StackMap stack: java.lang.Throwable
            astore 5
        22: .line 1430
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
            aload 2 /* session */
            invokevirtual sun.security.pkcs11.Token.releaseSession:(Lsun/security/pkcs11/Session;)Lsun/security/pkcs11/Session;
            pop
        23: .line 1431
            aload 5
            athrow
        end local 2 // sun.security.pkcs11.Session session
        end local 1 // java.lang.String alias
        end local 0 // sun.security.pkcs11.P11KeyStore this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   24     0     this  Lsun/security/pkcs11/P11KeyStore;
            0   24     1    alias  Ljava/lang/String;
            1   24     2  session  Lsun/security/pkcs11/Session;
            3   21     3        h  Lsun/security/pkcs11/P11KeyStore$THandle;
           13   21     4    attrs  [Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
      Exception table:
        from    to  target  type
           1     8      21  any
          10    19      21  any
    Exceptions:
      throws java.security.KeyStoreException, sun.security.pkcs11.wrapper.PKCS11Exception
    MethodParameters:
       Name  Flags
      alias  

  private void updatePkey(java.lang.String, byte[], java.security.cert.X509Certificate[], boolean);
    descriptor: (Ljava/lang/String;[B[Ljava/security/cert/X509Certificate;Z)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=8, locals=11, args_size=5
        start local 0 // sun.security.pkcs11.P11KeyStore this
        start local 1 // java.lang.String alias
        start local 2 // byte[] cka_id
        start local 3 // java.security.cert.X509Certificate[] chain
        start local 4 // boolean replaceCert
         0: .line 1464
            iconst_1
            istore 4 /* replaceCert */
         1: .line 1466
            aconst_null
            astore 5 /* session */
        start local 5 // sun.security.pkcs11.Session session
         2: .line 1468
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
            invokevirtual sun.security.pkcs11.Token.getOpSession:()Lsun/security/pkcs11/Session;
            astore 5 /* session */
         3: .line 1472
            aload 0 /* this */
            aload 5 /* session */
            getstatic sun.security.pkcs11.P11KeyStore.ATTR_CLASS_PKEY:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            aload 2 /* cka_id */
            aconst_null
            invokevirtual sun.security.pkcs11.P11KeyStore.getTokenObject:(Lsun/security/pkcs11/Session;Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;[BLjava/lang/String;)Lsun/security/pkcs11/P11KeyStore$THandle;
            astore 6 /* h */
        start local 6 // sun.security.pkcs11.P11KeyStore$THandle h
         4: .line 1474
            aload 6 /* h */
            getfield sun.security.pkcs11.P11KeyStore$THandle.type:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            getstatic sun.security.pkcs11.P11KeyStore.ATTR_CLASS_PKEY:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            if_acmpne 7
         5: .line 1475
            aload 6 /* h */
            getfield sun.security.pkcs11.P11KeyStore$THandle.handle:J
            lstore 7 /* pKeyHandle */
        start local 7 // long pKeyHandle
         6: .line 1476
            goto 12
        end local 7 // long pKeyHandle
         7: .line 1477
      StackMap locals: sun.security.pkcs11.Session sun.security.pkcs11.P11KeyStore$THandle
      StackMap stack:
            new java.security.KeyStoreException
            dup
         8: .line 1478
            new java.lang.StringBuilder
            dup
            ldc "expected but could not find private key with CKA_ID "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         9: .line 1480
            aload 2 /* cka_id */
            invokestatic sun.security.pkcs11.P11KeyStore.getID:([B)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        10: .line 1478
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        11: .line 1477
            invokespecial java.security.KeyStoreException.<init>:(Ljava/lang/String;)V
            athrow
        start local 7 // long pKeyHandle
        12: .line 1485
      StackMap locals: long
      StackMap stack:
            aload 0 /* this */
            aload 5 /* session */
            getstatic sun.security.pkcs11.P11KeyStore.ATTR_CLASS_CERT:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            aload 2 /* cka_id */
            aconst_null
            invokevirtual sun.security.pkcs11.P11KeyStore.getTokenObject:(Lsun/security/pkcs11/Session;Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;[BLjava/lang/String;)Lsun/security/pkcs11/P11KeyStore$THandle;
            astore 6 /* h */
        13: .line 1486
            aload 6 /* h */
            getfield sun.security.pkcs11.P11KeyStore$THandle.type:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            getstatic sun.security.pkcs11.P11KeyStore.ATTR_CLASS_CERT:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            if_acmpeq 19
        14: .line 1487
            new java.security.KeyStoreException
            dup
        15: .line 1488
            new java.lang.StringBuilder
            dup
            ldc "expected but could not find certificate with CKA_ID "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        16: .line 1490
            aload 2 /* cka_id */
            invokestatic sun.security.pkcs11.P11KeyStore.getID:([B)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        17: .line 1488
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        18: .line 1487
            invokespecial java.security.KeyStoreException.<init>:(Ljava/lang/String;)V
            athrow
        19: .line 1492
      StackMap locals:
      StackMap stack:
            iload 4 /* replaceCert */
            ifeq 22
        20: .line 1494
            aload 0 /* this */
            aload 2 /* cka_id */
            invokevirtual sun.security.pkcs11.P11KeyStore.destroyChain:([B)Z
            pop
        21: .line 1495
            goto 29
        22: .line 1497
      StackMap locals:
      StackMap stack:
            iconst_2
            anewarray sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            iconst_0
        23: .line 1498
            new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            ldc 3
            aload 1 /* alias */
            invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JLjava/lang/Object;)V
            aastore
            dup
            iconst_1
        24: .line 1499
            new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            ldc 258
            aload 1 /* alias */
            invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JLjava/lang/Object;)V
            aastore
        25: .line 1497
            astore 9 /* attrs */
        start local 9 // sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] attrs
        26: .line 1500
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
            getfield sun.security.pkcs11.Token.p11:Lsun/security/pkcs11/wrapper/PKCS11;
        27: .line 1501
            aload 5 /* session */
            invokevirtual sun.security.pkcs11.Session.id:()J
            aload 6 /* h */
            getfield sun.security.pkcs11.P11KeyStore$THandle.handle:J
            aload 9 /* attrs */
        28: .line 1500
            invokevirtual sun.security.pkcs11.wrapper.PKCS11.C_SetAttributeValue:(JJ[Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;)V
        end local 9 // sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] attrs
        29: .line 1507
      StackMap locals:
      StackMap stack:
            iload 4 /* replaceCert */
            ifeq 32
        30: .line 1509
            aload 0 /* this */
            aload 1 /* alias */
            aload 3 /* chain */
            invokevirtual sun.security.pkcs11.P11KeyStore.storeChain:(Ljava/lang/String;[Ljava/security/cert/X509Certificate;)V
        31: .line 1510
            goto 33
        32: .line 1513
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 3 /* chain */
            iconst_1
            invokevirtual sun.security.pkcs11.P11KeyStore.storeCaCerts:([Ljava/security/cert/X509Certificate;I)V
        33: .line 1520
      StackMap locals:
      StackMap stack:
            iconst_1
            anewarray sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            iconst_0
        34: .line 1521
            new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            ldc 258
            aload 1 /* alias */
            invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JLjava/lang/Object;)V
            aastore
        35: .line 1520
            astore 9 /* attrs */
        start local 9 // sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] attrs
        36: .line 1522
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
            getfield sun.security.pkcs11.Token.p11:Lsun/security/pkcs11/wrapper/PKCS11;
            aload 5 /* session */
            invokevirtual sun.security.pkcs11.Session.id:()J
            lload 7 /* pKeyHandle */
            aload 9 /* attrs */
            invokevirtual sun.security.pkcs11.wrapper.PKCS11.C_SetAttributeValue:(JJ[Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;)V
        37: .line 1524
            getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
            ifnull 46
        38: .line 1525
            getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
            new java.lang.StringBuilder
            dup
            ldc "updatePkey set new alias ["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        39: .line 1526
            aload 1 /* alias */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        40: .line 1527
            ldc "] for private key entry"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        41: .line 1525
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        end local 9 // sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] attrs
        end local 7 // long pKeyHandle
        end local 6 // sun.security.pkcs11.P11KeyStore$THandle h
        42: .line 1529
            goto 46
      StackMap locals: sun.security.pkcs11.P11KeyStore java.lang.String byte[] java.security.cert.X509Certificate[] int sun.security.pkcs11.Session
      StackMap stack: java.lang.Throwable
        43: astore 10
        44: .line 1530
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
            aload 5 /* session */
            invokevirtual sun.security.pkcs11.Token.releaseSession:(Lsun/security/pkcs11/Session;)Lsun/security/pkcs11/Session;
            pop
        45: .line 1531
            aload 10
            athrow
        46: .line 1530
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
            aload 5 /* session */
            invokevirtual sun.security.pkcs11.Token.releaseSession:(Lsun/security/pkcs11/Session;)Lsun/security/pkcs11/Session;
            pop
        47: .line 1532
            return
        end local 5 // sun.security.pkcs11.Session session
        end local 4 // boolean replaceCert
        end local 3 // java.security.cert.X509Certificate[] chain
        end local 2 // byte[] cka_id
        end local 1 // java.lang.String alias
        end local 0 // sun.security.pkcs11.P11KeyStore this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   48     0         this  Lsun/security/pkcs11/P11KeyStore;
            0   48     1        alias  Ljava/lang/String;
            0   48     2       cka_id  [B
            0   48     3        chain  [Ljava/security/cert/X509Certificate;
            0   48     4  replaceCert  Z
            2   48     5      session  Lsun/security/pkcs11/Session;
            4   42     6            h  Lsun/security/pkcs11/P11KeyStore$THandle;
            6    7     7   pKeyHandle  J
           12   42     7   pKeyHandle  J
           26   29     9        attrs  [Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
           36   42     9        attrs  [Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
      Exception table:
        from    to  target  type
           2    43      43  any
    Exceptions:
      throws java.security.KeyStoreException, java.security.cert.CertificateException, sun.security.pkcs11.wrapper.PKCS11Exception
    MethodParameters:
             Name  Flags
      alias        
      cka_id       
      chain        
      replaceCert  

  private void updateP11Skey(java.lang.String, sun.security.pkcs11.P11Key);
    descriptor: (Ljava/lang/String;Lsun/security/pkcs11/P11Key;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=8, locals=6, args_size=3
        start local 0 // sun.security.pkcs11.P11KeyStore this
        start local 1 // java.lang.String alias
        start local 2 // sun.security.pkcs11.P11Key key
         0: .line 1537
            aconst_null
            astore 3 /* session */
        start local 3 // sun.security.pkcs11.Session session
         1: .line 1539
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
            invokevirtual sun.security.pkcs11.Token.getOpSession:()Lsun/security/pkcs11/Session;
            astore 3 /* session */
         2: .line 1543
            iconst_2
            anewarray sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            iconst_0
         3: .line 1544
            getstatic sun.security.pkcs11.P11KeyStore.ATTR_TOKEN_TRUE:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            aastore
            dup
            iconst_1
         4: .line 1545
            new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            ldc 3
            aload 1 /* alias */
            invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JLjava/lang/Object;)V
            aastore
         5: .line 1543
            astore 4 /* attrs */
        start local 4 // sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] attrs
         6: .line 1546
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
            getfield sun.security.pkcs11.Token.p11:Lsun/security/pkcs11/wrapper/PKCS11;
            aload 3 /* session */
            invokevirtual sun.security.pkcs11.Session.id:()J
            aload 2 /* key */
            getfield sun.security.pkcs11.P11Key.keyID:J
            aload 4 /* attrs */
            invokevirtual sun.security.pkcs11.wrapper.PKCS11.C_CopyObject:(JJ[Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;)J
            pop2
         7: .line 1547
            getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
            ifnull 16
         8: .line 1548
            getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
            new java.lang.StringBuilder
            dup
            ldc "updateP11Skey copied secret session key for ["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         9: .line 1550
            aload 1 /* alias */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        10: .line 1551
            ldc "] to token entry"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        11: .line 1548
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        end local 4 // sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] attrs
        12: .line 1553
            goto 16
      StackMap locals: sun.security.pkcs11.P11KeyStore java.lang.String sun.security.pkcs11.P11Key sun.security.pkcs11.Session
      StackMap stack: java.lang.Throwable
        13: astore 5
        14: .line 1554
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
            aload 3 /* session */
            invokevirtual sun.security.pkcs11.Token.releaseSession:(Lsun/security/pkcs11/Session;)Lsun/security/pkcs11/Session;
            pop
        15: .line 1555
            aload 5
            athrow
        16: .line 1554
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
            aload 3 /* session */
            invokevirtual sun.security.pkcs11.Token.releaseSession:(Lsun/security/pkcs11/Session;)Lsun/security/pkcs11/Session;
            pop
        17: .line 1556
            return
        end local 3 // sun.security.pkcs11.Session session
        end local 2 // sun.security.pkcs11.P11Key key
        end local 1 // java.lang.String alias
        end local 0 // sun.security.pkcs11.P11KeyStore this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   18     0     this  Lsun/security/pkcs11/P11KeyStore;
            0   18     1    alias  Ljava/lang/String;
            0   18     2      key  Lsun/security/pkcs11/P11Key;
            1   18     3  session  Lsun/security/pkcs11/Session;
            6   12     4    attrs  [Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
      Exception table:
        from    to  target  type
           1    13      13  any
    Exceptions:
      throws sun.security.pkcs11.wrapper.PKCS11Exception
    MethodParameters:
       Name  Flags
      alias  
      key    

  private void updateP11Pkey(java.lang.String, sun.security.pkcs11.wrapper.CK_ATTRIBUTE, sun.security.pkcs11.P11Key);
    descriptor: (Ljava/lang/String;Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;Lsun/security/pkcs11/P11Key;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=8, locals=7, args_size=4
        start local 0 // sun.security.pkcs11.P11KeyStore this
        start local 1 // java.lang.String alias
        start local 2 // sun.security.pkcs11.wrapper.CK_ATTRIBUTE attribute
        start local 3 // sun.security.pkcs11.P11Key key
         0: .line 1564
            aconst_null
            astore 4 /* session */
        start local 4 // sun.security.pkcs11.Session session
         1: .line 1566
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
            invokevirtual sun.security.pkcs11.Token.getOpSession:()Lsun/security/pkcs11/Session;
            astore 4 /* session */
         2: .line 1567
            aload 3 /* key */
            getfield sun.security.pkcs11.P11Key.tokenObject:Z
            ifeq 15
         3: .line 1571
            iconst_1
            anewarray sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            iconst_0
         4: .line 1572
            new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            ldc 258
            aload 1 /* alias */
            invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JLjava/lang/Object;)V
            aastore
         5: .line 1571
            astore 5 /* attrs */
        start local 5 // sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] attrs
         6: .line 1573
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
            getfield sun.security.pkcs11.Token.p11:Lsun/security/pkcs11/wrapper/PKCS11;
         7: .line 1574
            aload 4 /* session */
            invokevirtual sun.security.pkcs11.Session.id:()J
            aload 3 /* key */
            getfield sun.security.pkcs11.P11Key.keyID:J
            aload 5 /* attrs */
         8: .line 1573
            invokevirtual sun.security.pkcs11.wrapper.PKCS11.C_SetAttributeValue:(JJ[Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;)V
         9: .line 1575
            getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
            ifnull 31
        10: .line 1576
            getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
            new java.lang.StringBuilder
            dup
            ldc "updateP11Pkey set new alias ["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        11: .line 1577
            aload 1 /* alias */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        12: .line 1578
            ldc "] for key entry"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        13: .line 1576
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        end local 5 // sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] attrs
        14: .line 1580
            goto 31
        15: .line 1584
      StackMap locals: sun.security.pkcs11.Session
      StackMap stack:
            iconst_2
            anewarray sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            iconst_0
        16: .line 1585
            getstatic sun.security.pkcs11.P11KeyStore.ATTR_TOKEN_TRUE:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            aastore
            dup
            iconst_1
        17: .line 1586
            new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            ldc 258
            aload 1 /* alias */
            invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JLjava/lang/Object;)V
            aastore
        18: .line 1584
            astore 5 /* attrs */
        start local 5 // sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] attrs
        19: .line 1588
            aload 2 /* attribute */
            ifnull 21
        20: .line 1589
            aload 5 /* attrs */
            aload 2 /* attribute */
            invokestatic sun.security.pkcs11.P11KeyStore.addAttribute:([Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;)[Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            astore 5 /* attrs */
        21: .line 1591
      StackMap locals: sun.security.pkcs11.wrapper.CK_ATTRIBUTE[]
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
            getfield sun.security.pkcs11.Token.p11:Lsun/security/pkcs11/wrapper/PKCS11;
            aload 4 /* session */
            invokevirtual sun.security.pkcs11.Session.id:()J
            aload 3 /* key */
            getfield sun.security.pkcs11.P11Key.keyID:J
            aload 5 /* attrs */
            invokevirtual sun.security.pkcs11.wrapper.PKCS11.C_CopyObject:(JJ[Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;)J
            pop2
        22: .line 1592
            getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
            ifnull 31
        23: .line 1593
            getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
            new java.lang.StringBuilder
            dup
            ldc "updateP11Pkey copied private session key for ["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        24: .line 1595
            aload 1 /* alias */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        25: .line 1596
            ldc "] to token entry"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        26: .line 1593
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        end local 5 // sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] attrs
        27: .line 1599
            goto 31
      StackMap locals: sun.security.pkcs11.P11KeyStore java.lang.String sun.security.pkcs11.wrapper.CK_ATTRIBUTE sun.security.pkcs11.P11Key sun.security.pkcs11.Session
      StackMap stack: java.lang.Throwable
        28: astore 6
        29: .line 1600
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
            aload 4 /* session */
            invokevirtual sun.security.pkcs11.Token.releaseSession:(Lsun/security/pkcs11/Session;)Lsun/security/pkcs11/Session;
            pop
        30: .line 1601
            aload 6
            athrow
        31: .line 1600
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
            aload 4 /* session */
            invokevirtual sun.security.pkcs11.Token.releaseSession:(Lsun/security/pkcs11/Session;)Lsun/security/pkcs11/Session;
            pop
        32: .line 1602
            return
        end local 4 // sun.security.pkcs11.Session session
        end local 3 // sun.security.pkcs11.P11Key key
        end local 2 // sun.security.pkcs11.wrapper.CK_ATTRIBUTE attribute
        end local 1 // java.lang.String alias
        end local 0 // sun.security.pkcs11.P11KeyStore this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   33     0       this  Lsun/security/pkcs11/P11KeyStore;
            0   33     1      alias  Ljava/lang/String;
            0   33     2  attribute  Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            0   33     3        key  Lsun/security/pkcs11/P11Key;
            1   33     4    session  Lsun/security/pkcs11/Session;
            6   14     5      attrs  [Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
           19   27     5      attrs  [Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
      Exception table:
        from    to  target  type
           1    28      28  any
    Exceptions:
      throws sun.security.pkcs11.wrapper.PKCS11Exception
    MethodParameters:
           Name  Flags
      alias      
      attribute  
      key        

  private void storeCert(java.lang.String, java.security.cert.X509Certificate);
    descriptor: (Ljava/lang/String;Ljava/security/cert/X509Certificate;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=8, locals=6, args_size=3
        start local 0 // sun.security.pkcs11.P11KeyStore this
        start local 1 // java.lang.String alias
        start local 2 // java.security.cert.X509Certificate cert
         0: .line 1607
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 3 /* attrList */
        start local 3 // java.util.ArrayList attrList
         1: .line 1608
            aload 3 /* attrList */
            getstatic sun.security.pkcs11.P11KeyStore.ATTR_TOKEN_TRUE:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
         2: .line 1609
            aload 3 /* attrList */
            getstatic sun.security.pkcs11.P11KeyStore.ATTR_CLASS_CERT:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
         3: .line 1610
            aload 3 /* attrList */
            getstatic sun.security.pkcs11.P11KeyStore.ATTR_X509_CERT_TYPE:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
         4: .line 1611
            aload 3 /* attrList */
            new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            ldc 257
         5: .line 1612
            aload 2 /* cert */
            invokevirtual java.security.cert.X509Certificate.getSubjectX500Principal:()Ljavax/security/auth/x500/X500Principal;
            invokevirtual javax.security.auth.x500.X500Principal.getEncoded:()[B
            invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JLjava/lang/Object;)V
         6: .line 1611
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
         7: .line 1613
            aload 3 /* attrList */
            new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            ldc 129
         8: .line 1614
            aload 2 /* cert */
            invokevirtual java.security.cert.X509Certificate.getIssuerX500Principal:()Ljavax/security/auth/x500/X500Principal;
            invokevirtual javax.security.auth.x500.X500Principal.getEncoded:()[B
            invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JLjava/lang/Object;)V
         9: .line 1613
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        10: .line 1615
            aload 3 /* attrList */
            new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            ldc 130
        11: .line 1616
            aload 2 /* cert */
            invokevirtual java.security.cert.X509Certificate.getSerialNumber:()Ljava/math/BigInteger;
            invokevirtual java.math.BigInteger.toByteArray:()[B
            invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JLjava/lang/Object;)V
        12: .line 1615
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        13: .line 1617
            aload 3 /* attrList */
            new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            ldc 17
            aload 2 /* cert */
            invokevirtual java.security.cert.X509Certificate.getEncoded:()[B
            invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JLjava/lang/Object;)V
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        14: .line 1619
            aload 1 /* alias */
            ifnull 18
        15: .line 1620
            aload 3 /* attrList */
            new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            ldc 3
            aload 1 /* alias */
            invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JLjava/lang/Object;)V
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        16: .line 1621
            aload 3 /* attrList */
            new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            ldc 258
            aload 1 /* alias */
            invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JLjava/lang/Object;)V
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        17: .line 1622
            goto 25
        18: .line 1625
      StackMap locals: java.util.ArrayList
      StackMap stack:
            aload 3 /* attrList */
            new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            ldc 258
        19: .line 1626
            aload 0 /* this */
            aload 2 /* cert */
            invokevirtual java.security.cert.X509Certificate.getSubjectX500Principal:()Ljavax/security/auth/x500/X500Principal;
        20: .line 1627
            ldc "CANONICAL"
        21: .line 1626
            invokevirtual javax.security.auth.x500.X500Principal.getName:(Ljava/lang/String;)Ljava/lang/String;
        22: .line 1627
            aload 2 /* cert */
        23: .line 1626
            invokevirtual sun.security.pkcs11.P11KeyStore.getID:(Ljava/lang/String;Ljava/security/cert/X509Certificate;)Ljava/lang/String;
            invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JLjava/lang/Object;)V
        24: .line 1625
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        25: .line 1630
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 4 /* session */
        start local 4 // sun.security.pkcs11.Session session
        26: .line 1632
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
            invokevirtual sun.security.pkcs11.Token.getOpSession:()Lsun/security/pkcs11/Session;
            astore 4 /* session */
        27: .line 1633
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
            getfield sun.security.pkcs11.Token.p11:Lsun/security/pkcs11/wrapper/PKCS11;
            aload 4 /* session */
            invokevirtual sun.security.pkcs11.Session.id:()J
        28: .line 1634
            aload 3 /* attrList */
            aload 3 /* attrList */
            invokevirtual java.util.ArrayList.size:()I
            anewarray sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            invokevirtual java.util.ArrayList.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast sun.security.pkcs11.wrapper.CK_ATTRIBUTE[]
        29: .line 1633
            invokevirtual sun.security.pkcs11.wrapper.PKCS11.C_CreateObject:(J[Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;)J
            pop2
        30: .line 1635
            goto 34
      StackMap locals: sun.security.pkcs11.P11KeyStore java.lang.String java.security.cert.X509Certificate java.util.ArrayList sun.security.pkcs11.Session
      StackMap stack: java.lang.Throwable
        31: astore 5
        32: .line 1636
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
            aload 4 /* session */
            invokevirtual sun.security.pkcs11.Token.releaseSession:(Lsun/security/pkcs11/Session;)Lsun/security/pkcs11/Session;
            pop
        33: .line 1637
            aload 5
            athrow
        34: .line 1636
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
            aload 4 /* session */
            invokevirtual sun.security.pkcs11.Token.releaseSession:(Lsun/security/pkcs11/Session;)Lsun/security/pkcs11/Session;
            pop
        35: .line 1638
            return
        end local 4 // sun.security.pkcs11.Session session
        end local 3 // java.util.ArrayList attrList
        end local 2 // java.security.cert.X509Certificate cert
        end local 1 // java.lang.String alias
        end local 0 // sun.security.pkcs11.P11KeyStore this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   36     0      this  Lsun/security/pkcs11/P11KeyStore;
            0   36     1     alias  Ljava/lang/String;
            0   36     2      cert  Ljava/security/cert/X509Certificate;
            1   36     3  attrList  Ljava/util/ArrayList<Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;>;
           26   36     4   session  Lsun/security/pkcs11/Session;
      Exception table:
        from    to  target  type
          26    31      31  any
    Exceptions:
      throws sun.security.pkcs11.wrapper.PKCS11Exception, java.security.cert.CertificateException
    MethodParameters:
       Name  Flags
      alias  
      cert   

  private void storeChain(java.lang.String, java.security.cert.X509Certificate[]);
    descriptor: (Ljava/lang/String;[Ljava/security/cert/X509Certificate;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // sun.security.pkcs11.P11KeyStore this
        start local 1 // java.lang.String alias
        start local 2 // java.security.cert.X509Certificate[] chain
         0: .line 1648
            aload 0 /* this */
            aload 1 /* alias */
            aload 2 /* chain */
            iconst_0
            aaload
            invokevirtual sun.security.pkcs11.P11KeyStore.storeCert:(Ljava/lang/String;Ljava/security/cert/X509Certificate;)V
         1: .line 1649
            aload 0 /* this */
            aload 2 /* chain */
            iconst_1
            invokevirtual sun.security.pkcs11.P11KeyStore.storeCaCerts:([Ljava/security/cert/X509Certificate;I)V
         2: .line 1650
            return
        end local 2 // java.security.cert.X509Certificate[] chain
        end local 1 // java.lang.String alias
        end local 0 // sun.security.pkcs11.P11KeyStore this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Lsun/security/pkcs11/P11KeyStore;
            0    3     1  alias  Ljava/lang/String;
            0    3     2  chain  [Ljava/security/cert/X509Certificate;
    Exceptions:
      throws sun.security.pkcs11.wrapper.PKCS11Exception, java.security.cert.CertificateException
    MethodParameters:
       Name  Flags
      alias  
      chain  

  private void storeCaCerts(java.security.cert.X509Certificate[], int);
    descriptor: ([Ljava/security/cert/X509Certificate;I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=13, args_size=3
        start local 0 // sun.security.pkcs11.P11KeyStore this
        start local 1 // java.security.cert.X509Certificate[] chain
        start local 2 // int start
         0: .line 1659
            aconst_null
            astore 3 /* session */
        start local 3 // sun.security.pkcs11.Session session
         1: .line 1660
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 4 /* cacerts */
        start local 4 // java.util.HashSet cacerts
         2: .line 1662
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
            invokevirtual sun.security.pkcs11.Token.getOpSession:()Lsun/security/pkcs11/Session;
            astore 3 /* session */
         3: .line 1663
            iconst_2
            anewarray sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            iconst_0
         4: .line 1664
            getstatic sun.security.pkcs11.P11KeyStore.ATTR_TOKEN_TRUE:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            aastore
            dup
            iconst_1
         5: .line 1665
            getstatic sun.security.pkcs11.P11KeyStore.ATTR_CLASS_CERT:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            aastore
         6: .line 1663
            astore 5 /* attrs */
        start local 5 // sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] attrs
         7: .line 1666
            aload 3 /* session */
            aload 5 /* attrs */
            invokestatic sun.security.pkcs11.P11KeyStore.findObjects:(Lsun/security/pkcs11/Session;[Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;)[J
            astore 6 /* handles */
        start local 6 // long[] handles
         8: .line 1669
            aload 6 /* handles */
            dup
            astore 11
            arraylength
            istore 10
            iconst_0
            istore 9
            goto 12
      StackMap locals: sun.security.pkcs11.P11KeyStore java.security.cert.X509Certificate[] int sun.security.pkcs11.Session java.util.HashSet sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] long[] top top int int long[]
      StackMap stack:
         9: aload 11
            iload 9
            laload
            lstore 7 /* handle */
        start local 7 // long handle
        10: .line 1670
            aload 4 /* cacerts */
            aload 0 /* this */
            aload 3 /* session */
            lload 7 /* handle */
            invokevirtual sun.security.pkcs11.P11KeyStore.loadCert:(Lsun/security/pkcs11/Session;J)Ljava/security/cert/X509Certificate;
            invokevirtual java.util.HashSet.add:(Ljava/lang/Object;)Z
            pop
        end local 7 // long handle
        11: .line 1669
            iinc 9 1
      StackMap locals:
      StackMap stack:
        12: iload 9
            iload 10
            if_icmplt 9
        end local 6 // long[] handles
        end local 5 // sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] attrs
        13: .line 1672
            goto 17
      StackMap locals: sun.security.pkcs11.P11KeyStore java.security.cert.X509Certificate[] int sun.security.pkcs11.Session java.util.HashSet
      StackMap stack: java.lang.Throwable
        14: astore 12
        15: .line 1673
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
            aload 3 /* session */
            invokevirtual sun.security.pkcs11.Token.releaseSession:(Lsun/security/pkcs11/Session;)Lsun/security/pkcs11/Session;
            pop
        16: .line 1674
            aload 12
            athrow
        17: .line 1673
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
            aload 3 /* session */
            invokevirtual sun.security.pkcs11.Token.releaseSession:(Lsun/security/pkcs11/Session;)Lsun/security/pkcs11/Session;
            pop
        18: .line 1676
            iload 2 /* start */
            istore 5 /* i */
        start local 5 // int i
        19: goto 29
        20: .line 1677
      StackMap locals: int
      StackMap stack:
            aload 4 /* cacerts */
            aload 1 /* chain */
            iload 5 /* i */
            aaload
            invokevirtual java.util.HashSet.contains:(Ljava/lang/Object;)Z
            ifne 23
        21: .line 1678
            aload 0 /* this */
            aconst_null
            aload 1 /* chain */
            iload 5 /* i */
            aaload
            invokevirtual sun.security.pkcs11.P11KeyStore.storeCert:(Ljava/lang/String;Ljava/security/cert/X509Certificate;)V
        22: .line 1679
            goto 28
      StackMap locals:
      StackMap stack:
        23: getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
            ifnull 28
        24: .line 1680
            getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
            new java.lang.StringBuilder
            dup
            ldc "ignoring duplicate CA cert for ["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        25: .line 1681
            aload 1 /* chain */
            iload 5 /* i */
            aaload
            invokevirtual java.security.cert.X509Certificate.getSubjectX500Principal:()Ljavax/security/auth/x500/X500Principal;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
        26: .line 1682
            ldc "]"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        27: .line 1680
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        28: .line 1676
      StackMap locals:
      StackMap stack:
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        29: iload 5 /* i */
            aload 1 /* chain */
            arraylength
            if_icmplt 20
        end local 5 // int i
        30: .line 1685
            return
        end local 4 // java.util.HashSet cacerts
        end local 3 // sun.security.pkcs11.Session session
        end local 2 // int start
        end local 1 // java.security.cert.X509Certificate[] chain
        end local 0 // sun.security.pkcs11.P11KeyStore this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   31     0     this  Lsun/security/pkcs11/P11KeyStore;
            0   31     1    chain  [Ljava/security/cert/X509Certificate;
            0   31     2    start  I
            1   31     3  session  Lsun/security/pkcs11/Session;
            2   31     4  cacerts  Ljava/util/HashSet<Ljava/security/cert/X509Certificate;>;
            7   13     5    attrs  [Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            8   13     6  handles  [J
           10   11     7   handle  J
           19   30     5        i  I
      Exception table:
        from    to  target  type
           2    14      14  any
    Exceptions:
      throws sun.security.pkcs11.wrapper.PKCS11Exception, java.security.cert.CertificateException
    MethodParameters:
       Name  Flags
      chain  
      start  

  private void storeSkey(java.lang.String, java.security.KeyStore$SecretKeyEntry);
    descriptor: (Ljava/lang/String;Ljava/security/KeyStore$SecretKeyEntry;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=9, locals=9, args_size=3
        start local 0 // sun.security.pkcs11.P11KeyStore this
        start local 1 // java.lang.String alias
        start local 2 // java.security.KeyStore$SecretKeyEntry ske
         0: .line 1690
            aload 2 /* ske */
            invokevirtual java.security.KeyStore$SecretKeyEntry.getSecretKey:()Ljavax/crypto/SecretKey;
            astore 3 /* skey */
        start local 3 // javax.crypto.SecretKey skey
         1: .line 1691
            ldc 16
            lstore 4 /* keyType */
        start local 4 // long keyType
         2: .line 1693
            aload 3 /* skey */
            instanceof sun.security.pkcs11.P11Key
            ifeq 5
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
            aload 3 /* skey */
            checkcast sun.security.pkcs11.P11Key
            getfield sun.security.pkcs11.P11Key.token:Lsun/security/pkcs11/Token;
            if_acmpne 5
         3: .line 1694
            aload 0 /* this */
            aload 1 /* alias */
            aload 3 /* skey */
            checkcast sun.security.pkcs11.P11Key
            invokevirtual sun.security.pkcs11.P11KeyStore.updateP11Skey:(Ljava/lang/String;Lsun/security/pkcs11/P11Key;)V
         4: .line 1695
            return
         5: .line 1698
      StackMap locals: javax.crypto.SecretKey long
      StackMap stack:
            ldc "AES"
            aload 3 /* skey */
            invokeinterface javax.crypto.SecretKey.getAlgorithm:()Ljava/lang/String;
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 8
         6: .line 1699
            ldc 31
            lstore 4 /* keyType */
         7: .line 1700
            goto 20
      StackMap locals:
      StackMap stack:
         8: ldc "Blowfish"
            aload 3 /* skey */
            invokeinterface javax.crypto.SecretKey.getAlgorithm:()Ljava/lang/String;
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 11
         9: .line 1701
            ldc 32
            lstore 4 /* keyType */
        10: .line 1702
            goto 20
      StackMap locals:
      StackMap stack:
        11: ldc "DES"
            aload 3 /* skey */
            invokeinterface javax.crypto.SecretKey.getAlgorithm:()Ljava/lang/String;
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 14
        12: .line 1703
            ldc 19
            lstore 4 /* keyType */
        13: .line 1704
            goto 20
      StackMap locals:
      StackMap stack:
        14: ldc "DESede"
            aload 3 /* skey */
            invokeinterface javax.crypto.SecretKey.getAlgorithm:()Ljava/lang/String;
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 17
        15: .line 1705
            ldc 21
            lstore 4 /* keyType */
        16: .line 1706
            goto 20
      StackMap locals:
      StackMap stack:
        17: ldc "RC4"
            aload 3 /* skey */
            invokeinterface javax.crypto.SecretKey.getAlgorithm:()Ljava/lang/String;
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifne 19
        18: .line 1707
            ldc "ARCFOUR"
            aload 3 /* skey */
            invokeinterface javax.crypto.SecretKey.getAlgorithm:()Ljava/lang/String;
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 20
        19: .line 1708
      StackMap locals:
      StackMap stack:
            ldc 18
            lstore 4 /* keyType */
        20: .line 1711
      StackMap locals:
      StackMap stack:
            bipush 6
            anewarray sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            iconst_0
        21: .line 1712
            getstatic sun.security.pkcs11.P11KeyStore.ATTR_SKEY_TOKEN_TRUE:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            aastore
            dup
            iconst_1
        22: .line 1713
            getstatic sun.security.pkcs11.P11KeyStore.ATTR_CLASS_SKEY:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            aastore
            dup
            iconst_2
        23: .line 1714
            getstatic sun.security.pkcs11.P11KeyStore.ATTR_PRIVATE_TRUE:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            aastore
            dup
            iconst_3
        24: .line 1715
            new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            ldc 256
            lload 4 /* keyType */
            invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JJ)V
            aastore
            dup
            iconst_4
        25: .line 1716
            new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            ldc 3
            aload 1 /* alias */
            invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JLjava/lang/Object;)V
            aastore
            dup
            iconst_5
        26: .line 1717
            new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            ldc 17
            aload 3 /* skey */
            invokeinterface javax.crypto.SecretKey.getEncoded:()[B
            invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JLjava/lang/Object;)V
            aastore
        27: .line 1711
            astore 6 /* attrs */
        start local 6 // sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] attrs
        28: .line 1718
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
        29: .line 1719
            ldc "import"
            ldc 4
            lload 4 /* keyType */
            aload 6 /* attrs */
        30: .line 1718
            invokevirtual sun.security.pkcs11.Token.getAttributes:(Ljava/lang/String;JJ[Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;)[Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            astore 6 /* attrs */
        31: .line 1722
            aconst_null
            astore 7 /* session */
        start local 7 // sun.security.pkcs11.Session session
        32: .line 1724
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
            invokevirtual sun.security.pkcs11.Token.getOpSession:()Lsun/security/pkcs11/Session;
            astore 7 /* session */
        33: .line 1725
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
            getfield sun.security.pkcs11.Token.p11:Lsun/security/pkcs11/wrapper/PKCS11;
            aload 7 /* session */
            invokevirtual sun.security.pkcs11.Session.id:()J
            aload 6 /* attrs */
            invokevirtual sun.security.pkcs11.wrapper.PKCS11.C_CreateObject:(J[Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;)J
            pop2
        34: .line 1726
            getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
            ifnull 43
        35: .line 1727
            getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
            new java.lang.StringBuilder
            dup
            ldc "storeSkey created token secret key for ["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        36: .line 1728
            aload 1 /* alias */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        37: .line 1729
            ldc "]"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        38: .line 1727
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        39: .line 1731
            goto 43
      StackMap locals: sun.security.pkcs11.P11KeyStore java.lang.String java.security.KeyStore$SecretKeyEntry javax.crypto.SecretKey long sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] sun.security.pkcs11.Session
      StackMap stack: java.lang.Throwable
        40: astore 8
        41: .line 1732
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
            aload 7 /* session */
            invokevirtual sun.security.pkcs11.Token.releaseSession:(Lsun/security/pkcs11/Session;)Lsun/security/pkcs11/Session;
            pop
        42: .line 1733
            aload 8
            athrow
        43: .line 1732
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
            aload 7 /* session */
            invokevirtual sun.security.pkcs11.Token.releaseSession:(Lsun/security/pkcs11/Session;)Lsun/security/pkcs11/Session;
            pop
        44: .line 1734
            return
        end local 7 // sun.security.pkcs11.Session session
        end local 6 // sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] attrs
        end local 4 // long keyType
        end local 3 // javax.crypto.SecretKey skey
        end local 2 // java.security.KeyStore$SecretKeyEntry ske
        end local 1 // java.lang.String alias
        end local 0 // sun.security.pkcs11.P11KeyStore this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   45     0     this  Lsun/security/pkcs11/P11KeyStore;
            0   45     1    alias  Ljava/lang/String;
            0   45     2      ske  Ljava/security/KeyStore$SecretKeyEntry;
            1   45     3     skey  Ljavax/crypto/SecretKey;
            2   45     4  keyType  J
           28   45     6    attrs  [Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
           32   45     7  session  Lsun/security/pkcs11/Session;
      Exception table:
        from    to  target  type
          32    40      40  any
    Exceptions:
      throws sun.security.pkcs11.wrapper.PKCS11Exception, java.security.KeyStoreException
    MethodParameters:
       Name  Flags
      alias  
      ske    

  private static sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] addAttribute(sun.security.pkcs11.wrapper.CK_ATTRIBUTE[], sun.security.pkcs11.wrapper.CK_ATTRIBUTE);
    descriptor: ([Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;)[Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=4, args_size=2
        start local 0 // sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] attrs
        start local 1 // sun.security.pkcs11.wrapper.CK_ATTRIBUTE attr
         0: .line 1737
            aload 0 /* attrs */
            arraylength
            istore 2 /* n */
        start local 2 // int n
         1: .line 1738
            iload 2 /* n */
            iconst_1
            iadd
            anewarray sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            astore 3 /* newAttrs */
        start local 3 // sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] newAttrs
         2: .line 1739
            aload 0 /* attrs */
            iconst_0
            aload 3 /* newAttrs */
            iconst_0
            iload 2 /* n */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         3: .line 1740
            aload 3 /* newAttrs */
            iload 2 /* n */
            aload 1 /* attr */
            aastore
         4: .line 1741
            aload 3 /* newAttrs */
            areturn
        end local 3 // sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] newAttrs
        end local 2 // int n
        end local 1 // sun.security.pkcs11.wrapper.CK_ATTRIBUTE attr
        end local 0 // sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] attrs
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    5     0     attrs  [Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            0    5     1      attr  Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            1    5     2         n  I
            2    5     3  newAttrs  [Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
    MethodParameters:
       Name  Flags
      attrs  
      attr   

  private void storePkey(java.lang.String, java.security.KeyStore$PrivateKeyEntry);
    descriptor: (Ljava/lang/String;Ljava/security/KeyStore$PrivateKeyEntry;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=9, locals=10, args_size=3
        start local 0 // sun.security.pkcs11.P11KeyStore this
        start local 1 // java.lang.String alias
        start local 2 // java.security.KeyStore$PrivateKeyEntry pke
         0: .line 1747
            aload 2 /* pke */
            invokevirtual java.security.KeyStore$PrivateKeyEntry.getPrivateKey:()Ljava/security/PrivateKey;
            astore 3 /* key */
        start local 3 // java.security.PrivateKey key
         1: .line 1748
            aconst_null
            astore 4 /* attrs */
        start local 4 // sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] attrs
         2: .line 1753
            aload 3 /* key */
            instanceof sun.security.pkcs11.P11Key
            ifeq 8
         3: .line 1754
            aload 3 /* key */
            checkcast sun.security.pkcs11.P11Key
            astore 5 /* p11Key */
        start local 5 // sun.security.pkcs11.P11Key p11Key
         4: .line 1755
            aload 5 /* p11Key */
            getfield sun.security.pkcs11.P11Key.tokenObject:Z
            ifeq 8
            aload 5 /* p11Key */
            getfield sun.security.pkcs11.P11Key.token:Lsun/security/pkcs11/Token;
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
            if_acmpne 8
         5: .line 1756
            aload 0 /* this */
            aload 1 /* alias */
            aconst_null
            aload 5 /* p11Key */
            invokevirtual sun.security.pkcs11.P11KeyStore.updateP11Pkey:(Ljava/lang/String;Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;Lsun/security/pkcs11/P11Key;)V
         6: .line 1757
            aload 0 /* this */
            aload 1 /* alias */
            aload 2 /* pke */
            invokevirtual java.security.KeyStore$PrivateKeyEntry.getCertificateChain:()[Ljava/security/cert/Certificate;
            checkcast java.security.cert.X509Certificate[]
            invokevirtual sun.security.pkcs11.P11KeyStore.storeChain:(Ljava/lang/String;[Ljava/security/cert/X509Certificate;)V
         7: .line 1758
            return
        end local 5 // sun.security.pkcs11.P11Key p11Key
         8: .line 1762
      StackMap locals: java.security.PrivateKey sun.security.pkcs11.wrapper.CK_ATTRIBUTE[]
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
            getfield sun.security.pkcs11.Token.config:Lsun/security/pkcs11/Config;
            invokevirtual sun.security.pkcs11.Config.getNssNetscapeDbWorkaround:()Z
            istore 5 /* useNDB */
        start local 5 // boolean useNDB
         9: .line 1763
            aload 2 /* pke */
            invokevirtual java.security.KeyStore$PrivateKeyEntry.getCertificate:()Ljava/security/cert/Certificate;
            invokevirtual java.security.cert.Certificate.getPublicKey:()Ljava/security/PublicKey;
            astore 6 /* publicKey */
        start local 6 // java.security.PublicKey publicKey
        10: .line 1765
            aload 3 /* key */
            instanceof java.security.interfaces.RSAPrivateKey
            ifeq 16
        11: .line 1767
            aload 2 /* pke */
            invokevirtual java.security.KeyStore$PrivateKeyEntry.getCertificate:()Ljava/security/cert/Certificate;
            checkcast java.security.cert.X509Certificate
            astore 7 /* cert */
        start local 7 // java.security.cert.X509Certificate cert
        12: .line 1768
            aload 0 /* this */
        13: .line 1769
            aload 1 /* alias */
            aload 3 /* key */
            checkcast java.security.interfaces.RSAPrivateKey
            aload 7 /* cert */
            invokevirtual java.security.cert.X509Certificate.getSubjectX500Principal:()Ljavax/security/auth/x500/X500Principal;
        14: .line 1768
            invokevirtual sun.security.pkcs11.P11KeyStore.getRsaPrivKeyAttrs:(Ljava/lang/String;Ljava/security/interfaces/RSAPrivateKey;Ljavax/security/auth/x500/X500Principal;)[Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            astore 4 /* attrs */
        end local 7 // java.security.cert.X509Certificate cert
        15: .line 1771
            goto 98
      StackMap locals: int java.security.PublicKey
      StackMap stack:
        16: aload 3 /* key */
            instanceof java.security.interfaces.DSAPrivateKey
            ifeq 40
        17: .line 1773
            aload 3 /* key */
            checkcast java.security.interfaces.DSAPrivateKey
            astore 7 /* dsaKey */
        start local 7 // java.security.interfaces.DSAPrivateKey dsaKey
        18: .line 1775
            aload 0 /* this */
            aload 3 /* key */
            aload 6 /* publicKey */
            iconst_0
            iload 5 /* useNDB */
            invokevirtual sun.security.pkcs11.P11KeyStore.getIdAttributes:(Ljava/security/PrivateKey;Ljava/security/PublicKey;ZZ)[Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            astore 8 /* idAttrs */
        start local 8 // sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] idAttrs
        19: .line 1776
            aload 8 /* idAttrs */
            iconst_0
            aaload
            ifnonnull 21
        20: .line 1777
            aload 8 /* idAttrs */
            iconst_0
            new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            ldc 258
            aload 1 /* alias */
            invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JLjava/lang/Object;)V
            aastore
        21: .line 1780
      StackMap locals: java.security.interfaces.DSAPrivateKey sun.security.pkcs11.wrapper.CK_ATTRIBUTE[]
      StackMap stack:
            bipush 9
            anewarray sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            iconst_0
        22: .line 1781
            getstatic sun.security.pkcs11.P11KeyStore.ATTR_TOKEN_TRUE:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            aastore
            dup
            iconst_1
        23: .line 1782
            getstatic sun.security.pkcs11.P11KeyStore.ATTR_CLASS_PKEY:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            aastore
            dup
            iconst_2
        24: .line 1783
            getstatic sun.security.pkcs11.P11KeyStore.ATTR_PRIVATE_TRUE:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            aastore
            dup
            iconst_3
        25: .line 1784
            new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            ldc 256
            lconst_1
            invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JJ)V
            aastore
            dup
            iconst_4
        26: .line 1785
            aload 8 /* idAttrs */
            iconst_0
            aaload
            aastore
            dup
            iconst_5
        27: .line 1786
            new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            ldc 304
            aload 7 /* dsaKey */
            invokeinterface java.security.interfaces.DSAPrivateKey.getParams:()Ljava/security/interfaces/DSAParams;
            invokeinterface java.security.interfaces.DSAParams.getP:()Ljava/math/BigInteger;
            invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JLjava/math/BigInteger;)V
            aastore
            dup
            bipush 6
        28: .line 1787
            new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            ldc 305
            aload 7 /* dsaKey */
            invokeinterface java.security.interfaces.DSAPrivateKey.getParams:()Ljava/security/interfaces/DSAParams;
            invokeinterface java.security.interfaces.DSAParams.getQ:()Ljava/math/BigInteger;
            invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JLjava/math/BigInteger;)V
            aastore
            dup
            bipush 7
        29: .line 1788
            new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            ldc 306
            aload 7 /* dsaKey */
            invokeinterface java.security.interfaces.DSAPrivateKey.getParams:()Ljava/security/interfaces/DSAParams;
            invokeinterface java.security.interfaces.DSAParams.getG:()Ljava/math/BigInteger;
            invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JLjava/math/BigInteger;)V
            aastore
            dup
            bipush 8
        30: .line 1789
            new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            ldc 17
            aload 7 /* dsaKey */
            invokeinterface java.security.interfaces.DSAPrivateKey.getX:()Ljava/math/BigInteger;
            invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JLjava/math/BigInteger;)V
            aastore
        31: .line 1780
            astore 4 /* attrs */
        32: .line 1791
            aload 8 /* idAttrs */
            iconst_1
            aaload
            ifnull 34
        33: .line 1792
            aload 4 /* attrs */
            aload 8 /* idAttrs */
            iconst_1
            aaload
            invokestatic sun.security.pkcs11.P11KeyStore.addAttribute:([Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;)[Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            astore 4 /* attrs */
        34: .line 1795
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
        35: .line 1796
            ldc "import"
            ldc 3
            lconst_1
            aload 4 /* attrs */
        36: .line 1795
            invokevirtual sun.security.pkcs11.Token.getAttributes:(Ljava/lang/String;JJ[Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;)[Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            astore 4 /* attrs */
        37: .line 1798
            getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
            ifnull 98
        38: .line 1799
            getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
            ldc "storePkey created DSA template"
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        end local 8 // sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] idAttrs
        end local 7 // java.security.interfaces.DSAPrivateKey dsaKey
        39: .line 1802
            goto 98
      StackMap locals:
      StackMap stack:
        40: aload 3 /* key */
            instanceof javax.crypto.interfaces.DHPrivateKey
            ifeq 61
        41: .line 1804
            aload 3 /* key */
            checkcast javax.crypto.interfaces.DHPrivateKey
            astore 7 /* dhKey */
        start local 7 // javax.crypto.interfaces.DHPrivateKey dhKey
        42: .line 1806
            aload 0 /* this */
            aload 3 /* key */
            aload 6 /* publicKey */
            iconst_0
            iload 5 /* useNDB */
            invokevirtual sun.security.pkcs11.P11KeyStore.getIdAttributes:(Ljava/security/PrivateKey;Ljava/security/PublicKey;ZZ)[Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            astore 8 /* idAttrs */
        start local 8 // sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] idAttrs
        43: .line 1807
            aload 8 /* idAttrs */
            iconst_0
            aaload
            ifnonnull 45
        44: .line 1808
            aload 8 /* idAttrs */
            iconst_0
            new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            ldc 258
            aload 1 /* alias */
            invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JLjava/lang/Object;)V
            aastore
        45: .line 1811
      StackMap locals: javax.crypto.interfaces.DHPrivateKey sun.security.pkcs11.wrapper.CK_ATTRIBUTE[]
      StackMap stack:
            bipush 8
            anewarray sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            iconst_0
        46: .line 1812
            getstatic sun.security.pkcs11.P11KeyStore.ATTR_TOKEN_TRUE:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            aastore
            dup
            iconst_1
        47: .line 1813
            getstatic sun.security.pkcs11.P11KeyStore.ATTR_CLASS_PKEY:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            aastore
            dup
            iconst_2
        48: .line 1814
            getstatic sun.security.pkcs11.P11KeyStore.ATTR_PRIVATE_TRUE:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            aastore
            dup
            iconst_3
        49: .line 1815
            new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            ldc 256
            ldc 2
            invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JJ)V
            aastore
            dup
            iconst_4
        50: .line 1816
            aload 8 /* idAttrs */
            iconst_0
            aaload
            aastore
            dup
            iconst_5
        51: .line 1817
            new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            ldc 304
            aload 7 /* dhKey */
            invokeinterface javax.crypto.interfaces.DHPrivateKey.getParams:()Ljavax/crypto/spec/DHParameterSpec;
            invokevirtual javax.crypto.spec.DHParameterSpec.getP:()Ljava/math/BigInteger;
            invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JLjava/math/BigInteger;)V
            aastore
            dup
            bipush 6
        52: .line 1818
            new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            ldc 306
            aload 7 /* dhKey */
            invokeinterface javax.crypto.interfaces.DHPrivateKey.getParams:()Ljavax/crypto/spec/DHParameterSpec;
            invokevirtual javax.crypto.spec.DHParameterSpec.getG:()Ljava/math/BigInteger;
            invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JLjava/math/BigInteger;)V
            aastore
            dup
            bipush 7
        53: .line 1819
            new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            ldc 17
            aload 7 /* dhKey */
            invokeinterface javax.crypto.interfaces.DHPrivateKey.getX:()Ljava/math/BigInteger;
            invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JLjava/math/BigInteger;)V
            aastore
        54: .line 1811
            astore 4 /* attrs */
        55: .line 1821
            aload 8 /* idAttrs */
            iconst_1
            aaload
            ifnull 57
        56: .line 1822
            aload 4 /* attrs */
            aload 8 /* idAttrs */
            iconst_1
            aaload
            invokestatic sun.security.pkcs11.P11KeyStore.addAttribute:([Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;)[Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            astore 4 /* attrs */
        57: .line 1825
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
        58: .line 1826
            ldc "import"
            ldc 3
            ldc 2
            aload 4 /* attrs */
        59: .line 1825
            invokevirtual sun.security.pkcs11.Token.getAttributes:(Ljava/lang/String;JJ[Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;)[Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            astore 4 /* attrs */
        end local 8 // sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] idAttrs
        end local 7 // javax.crypto.interfaces.DHPrivateKey dhKey
        60: .line 1828
            goto 98
      StackMap locals:
      StackMap stack:
        61: aload 3 /* key */
            instanceof java.security.interfaces.ECPrivateKey
            ifeq 84
        62: .line 1830
            aload 3 /* key */
            checkcast java.security.interfaces.ECPrivateKey
            astore 7 /* ecKey */
        start local 7 // java.security.interfaces.ECPrivateKey ecKey
        63: .line 1832
            aload 0 /* this */
            aload 3 /* key */
            aload 6 /* publicKey */
            iconst_0
            iload 5 /* useNDB */
            invokevirtual sun.security.pkcs11.P11KeyStore.getIdAttributes:(Ljava/security/PrivateKey;Ljava/security/PublicKey;ZZ)[Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            astore 8 /* idAttrs */
        start local 8 // sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] idAttrs
        64: .line 1833
            aload 8 /* idAttrs */
            iconst_0
            aaload
            ifnonnull 66
        65: .line 1834
            aload 8 /* idAttrs */
            iconst_0
            new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            ldc 258
            aload 1 /* alias */
            invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JLjava/lang/Object;)V
            aastore
        66: .line 1837
      StackMap locals: java.security.interfaces.ECPrivateKey sun.security.pkcs11.wrapper.CK_ATTRIBUTE[]
      StackMap stack:
            aload 7 /* ecKey */
            invokeinterface java.security.interfaces.ECPrivateKey.getParams:()Ljava/security/spec/ECParameterSpec;
            invokestatic sun.security.ec.ECParameters.encodeParameters:(Ljava/security/spec/ECParameterSpec;)[B
            astore 9 /* encodedParams */
        start local 9 // byte[] encodedParams
        67: .line 1838
            bipush 7
            anewarray sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            iconst_0
        68: .line 1839
            getstatic sun.security.pkcs11.P11KeyStore.ATTR_TOKEN_TRUE:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            aastore
            dup
            iconst_1
        69: .line 1840
            getstatic sun.security.pkcs11.P11KeyStore.ATTR_CLASS_PKEY:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            aastore
            dup
            iconst_2
        70: .line 1841
            getstatic sun.security.pkcs11.P11KeyStore.ATTR_PRIVATE_TRUE:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            aastore
            dup
            iconst_3
        71: .line 1842
            new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            ldc 256
            ldc 3
            invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JJ)V
            aastore
            dup
            iconst_4
        72: .line 1843
            aload 8 /* idAttrs */
            iconst_0
            aaload
            aastore
            dup
            iconst_5
        73: .line 1844
            new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            ldc 17
            aload 7 /* ecKey */
            invokeinterface java.security.interfaces.ECPrivateKey.getS:()Ljava/math/BigInteger;
            invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JLjava/math/BigInteger;)V
            aastore
            dup
            bipush 6
        74: .line 1845
            new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            ldc 384
            aload 9 /* encodedParams */
            invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JLjava/lang/Object;)V
            aastore
        75: .line 1838
            astore 4 /* attrs */
        76: .line 1847
            aload 8 /* idAttrs */
            iconst_1
            aaload
            ifnull 78
        77: .line 1848
            aload 4 /* attrs */
            aload 8 /* idAttrs */
            iconst_1
            aaload
            invokestatic sun.security.pkcs11.P11KeyStore.addAttribute:([Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;)[Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            astore 4 /* attrs */
        78: .line 1851
      StackMap locals: byte[]
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
        79: .line 1852
            ldc "import"
            ldc 3
            ldc 3
            aload 4 /* attrs */
        80: .line 1851
            invokevirtual sun.security.pkcs11.Token.getAttributes:(Ljava/lang/String;JJ[Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;)[Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            astore 4 /* attrs */
        81: .line 1854
            getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
            ifnull 98
        82: .line 1855
            getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
            ldc "storePkey created EC template"
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        end local 9 // byte[] encodedParams
        end local 8 // sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] idAttrs
        end local 7 // java.security.interfaces.ECPrivateKey ecKey
        83: .line 1858
            goto 98
      StackMap locals:
      StackMap stack:
        84: aload 3 /* key */
            instanceof sun.security.pkcs11.P11Key
            ifeq 97
        85: .line 1860
            aload 3 /* key */
            checkcast sun.security.pkcs11.P11Key
            astore 7 /* p11Key */
        start local 7 // sun.security.pkcs11.P11Key p11Key
        86: .line 1861
            aload 7 /* p11Key */
            getfield sun.security.pkcs11.P11Key.token:Lsun/security/pkcs11/Token;
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
            if_acmpeq 90
        87: .line 1862
            new java.security.KeyStoreException
            dup
        88: .line 1863
            ldc "Cannot move sensitive keys across tokens"
        89: .line 1862
            invokespecial java.security.KeyStoreException.<init>:(Ljava/lang/String;)V
            athrow
        90: .line 1865
      StackMap locals: sun.security.pkcs11.P11Key
      StackMap stack:
            aconst_null
            astore 8 /* netscapeDB */
        start local 8 // sun.security.pkcs11.wrapper.CK_ATTRIBUTE netscapeDB
        91: .line 1866
            iload 5 /* useNDB */
            ifeq 94
        92: .line 1873
            aload 0 /* this */
            aload 3 /* key */
            aload 6 /* publicKey */
            iconst_0
            iconst_1
            invokevirtual sun.security.pkcs11.P11KeyStore.getIdAttributes:(Ljava/security/PrivateKey;Ljava/security/PublicKey;ZZ)[Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            astore 9 /* idAttrs */
        start local 9 // sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] idAttrs
        93: .line 1874
            aload 9 /* idAttrs */
            iconst_1
            aaload
            astore 8 /* netscapeDB */
        end local 9 // sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] idAttrs
        94: .line 1877
      StackMap locals: sun.security.pkcs11.wrapper.CK_ATTRIBUTE
      StackMap stack:
            aload 0 /* this */
            aload 1 /* alias */
            aload 8 /* netscapeDB */
            aload 7 /* p11Key */
            invokevirtual sun.security.pkcs11.P11KeyStore.updateP11Pkey:(Ljava/lang/String;Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;Lsun/security/pkcs11/P11Key;)V
        95: .line 1878
            aload 0 /* this */
            aload 1 /* alias */
            aload 2 /* pke */
            invokevirtual java.security.KeyStore$PrivateKeyEntry.getCertificateChain:()[Ljava/security/cert/Certificate;
            checkcast java.security.cert.X509Certificate[]
            invokevirtual sun.security.pkcs11.P11KeyStore.storeChain:(Ljava/lang/String;[Ljava/security/cert/X509Certificate;)V
        96: .line 1879
            return
        end local 8 // sun.security.pkcs11.wrapper.CK_ATTRIBUTE netscapeDB
        end local 7 // sun.security.pkcs11.P11Key p11Key
        97: .line 1882
      StackMap locals:
      StackMap stack:
            new java.security.KeyStoreException
            dup
            new java.lang.StringBuilder
            dup
            ldc "unsupported key type: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* key */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.security.KeyStoreException.<init>:(Ljava/lang/String;)V
            athrow
        98: .line 1885
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 7 /* session */
        start local 7 // sun.security.pkcs11.Session session
        99: .line 1887
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
            invokevirtual sun.security.pkcs11.Token.getOpSession:()Lsun/security/pkcs11/Session;
            astore 7 /* session */
       100: .line 1890
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
            getfield sun.security.pkcs11.Token.p11:Lsun/security/pkcs11/wrapper/PKCS11;
            aload 7 /* session */
            invokevirtual sun.security.pkcs11.Session.id:()J
            aload 4 /* attrs */
            invokevirtual sun.security.pkcs11.wrapper.PKCS11.C_CreateObject:(J[Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;)J
            pop2
       101: .line 1891
            getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
            ifnull 110
       102: .line 1892
            getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
            new java.lang.StringBuilder
            dup
            ldc "storePkey created token key for ["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
       103: .line 1893
            aload 1 /* alias */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
       104: .line 1894
            ldc "]"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
       105: .line 1892
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
       106: .line 1896
            goto 110
      StackMap locals: sun.security.pkcs11.P11KeyStore java.lang.String java.security.KeyStore$PrivateKeyEntry java.security.PrivateKey sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] int java.security.PublicKey sun.security.pkcs11.Session
      StackMap stack: java.lang.Throwable
       107: astore 8
       108: .line 1897
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
            aload 7 /* session */
            invokevirtual sun.security.pkcs11.Token.releaseSession:(Lsun/security/pkcs11/Session;)Lsun/security/pkcs11/Session;
            pop
       109: .line 1898
            aload 8
            athrow
       110: .line 1897
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
            aload 7 /* session */
            invokevirtual sun.security.pkcs11.Token.releaseSession:(Lsun/security/pkcs11/Session;)Lsun/security/pkcs11/Session;
            pop
       111: .line 1900
            aload 0 /* this */
            aload 1 /* alias */
            aload 2 /* pke */
            invokevirtual java.security.KeyStore$PrivateKeyEntry.getCertificateChain:()[Ljava/security/cert/Certificate;
            checkcast java.security.cert.X509Certificate[]
            invokevirtual sun.security.pkcs11.P11KeyStore.storeChain:(Ljava/lang/String;[Ljava/security/cert/X509Certificate;)V
       112: .line 1901
            return
        end local 7 // sun.security.pkcs11.Session session
        end local 6 // java.security.PublicKey publicKey
        end local 5 // boolean useNDB
        end local 4 // sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] attrs
        end local 3 // java.security.PrivateKey key
        end local 2 // java.security.KeyStore$PrivateKeyEntry pke
        end local 1 // java.lang.String alias
        end local 0 // sun.security.pkcs11.P11KeyStore this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0  113     0           this  Lsun/security/pkcs11/P11KeyStore;
            0  113     1          alias  Ljava/lang/String;
            0  113     2            pke  Ljava/security/KeyStore$PrivateKeyEntry;
            1  113     3            key  Ljava/security/PrivateKey;
            2  113     4          attrs  [Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            4    8     5         p11Key  Lsun/security/pkcs11/P11Key;
            9  113     5         useNDB  Z
           10  113     6      publicKey  Ljava/security/PublicKey;
           12   15     7           cert  Ljava/security/cert/X509Certificate;
           18   39     7         dsaKey  Ljava/security/interfaces/DSAPrivateKey;
           19   39     8        idAttrs  [Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
           42   60     7          dhKey  Ljavax/crypto/interfaces/DHPrivateKey;
           43   60     8        idAttrs  [Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
           63   83     7          ecKey  Ljava/security/interfaces/ECPrivateKey;
           64   83     8        idAttrs  [Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
           67   83     9  encodedParams  [B
           86   97     7         p11Key  Lsun/security/pkcs11/P11Key;
           91   97     8     netscapeDB  Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
           93   94     9        idAttrs  [Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
           99  113     7        session  Lsun/security/pkcs11/Session;
      Exception table:
        from    to  target  type
          99   107     107  any
    Exceptions:
      throws sun.security.pkcs11.wrapper.PKCS11Exception, java.security.cert.CertificateException, java.security.KeyStoreException
    MethodParameters:
       Name  Flags
      alias  
      pke    

  private sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] getRsaPrivKeyAttrs(java.lang.String, java.security.interfaces.RSAPrivateKey, javax.security.auth.x500.X500Principal);
    descriptor: (Ljava/lang/String;Ljava/security/interfaces/RSAPrivateKey;Ljavax/security/auth/x500/X500Principal;)[Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=9, locals=6, args_size=4
        start local 0 // sun.security.pkcs11.P11KeyStore this
        start local 1 // java.lang.String alias
        start local 2 // java.security.interfaces.RSAPrivateKey key
        start local 3 // javax.security.auth.x500.X500Principal subject
         0: .line 1909
            aconst_null
            astore 4 /* attrs */
        start local 4 // sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] attrs
         1: .line 1910
            aload 2 /* key */
            instanceof java.security.interfaces.RSAPrivateCrtKey
            ifeq 40
         2: .line 1912
            getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
            ifnull 4
         3: .line 1913
            getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
            ldc "creating RSAPrivateCrtKey attrs"
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
         4: .line 1916
      StackMap locals: sun.security.pkcs11.wrapper.CK_ATTRIBUTE[]
      StackMap stack:
            aload 2 /* key */
            checkcast java.security.interfaces.RSAPrivateCrtKey
            astore 5 /* rsaKey */
        start local 5 // java.security.interfaces.RSAPrivateCrtKey rsaKey
         5: .line 1918
            bipush 13
            anewarray sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            iconst_0
         6: .line 1919
            getstatic sun.security.pkcs11.P11KeyStore.ATTR_TOKEN_TRUE:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            aastore
            dup
            iconst_1
         7: .line 1920
            getstatic sun.security.pkcs11.P11KeyStore.ATTR_CLASS_PKEY:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            aastore
            dup
            iconst_2
         8: .line 1921
            getstatic sun.security.pkcs11.P11KeyStore.ATTR_PRIVATE_TRUE:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            aastore
            dup
            iconst_3
         9: .line 1922
            new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            ldc 256
            lconst_0
            invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JJ)V
            aastore
            dup
            iconst_4
        10: .line 1923
            new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            ldc 258
            aload 1 /* alias */
            invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JLjava/lang/Object;)V
            aastore
            dup
            iconst_5
        11: .line 1924
            new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            ldc 288
        12: .line 1925
            aload 5 /* rsaKey */
            invokeinterface java.security.interfaces.RSAPrivateCrtKey.getModulus:()Ljava/math/BigInteger;
        13: .line 1924
            invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JLjava/math/BigInteger;)V
            aastore
            dup
            bipush 6
        14: .line 1926
            new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            ldc 291
        15: .line 1927
            aload 5 /* rsaKey */
            invokeinterface java.security.interfaces.RSAPrivateCrtKey.getPrivateExponent:()Ljava/math/BigInteger;
        16: .line 1926
            invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JLjava/math/BigInteger;)V
            aastore
            dup
            bipush 7
        17: .line 1928
            new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            ldc 290
        18: .line 1929
            aload 5 /* rsaKey */
            invokeinterface java.security.interfaces.RSAPrivateCrtKey.getPublicExponent:()Ljava/math/BigInteger;
        19: .line 1928
            invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JLjava/math/BigInteger;)V
            aastore
            dup
            bipush 8
        20: .line 1930
            new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            ldc 292
        21: .line 1931
            aload 5 /* rsaKey */
            invokeinterface java.security.interfaces.RSAPrivateCrtKey.getPrimeP:()Ljava/math/BigInteger;
        22: .line 1930
            invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JLjava/math/BigInteger;)V
            aastore
            dup
            bipush 9
        23: .line 1932
            new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            ldc 293
        24: .line 1933
            aload 5 /* rsaKey */
            invokeinterface java.security.interfaces.RSAPrivateCrtKey.getPrimeQ:()Ljava/math/BigInteger;
        25: .line 1932
            invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JLjava/math/BigInteger;)V
            aastore
            dup
            bipush 10
        26: .line 1934
            new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            ldc 294
        27: .line 1935
            aload 5 /* rsaKey */
            invokeinterface java.security.interfaces.RSAPrivateCrtKey.getPrimeExponentP:()Ljava/math/BigInteger;
        28: .line 1934
            invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JLjava/math/BigInteger;)V
            aastore
            dup
            bipush 11
        29: .line 1936
            new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            ldc 295
        30: .line 1937
            aload 5 /* rsaKey */
            invokeinterface java.security.interfaces.RSAPrivateCrtKey.getPrimeExponentQ:()Ljava/math/BigInteger;
        31: .line 1936
            invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JLjava/math/BigInteger;)V
            aastore
            dup
            bipush 12
        32: .line 1938
            new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            ldc 296
        33: .line 1939
            aload 5 /* rsaKey */
            invokeinterface java.security.interfaces.RSAPrivateCrtKey.getCrtCoefficient:()Ljava/math/BigInteger;
        34: .line 1938
            invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JLjava/math/BigInteger;)V
            aastore
        35: .line 1918
            astore 4 /* attrs */
        36: .line 1940
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
        37: .line 1941
            ldc "import"
            ldc 3
            lconst_0
            aload 4 /* attrs */
        38: .line 1940
            invokevirtual sun.security.pkcs11.Token.getAttributes:(Ljava/lang/String;JJ[Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;)[Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            astore 4 /* attrs */
        end local 5 // java.security.interfaces.RSAPrivateCrtKey rsaKey
        39: .line 1943
            goto 59
        40: .line 1945
      StackMap locals:
      StackMap stack:
            getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
            ifnull 42
        41: .line 1946
            getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
            ldc "creating RSAPrivateKey attrs"
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        42: .line 1949
      StackMap locals:
      StackMap stack:
            aload 2 /* key */
            astore 5 /* rsaKey */
        start local 5 // java.security.interfaces.RSAPrivateKey rsaKey
        43: .line 1951
            bipush 7
            anewarray sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            iconst_0
        44: .line 1952
            getstatic sun.security.pkcs11.P11KeyStore.ATTR_TOKEN_TRUE:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            aastore
            dup
            iconst_1
        45: .line 1953
            getstatic sun.security.pkcs11.P11KeyStore.ATTR_CLASS_PKEY:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            aastore
            dup
            iconst_2
        46: .line 1954
            getstatic sun.security.pkcs11.P11KeyStore.ATTR_PRIVATE_TRUE:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            aastore
            dup
            iconst_3
        47: .line 1955
            new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            ldc 256
            lconst_0
            invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JJ)V
            aastore
            dup
            iconst_4
        48: .line 1956
            new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            ldc 258
            aload 1 /* alias */
            invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JLjava/lang/Object;)V
            aastore
            dup
            iconst_5
        49: .line 1957
            new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            ldc 288
        50: .line 1958
            aload 5 /* rsaKey */
            invokeinterface java.security.interfaces.RSAPrivateKey.getModulus:()Ljava/math/BigInteger;
        51: .line 1957
            invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JLjava/math/BigInteger;)V
            aastore
            dup
            bipush 6
        52: .line 1959
            new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            ldc 291
        53: .line 1960
            aload 5 /* rsaKey */
            invokeinterface java.security.interfaces.RSAPrivateKey.getPrivateExponent:()Ljava/math/BigInteger;
        54: .line 1959
            invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JLjava/math/BigInteger;)V
            aastore
        55: .line 1951
            astore 4 /* attrs */
        56: .line 1961
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
        57: .line 1962
            ldc "import"
            ldc 3
            lconst_0
            aload 4 /* attrs */
        58: .line 1961
            invokevirtual sun.security.pkcs11.Token.getAttributes:(Ljava/lang/String;JJ[Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;)[Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            astore 4 /* attrs */
        end local 5 // java.security.interfaces.RSAPrivateKey rsaKey
        59: .line 1965
      StackMap locals:
      StackMap stack:
            aload 4 /* attrs */
            areturn
        end local 4 // sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] attrs
        end local 3 // javax.security.auth.x500.X500Principal subject
        end local 2 // java.security.interfaces.RSAPrivateKey key
        end local 1 // java.lang.String alias
        end local 0 // sun.security.pkcs11.P11KeyStore this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   60     0     this  Lsun/security/pkcs11/P11KeyStore;
            0   60     1    alias  Ljava/lang/String;
            0   60     2      key  Ljava/security/interfaces/RSAPrivateKey;
            0   60     3  subject  Ljavax/security/auth/x500/X500Principal;
            1   60     4    attrs  [Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            5   39     5   rsaKey  Ljava/security/interfaces/RSAPrivateCrtKey;
           43   59     5   rsaKey  Ljava/security/interfaces/RSAPrivateKey;
    Exceptions:
      throws sun.security.pkcs11.wrapper.PKCS11Exception
    MethodParameters:
         Name  Flags
      alias    
      key      
      subject  

  private sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] getIdAttributes(java.security.PrivateKey, java.security.PublicKey, boolean, boolean);
    descriptor: (Ljava/security/PrivateKey;Ljava/security/PublicKey;ZZ)[Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=11, args_size=5
        start local 0 // sun.security.pkcs11.P11KeyStore this
        start local 1 // java.security.PrivateKey privateKey
        start local 2 // java.security.PublicKey publicKey
        start local 3 // boolean id
        start local 4 // boolean netscapeDb
         0: .line 1983
            iconst_2
            anewarray sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            astore 5 /* attrs */
        start local 5 // sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] attrs
         1: .line 1984
            iload 3 /* id */
            ifne 3
            iload 4 /* netscapeDb */
            ifne 3
         2: .line 1985
            aload 5 /* attrs */
            areturn
         3: .line 1987
      StackMap locals: sun.security.pkcs11.wrapper.CK_ATTRIBUTE[]
      StackMap stack:
            aload 1 /* privateKey */
            invokeinterface java.security.PrivateKey.getAlgorithm:()Ljava/lang/String;
            astore 6 /* alg */
        start local 6 // java.lang.String alg
         4: .line 1988
            iload 3 /* id */
            ifeq 8
            aload 6 /* alg */
            ldc "RSA"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 8
            aload 2 /* publicKey */
            instanceof java.security.interfaces.RSAPublicKey
            ifeq 8
         5: .line 1990
            aload 2 /* publicKey */
            checkcast java.security.interfaces.RSAPublicKey
            invokeinterface java.security.interfaces.RSAPublicKey.getModulus:()Ljava/math/BigInteger;
            astore 7 /* n */
        start local 7 // java.math.BigInteger n
         6: .line 1991
            aload 5 /* attrs */
            iconst_0
            new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            ldc 258
            aload 7 /* n */
            invokestatic sun.security.pkcs11.P11Util.getMagnitude:(Ljava/math/BigInteger;)[B
            invokestatic sun.security.pkcs11.P11Util.sha1:([B)[B
            invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JLjava/lang/Object;)V
            aastore
        end local 7 // java.math.BigInteger n
         7: .line 1992
            goto 33
      StackMap locals: java.lang.String
      StackMap stack:
         8: aload 6 /* alg */
            ldc "DSA"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 15
            aload 2 /* publicKey */
            instanceof java.security.interfaces.DSAPublicKey
            ifeq 15
         9: .line 1993
            aload 2 /* publicKey */
            checkcast java.security.interfaces.DSAPublicKey
            invokeinterface java.security.interfaces.DSAPublicKey.getY:()Ljava/math/BigInteger;
            astore 7 /* y */
        start local 7 // java.math.BigInteger y
        10: .line 1994
            iload 3 /* id */
            ifeq 12
        11: .line 1995
            aload 5 /* attrs */
            iconst_0
            new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            ldc 258
            aload 7 /* y */
            invokestatic sun.security.pkcs11.P11Util.getMagnitude:(Ljava/math/BigInteger;)[B
            invokestatic sun.security.pkcs11.P11Util.sha1:([B)[B
            invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JLjava/lang/Object;)V
            aastore
        12: .line 1997
      StackMap locals: java.math.BigInteger
      StackMap stack:
            iload 4 /* netscapeDb */
            ifeq 33
        13: .line 1998
            aload 5 /* attrs */
            iconst_1
            new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            ldc 3584088832
            aload 7 /* y */
            invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JLjava/math/BigInteger;)V
            aastore
        end local 7 // java.math.BigInteger y
        14: .line 2000
            goto 33
      StackMap locals:
      StackMap stack:
        15: aload 6 /* alg */
            ldc "DH"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 22
            aload 2 /* publicKey */
            instanceof javax.crypto.interfaces.DHPublicKey
            ifeq 22
        16: .line 2001
            aload 2 /* publicKey */
            checkcast javax.crypto.interfaces.DHPublicKey
            invokeinterface javax.crypto.interfaces.DHPublicKey.getY:()Ljava/math/BigInteger;
            astore 7 /* y */
        start local 7 // java.math.BigInteger y
        17: .line 2002
            iload 3 /* id */
            ifeq 19
        18: .line 2003
            aload 5 /* attrs */
            iconst_0
            new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            ldc 258
            aload 7 /* y */
            invokestatic sun.security.pkcs11.P11Util.getMagnitude:(Ljava/math/BigInteger;)[B
            invokestatic sun.security.pkcs11.P11Util.sha1:([B)[B
            invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JLjava/lang/Object;)V
            aastore
        19: .line 2005
      StackMap locals: java.math.BigInteger
      StackMap stack:
            iload 4 /* netscapeDb */
            ifeq 33
        20: .line 2006
            aload 5 /* attrs */
            iconst_1
            new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            ldc 3584088832
            aload 7 /* y */
            invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JLjava/math/BigInteger;)V
            aastore
        end local 7 // java.math.BigInteger y
        21: .line 2008
            goto 33
      StackMap locals:
      StackMap stack:
        22: aload 6 /* alg */
            ldc "EC"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 32
            aload 2 /* publicKey */
            instanceof java.security.interfaces.ECPublicKey
            ifeq 32
        23: .line 2009
            aload 2 /* publicKey */
            checkcast java.security.interfaces.ECPublicKey
            astore 7 /* ecPub */
        start local 7 // java.security.interfaces.ECPublicKey ecPub
        24: .line 2010
            aload 7 /* ecPub */
            invokeinterface java.security.interfaces.ECPublicKey.getW:()Ljava/security/spec/ECPoint;
            astore 8 /* point */
        start local 8 // java.security.spec.ECPoint point
        25: .line 2011
            aload 7 /* ecPub */
            invokeinterface java.security.interfaces.ECPublicKey.getParams:()Ljava/security/spec/ECParameterSpec;
            astore 9 /* params */
        start local 9 // java.security.spec.ECParameterSpec params
        26: .line 2012
            aload 8 /* point */
            aload 9 /* params */
            invokevirtual java.security.spec.ECParameterSpec.getCurve:()Ljava/security/spec/EllipticCurve;
            invokestatic sun.security.ec.ECParameters.encodePoint:(Ljava/security/spec/ECPoint;Ljava/security/spec/EllipticCurve;)[B
            astore 10 /* encodedPoint */
        start local 10 // byte[] encodedPoint
        27: .line 2013
            iload 3 /* id */
            ifeq 29
        28: .line 2014
            aload 5 /* attrs */
            iconst_0
            new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            ldc 258
            aload 10 /* encodedPoint */
            invokestatic sun.security.pkcs11.P11Util.sha1:([B)[B
            invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JLjava/lang/Object;)V
            aastore
        29: .line 2016
      StackMap locals: sun.security.pkcs11.P11KeyStore java.security.PrivateKey java.security.PublicKey int int sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] java.lang.String java.security.interfaces.ECPublicKey java.security.spec.ECPoint java.security.spec.ECParameterSpec byte[]
      StackMap stack:
            iload 4 /* netscapeDb */
            ifeq 33
        30: .line 2017
            aload 5 /* attrs */
            iconst_1
            new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            ldc 3584088832
            aload 10 /* encodedPoint */
            invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JLjava/lang/Object;)V
            aastore
        end local 10 // byte[] encodedPoint
        end local 9 // java.security.spec.ECParameterSpec params
        end local 8 // java.security.spec.ECPoint point
        end local 7 // java.security.interfaces.ECPublicKey ecPub
        31: .line 2019
            goto 33
        32: .line 2020
      StackMap locals: sun.security.pkcs11.P11KeyStore java.security.PrivateKey java.security.PublicKey int int sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] java.lang.String
      StackMap stack:
            new java.lang.RuntimeException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Unknown key algorithm "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 6 /* alg */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
            athrow
        33: .line 2022
      StackMap locals:
      StackMap stack:
            aload 5 /* attrs */
            areturn
        end local 6 // java.lang.String alg
        end local 5 // sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] attrs
        end local 4 // boolean netscapeDb
        end local 3 // boolean id
        end local 2 // java.security.PublicKey publicKey
        end local 1 // java.security.PrivateKey privateKey
        end local 0 // sun.security.pkcs11.P11KeyStore this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   34     0          this  Lsun/security/pkcs11/P11KeyStore;
            0   34     1    privateKey  Ljava/security/PrivateKey;
            0   34     2     publicKey  Ljava/security/PublicKey;
            0   34     3            id  Z
            0   34     4    netscapeDb  Z
            1   34     5         attrs  [Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            4   34     6           alg  Ljava/lang/String;
            6    7     7             n  Ljava/math/BigInteger;
           10   14     7             y  Ljava/math/BigInteger;
           17   21     7             y  Ljava/math/BigInteger;
           24   31     7         ecPub  Ljava/security/interfaces/ECPublicKey;
           25   31     8         point  Ljava/security/spec/ECPoint;
           26   31     9        params  Ljava/security/spec/ECParameterSpec;
           27   31    10  encodedPoint  [B
    MethodParameters:
            Name  Flags
      privateKey  
      publicKey   
      id          
      netscapeDb  

  private boolean destroyCert(byte[]);
    descriptor: ([B)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=5, args_size=2
        start local 0 // sun.security.pkcs11.P11KeyStore this
        start local 1 // byte[] cka_id
         0: .line 2030
            aconst_null
            astore 2 /* session */
        start local 2 // sun.security.pkcs11.Session session
         1: .line 2032
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
            invokevirtual sun.security.pkcs11.Token.getOpSession:()Lsun/security/pkcs11/Session;
            astore 2 /* session */
         2: .line 2033
            aload 0 /* this */
            aload 2 /* session */
            getstatic sun.security.pkcs11.P11KeyStore.ATTR_CLASS_CERT:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            aload 1 /* cka_id */
            aconst_null
            invokevirtual sun.security.pkcs11.P11KeyStore.getTokenObject:(Lsun/security/pkcs11/Session;Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;[BLjava/lang/String;)Lsun/security/pkcs11/P11KeyStore$THandle;
            astore 3 /* h */
        start local 3 // sun.security.pkcs11.P11KeyStore$THandle h
         3: .line 2034
            aload 3 /* h */
            getfield sun.security.pkcs11.P11KeyStore$THandle.type:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            getstatic sun.security.pkcs11.P11KeyStore.ATTR_CLASS_CERT:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            if_acmpeq 6
         4: .line 2046
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
            aload 2 /* session */
            invokevirtual sun.security.pkcs11.Token.releaseSession:(Lsun/security/pkcs11/Session;)Lsun/security/pkcs11/Session;
            pop
         5: .line 2035
            iconst_0
            ireturn
         6: .line 2038
      StackMap locals: sun.security.pkcs11.Session sun.security.pkcs11.P11KeyStore$THandle
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
            getfield sun.security.pkcs11.Token.p11:Lsun/security/pkcs11/wrapper/PKCS11;
            aload 2 /* session */
            invokevirtual sun.security.pkcs11.Session.id:()J
            aload 3 /* h */
            getfield sun.security.pkcs11.P11KeyStore$THandle.handle:J
            invokevirtual sun.security.pkcs11.wrapper.PKCS11.C_DestroyObject:(JJ)V
         7: .line 2039
            getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
            ifnull 12
         8: .line 2040
            getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
            new java.lang.StringBuilder
            dup
            ldc "destroyCert destroyed cert with CKA_ID ["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         9: .line 2041
            aload 1 /* cka_id */
            invokestatic sun.security.pkcs11.P11KeyStore.getID:([B)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        10: .line 2042
            ldc "]"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        11: .line 2040
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        12: .line 2046
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
            aload 2 /* session */
            invokevirtual sun.security.pkcs11.Token.releaseSession:(Lsun/security/pkcs11/Session;)Lsun/security/pkcs11/Session;
            pop
        13: .line 2044
            iconst_1
            ireturn
        end local 3 // sun.security.pkcs11.P11KeyStore$THandle h
        14: .line 2045
      StackMap locals: sun.security.pkcs11.P11KeyStore byte[] sun.security.pkcs11.Session
      StackMap stack: java.lang.Throwable
            astore 4
        15: .line 2046
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
            aload 2 /* session */
            invokevirtual sun.security.pkcs11.Token.releaseSession:(Lsun/security/pkcs11/Session;)Lsun/security/pkcs11/Session;
            pop
        16: .line 2047
            aload 4
            athrow
        end local 2 // sun.security.pkcs11.Session session
        end local 1 // byte[] cka_id
        end local 0 // sun.security.pkcs11.P11KeyStore this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   17     0     this  Lsun/security/pkcs11/P11KeyStore;
            0   17     1   cka_id  [B
            1   17     2  session  Lsun/security/pkcs11/Session;
            3   14     3        h  Lsun/security/pkcs11/P11KeyStore$THandle;
      Exception table:
        from    to  target  type
           1     4      14  any
           6    12      14  any
    Exceptions:
      throws sun.security.pkcs11.wrapper.PKCS11Exception, java.security.KeyStoreException
    MethodParameters:
        Name  Flags
      cka_id  

  private boolean destroyChain(byte[]);
    descriptor: ([B)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=8, locals=12, args_size=2
        start local 0 // sun.security.pkcs11.P11KeyStore this
        start local 1 // byte[] cka_id
         0: .line 2056
            aconst_null
            astore 2 /* session */
        start local 2 // sun.security.pkcs11.Session session
         1: .line 2058
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
            invokevirtual sun.security.pkcs11.Token.getOpSession:()Lsun/security/pkcs11/Session;
            astore 2 /* session */
         2: .line 2060
            aload 0 /* this */
            aload 2 /* session */
            getstatic sun.security.pkcs11.P11KeyStore.ATTR_CLASS_CERT:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            aload 1 /* cka_id */
            aconst_null
            invokevirtual sun.security.pkcs11.P11KeyStore.getTokenObject:(Lsun/security/pkcs11/Session;Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;[BLjava/lang/String;)Lsun/security/pkcs11/P11KeyStore$THandle;
            astore 3 /* h */
        start local 3 // sun.security.pkcs11.P11KeyStore$THandle h
         3: .line 2061
            aload 3 /* h */
            getfield sun.security.pkcs11.P11KeyStore$THandle.type:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            getstatic sun.security.pkcs11.P11KeyStore.ATTR_CLASS_CERT:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            if_acmpeq 11
         4: .line 2062
            getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
            ifnull 9
         5: .line 2063
            getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
            new java.lang.StringBuilder
            dup
            ldc "destroyChain could not find end entity cert with CKA_ID [0x"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         6: .line 2065
            aload 1 /* cka_id */
            invokestatic sun.security.pkcs11.wrapper.Functions.toHexString:([B)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         7: .line 2066
            ldc "]"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         8: .line 2063
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
         9: .line 2157
      StackMap locals: sun.security.pkcs11.Session sun.security.pkcs11.P11KeyStore$THandle
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
            aload 2 /* session */
            invokevirtual sun.security.pkcs11.Token.releaseSession:(Lsun/security/pkcs11/Session;)Lsun/security/pkcs11/Session;
            pop
        10: .line 2068
            iconst_0
            ireturn
        11: .line 2071
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* session */
            aload 3 /* h */
            getfield sun.security.pkcs11.P11KeyStore$THandle.handle:J
            invokevirtual sun.security.pkcs11.P11KeyStore.loadCert:(Lsun/security/pkcs11/Session;J)Ljava/security/cert/X509Certificate;
            astore 4 /* endCert */
        start local 4 // java.security.cert.X509Certificate endCert
        12: .line 2072
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
            getfield sun.security.pkcs11.Token.p11:Lsun/security/pkcs11/wrapper/PKCS11;
            aload 2 /* session */
            invokevirtual sun.security.pkcs11.Session.id:()J
            aload 3 /* h */
            getfield sun.security.pkcs11.P11KeyStore$THandle.handle:J
            invokevirtual sun.security.pkcs11.wrapper.PKCS11.C_DestroyObject:(JJ)V
        13: .line 2073
            getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
            ifnull 18
        14: .line 2074
            getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
            new java.lang.StringBuilder
            dup
            ldc "destroyChain destroyed end entity cert with CKA_ID ["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        15: .line 2076
            aload 1 /* cka_id */
            invokestatic sun.security.pkcs11.P11KeyStore.getID:([B)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        16: .line 2077
            ldc "]"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        17: .line 2074
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        18: .line 2082
      StackMap locals: java.security.cert.X509Certificate
      StackMap stack:
            aload 4 /* endCert */
            astore 5 /* next */
        start local 5 // java.security.cert.X509Certificate next
        19: .line 2085
      StackMap locals: java.security.cert.X509Certificate
      StackMap stack:
            aload 5 /* next */
            invokevirtual java.security.cert.X509Certificate.getSubjectX500Principal:()Ljavax/security/auth/x500/X500Principal;
        20: .line 2086
            aload 5 /* next */
            invokevirtual java.security.cert.X509Certificate.getIssuerX500Principal:()Ljavax/security/auth/x500/X500Principal;
        21: .line 2085
            invokevirtual javax.security.auth.x500.X500Principal.equals:(Ljava/lang/Object;)Z
        22: .line 2086
            ifeq 24
        23: .line 2088
            goto 72
        24: .line 2091
      StackMap locals:
      StackMap stack:
            iconst_3
            anewarray sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            iconst_0
        25: .line 2092
            getstatic sun.security.pkcs11.P11KeyStore.ATTR_TOKEN_TRUE:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            aastore
            dup
            iconst_1
        26: .line 2093
            getstatic sun.security.pkcs11.P11KeyStore.ATTR_CLASS_CERT:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            aastore
            dup
            iconst_2
        27: .line 2094
            new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            ldc 257
        28: .line 2095
            aload 5 /* next */
            invokevirtual java.security.cert.X509Certificate.getIssuerX500Principal:()Ljavax/security/auth/x500/X500Principal;
            invokevirtual javax.security.auth.x500.X500Principal.getEncoded:()[B
        29: .line 2094
            invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JLjava/lang/Object;)V
            aastore
        30: .line 2091
            astore 6 /* attrs */
        start local 6 // sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] attrs
        31: .line 2096
            aload 2 /* session */
            aload 6 /* attrs */
            invokestatic sun.security.pkcs11.P11KeyStore.findObjects:(Lsun/security/pkcs11/Session;[Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;)[J
            astore 7 /* ch */
        start local 7 // long[] ch
        32: .line 2098
            aload 7 /* ch */
            ifnull 72
            aload 7 /* ch */
            arraylength
            ifne 34
        33: .line 2100
            goto 72
        34: .line 2103
      StackMap locals: sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] long[]
      StackMap stack:
            getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
            ifnull 41
            aload 7 /* ch */
            arraylength
            iconst_1
            if_icmple 41
        35: .line 2104
            getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
            new java.lang.StringBuilder
            dup
            ldc "destroyChain found "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        36: .line 2105
            aload 7 /* ch */
            arraylength
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
        37: .line 2106
            ldc " certificate entries for subject ["
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        38: .line 2107
            aload 5 /* next */
            invokevirtual java.security.cert.X509Certificate.getIssuerX500Principal:()Ljavax/security/auth/x500/X500Principal;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
        39: .line 2108
            ldc "] in token - using first entry"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        40: .line 2104
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        41: .line 2111
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* session */
            aload 7 /* ch */
            iconst_0
            laload
            invokevirtual sun.security.pkcs11.P11KeyStore.loadCert:(Lsun/security/pkcs11/Session;J)Ljava/security/cert/X509Certificate;
            astore 5 /* next */
        42: .line 2115
            iconst_3
            anewarray sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            iconst_0
        43: .line 2116
            getstatic sun.security.pkcs11.P11KeyStore.ATTR_TOKEN_TRUE:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            aastore
            dup
            iconst_1
        44: .line 2117
            getstatic sun.security.pkcs11.P11KeyStore.ATTR_CLASS_CERT:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            aastore
            dup
            iconst_2
        45: .line 2118
            new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            ldc 129
        46: .line 2119
            aload 5 /* next */
            invokevirtual java.security.cert.X509Certificate.getSubjectX500Principal:()Ljavax/security/auth/x500/X500Principal;
            invokevirtual javax.security.auth.x500.X500Principal.getEncoded:()[B
        47: .line 2118
            invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JLjava/lang/Object;)V
            aastore
        48: .line 2115
            astore 6 /* attrs */
        49: .line 2120
            aload 2 /* session */
            aload 6 /* attrs */
            invokestatic sun.security.pkcs11.P11KeyStore.findObjects:(Lsun/security/pkcs11/Session;[Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;)[J
            astore 8 /* issuers */
        start local 8 // long[] issuers
        50: .line 2122
            iconst_0
            istore 9 /* destroyIt */
        start local 9 // boolean destroyIt
        51: .line 2123
            aload 8 /* issuers */
            ifnull 52
            aload 8 /* issuers */
            arraylength
            ifne 54
        52: .line 2126
      StackMap locals: long[] int
      StackMap stack:
            iconst_1
            istore 9 /* destroyIt */
        53: .line 2127
            goto 58
      StackMap locals:
      StackMap stack:
        54: aload 8 /* issuers */
            arraylength
            iconst_1
            if_icmpne 58
        55: .line 2128
            aload 0 /* this */
            aload 2 /* session */
            aload 8 /* issuers */
            iconst_0
            laload
            invokevirtual sun.security.pkcs11.P11KeyStore.loadCert:(Lsun/security/pkcs11/Session;J)Ljava/security/cert/X509Certificate;
            astore 10 /* iCert */
        start local 10 // java.security.cert.X509Certificate iCert
        56: .line 2129
            aload 5 /* next */
            aload 10 /* iCert */
            invokevirtual java.security.cert.X509Certificate.equals:(Ljava/lang/Object;)Z
            ifeq 58
        57: .line 2132
            iconst_1
            istore 9 /* destroyIt */
        end local 10 // java.security.cert.X509Certificate iCert
        58: .line 2136
      StackMap locals:
      StackMap stack:
            iload 9 /* destroyIt */
            ifeq 67
        59: .line 2137
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
            getfield sun.security.pkcs11.Token.p11:Lsun/security/pkcs11/wrapper/PKCS11;
            aload 2 /* session */
            invokevirtual sun.security.pkcs11.Session.id:()J
            aload 7 /* ch */
            iconst_0
            laload
            invokevirtual sun.security.pkcs11.wrapper.PKCS11.C_DestroyObject:(JJ)V
        60: .line 2138
            getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
            ifnull 19
        61: .line 2139
            getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
        62: .line 2140
            new java.lang.StringBuilder
            dup
            ldc "destroyChain destroyed cert in chain with subject ["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        63: .line 2142
            aload 5 /* next */
            invokevirtual java.security.cert.X509Certificate.getSubjectX500Principal:()Ljavax/security/auth/x500/X500Principal;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc "]"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        64: .line 2140
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        65: .line 2139
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        66: .line 2144
            goto 19
        67: .line 2145
      StackMap locals:
      StackMap stack:
            getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
            ifnull 19
        68: .line 2146
            getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
            new java.lang.StringBuilder
            dup
            ldc "destroyChain did not destroy shared cert in chain with subject ["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        69: .line 2148
            aload 5 /* next */
            invokevirtual java.security.cert.X509Certificate.getSubjectX500Principal:()Ljavax/security/auth/x500/X500Principal;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc "]"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        70: .line 2146
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        end local 9 // boolean destroyIt
        end local 8 // long[] issuers
        end local 7 // long[] ch
        end local 6 // sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] attrs
        71: .line 2083
            goto 19
        72: .line 2157
      StackMap locals: sun.security.pkcs11.P11KeyStore byte[] sun.security.pkcs11.Session sun.security.pkcs11.P11KeyStore$THandle java.security.cert.X509Certificate java.security.cert.X509Certificate
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
            aload 2 /* session */
            invokevirtual sun.security.pkcs11.Token.releaseSession:(Lsun/security/pkcs11/Session;)Lsun/security/pkcs11/Session;
            pop
        73: .line 2154
            iconst_1
            ireturn
        end local 5 // java.security.cert.X509Certificate next
        end local 4 // java.security.cert.X509Certificate endCert
        end local 3 // sun.security.pkcs11.P11KeyStore$THandle h
        74: .line 2156
      StackMap locals: sun.security.pkcs11.P11KeyStore byte[] sun.security.pkcs11.Session
      StackMap stack: java.lang.Throwable
            astore 11
        75: .line 2157
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
            aload 2 /* session */
            invokevirtual sun.security.pkcs11.Token.releaseSession:(Lsun/security/pkcs11/Session;)Lsun/security/pkcs11/Session;
            pop
        76: .line 2158
            aload 11
            athrow
        end local 2 // sun.security.pkcs11.Session session
        end local 1 // byte[] cka_id
        end local 0 // sun.security.pkcs11.P11KeyStore this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   77     0       this  Lsun/security/pkcs11/P11KeyStore;
            0   77     1     cka_id  [B
            1   77     2    session  Lsun/security/pkcs11/Session;
            3   74     3          h  Lsun/security/pkcs11/P11KeyStore$THandle;
           12   74     4    endCert  Ljava/security/cert/X509Certificate;
           19   74     5       next  Ljava/security/cert/X509Certificate;
           31   71     6      attrs  [Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
           32   71     7         ch  [J
           50   71     8    issuers  [J
           51   71     9  destroyIt  Z
           56   58    10      iCert  Ljava/security/cert/X509Certificate;
      Exception table:
        from    to  target  type
           1     9      74  any
          11    72      74  any
    Exceptions:
      throws sun.security.pkcs11.wrapper.PKCS11Exception, java.security.cert.CertificateException, java.security.KeyStoreException
    MethodParameters:
        Name  Flags
      cka_id  

  private boolean destroySkey(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=5, args_size=2
        start local 0 // sun.security.pkcs11.P11KeyStore this
        start local 1 // java.lang.String alias
         0: .line 2166
            aconst_null
            astore 2 /* session */
        start local 2 // sun.security.pkcs11.Session session
         1: .line 2168
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
            invokevirtual sun.security.pkcs11.Token.getOpSession:()Lsun/security/pkcs11/Session;
            astore 2 /* session */
         2: .line 2170
            aload 0 /* this */
            aload 2 /* session */
            getstatic sun.security.pkcs11.P11KeyStore.ATTR_CLASS_SKEY:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            aconst_null
            aload 1 /* alias */
            invokevirtual sun.security.pkcs11.P11KeyStore.getTokenObject:(Lsun/security/pkcs11/Session;Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;[BLjava/lang/String;)Lsun/security/pkcs11/P11KeyStore$THandle;
            astore 3 /* h */
        start local 3 // sun.security.pkcs11.P11KeyStore$THandle h
         3: .line 2171
            aload 3 /* h */
            getfield sun.security.pkcs11.P11KeyStore$THandle.type:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            getstatic sun.security.pkcs11.P11KeyStore.ATTR_CLASS_SKEY:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            if_acmpeq 11
         4: .line 2172
            getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
            ifnull 9
         5: .line 2173
            getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
            new java.lang.StringBuilder
            dup
            ldc "destroySkey did not find secret key with CKA_LABEL ["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         6: .line 2175
            aload 1 /* alias */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         7: .line 2176
            ldc "]"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         8: .line 2173
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
         9: .line 2183
      StackMap locals: sun.security.pkcs11.Session sun.security.pkcs11.P11KeyStore$THandle
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
            aload 2 /* session */
            invokevirtual sun.security.pkcs11.Token.releaseSession:(Lsun/security/pkcs11/Session;)Lsun/security/pkcs11/Session;
            pop
        10: .line 2178
            iconst_0
            ireturn
        11: .line 2180
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
            getfield sun.security.pkcs11.Token.p11:Lsun/security/pkcs11/wrapper/PKCS11;
            aload 2 /* session */
            invokevirtual sun.security.pkcs11.Session.id:()J
            aload 3 /* h */
            getfield sun.security.pkcs11.P11KeyStore$THandle.handle:J
            invokevirtual sun.security.pkcs11.wrapper.PKCS11.C_DestroyObject:(JJ)V
        12: .line 2183
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
            aload 2 /* session */
            invokevirtual sun.security.pkcs11.Token.releaseSession:(Lsun/security/pkcs11/Session;)Lsun/security/pkcs11/Session;
            pop
        13: .line 2181
            iconst_1
            ireturn
        end local 3 // sun.security.pkcs11.P11KeyStore$THandle h
        14: .line 2182
      StackMap locals: sun.security.pkcs11.P11KeyStore java.lang.String sun.security.pkcs11.Session
      StackMap stack: java.lang.Throwable
            astore 4
        15: .line 2183
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
            aload 2 /* session */
            invokevirtual sun.security.pkcs11.Token.releaseSession:(Lsun/security/pkcs11/Session;)Lsun/security/pkcs11/Session;
            pop
        16: .line 2184
            aload 4
            athrow
        end local 2 // sun.security.pkcs11.Session session
        end local 1 // java.lang.String alias
        end local 0 // sun.security.pkcs11.P11KeyStore this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   17     0     this  Lsun/security/pkcs11/P11KeyStore;
            0   17     1    alias  Ljava/lang/String;
            1   17     2  session  Lsun/security/pkcs11/Session;
            3   14     3        h  Lsun/security/pkcs11/P11KeyStore$THandle;
      Exception table:
        from    to  target  type
           1     9      14  any
          11    12      14  any
    Exceptions:
      throws sun.security.pkcs11.wrapper.PKCS11Exception, java.security.KeyStoreException
    MethodParameters:
       Name  Flags
      alias  

  private boolean destroyPkey(byte[]);
    descriptor: ([B)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=5, args_size=2
        start local 0 // sun.security.pkcs11.P11KeyStore this
        start local 1 // byte[] cka_id
         0: .line 2192
            aconst_null
            astore 2 /* session */
        start local 2 // sun.security.pkcs11.Session session
         1: .line 2194
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
            invokevirtual sun.security.pkcs11.Token.getOpSession:()Lsun/security/pkcs11/Session;
            astore 2 /* session */
         2: .line 2196
            aload 0 /* this */
            aload 2 /* session */
            getstatic sun.security.pkcs11.P11KeyStore.ATTR_CLASS_PKEY:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            aload 1 /* cka_id */
            aconst_null
            invokevirtual sun.security.pkcs11.P11KeyStore.getTokenObject:(Lsun/security/pkcs11/Session;Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;[BLjava/lang/String;)Lsun/security/pkcs11/P11KeyStore$THandle;
            astore 3 /* h */
        start local 3 // sun.security.pkcs11.P11KeyStore$THandle h
         3: .line 2197
            aload 3 /* h */
            getfield sun.security.pkcs11.P11KeyStore$THandle.type:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            getstatic sun.security.pkcs11.P11KeyStore.ATTR_CLASS_PKEY:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            if_acmpeq 13
         4: .line 2198
            getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
            ifnull 11
         5: .line 2199
            getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
         6: .line 2200
            new java.lang.StringBuilder
            dup
            ldc "destroyPkey did not find private key with CKA_ID ["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         7: .line 2201
            aload 1 /* cka_id */
            invokestatic sun.security.pkcs11.P11KeyStore.getID:([B)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         8: .line 2202
            ldc "]"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         9: .line 2200
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        10: .line 2199
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        11: .line 2209
      StackMap locals: sun.security.pkcs11.Session sun.security.pkcs11.P11KeyStore$THandle
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
            aload 2 /* session */
            invokevirtual sun.security.pkcs11.Token.releaseSession:(Lsun/security/pkcs11/Session;)Lsun/security/pkcs11/Session;
            pop
        12: .line 2204
            iconst_0
            ireturn
        13: .line 2206
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
            getfield sun.security.pkcs11.Token.p11:Lsun/security/pkcs11/wrapper/PKCS11;
            aload 2 /* session */
            invokevirtual sun.security.pkcs11.Session.id:()J
            aload 3 /* h */
            getfield sun.security.pkcs11.P11KeyStore$THandle.handle:J
            invokevirtual sun.security.pkcs11.wrapper.PKCS11.C_DestroyObject:(JJ)V
        14: .line 2209
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
            aload 2 /* session */
            invokevirtual sun.security.pkcs11.Token.releaseSession:(Lsun/security/pkcs11/Session;)Lsun/security/pkcs11/Session;
            pop
        15: .line 2207
            iconst_1
            ireturn
        end local 3 // sun.security.pkcs11.P11KeyStore$THandle h
        16: .line 2208
      StackMap locals: sun.security.pkcs11.P11KeyStore byte[] sun.security.pkcs11.Session
      StackMap stack: java.lang.Throwable
            astore 4
        17: .line 2209
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
            aload 2 /* session */
            invokevirtual sun.security.pkcs11.Token.releaseSession:(Lsun/security/pkcs11/Session;)Lsun/security/pkcs11/Session;
            pop
        18: .line 2210
            aload 4
            athrow
        end local 2 // sun.security.pkcs11.Session session
        end local 1 // byte[] cka_id
        end local 0 // sun.security.pkcs11.P11KeyStore this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   19     0     this  Lsun/security/pkcs11/P11KeyStore;
            0   19     1   cka_id  [B
            1   19     2  session  Lsun/security/pkcs11/Session;
            3   16     3        h  Lsun/security/pkcs11/P11KeyStore$THandle;
      Exception table:
        from    to  target  type
           1    11      16  any
          13    14      16  any
    Exceptions:
      throws sun.security.pkcs11.wrapper.PKCS11Exception, java.security.KeyStoreException
    MethodParameters:
        Name  Flags
      cka_id  

  private java.lang.String getID(java.lang.String, java.security.cert.X509Certificate);
    descriptor: (Ljava/lang/String;Ljava/security/cert/X509Certificate;)Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // sun.security.pkcs11.P11KeyStore this
        start local 1 // java.lang.String alias
        start local 2 // java.security.cert.X509Certificate cert
         0: .line 2217
            aload 2 /* cert */
            invokevirtual java.security.cert.X509Certificate.getIssuerX500Principal:()Ljavax/security/auth/x500/X500Principal;
            astore 3 /* issuer */
        start local 3 // javax.security.auth.x500.X500Principal issuer
         1: .line 2218
            aload 2 /* cert */
            invokevirtual java.security.cert.X509Certificate.getSerialNumber:()Ljava/math/BigInteger;
            astore 4 /* serialNum */
        start local 4 // java.math.BigInteger serialNum
         2: .line 2220
            new java.lang.StringBuilder
            dup
            aload 1 /* alias */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         3: .line 2221
            ldc "/"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         4: .line 2222
            aload 3 /* issuer */
            ldc "CANONICAL"
            invokevirtual javax.security.auth.x500.X500Principal.getName:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         5: .line 2223
            ldc "/"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         6: .line 2224
            aload 4 /* serialNum */
            invokevirtual java.math.BigInteger.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         7: .line 2220
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 4 // java.math.BigInteger serialNum
        end local 3 // javax.security.auth.x500.X500Principal issuer
        end local 2 // java.security.cert.X509Certificate cert
        end local 1 // java.lang.String alias
        end local 0 // sun.security.pkcs11.P11KeyStore this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    8     0       this  Lsun/security/pkcs11/P11KeyStore;
            0    8     1      alias  Ljava/lang/String;
            0    8     2       cert  Ljava/security/cert/X509Certificate;
            1    8     3     issuer  Ljavax/security/auth/x500/X500Principal;
            2    8     4  serialNum  Ljava/math/BigInteger;
    MethodParameters:
       Name  Flags
      alias  
      cert   

  private static java.lang.String getID(byte[]);
    descriptor: ([B)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=1
        start local 0 // byte[] bytes
         0: .line 2231
            iconst_1
            istore 1 /* printable */
        start local 1 // boolean printable
         1: .line 2232
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         2: goto 7
         3: .line 2233
      StackMap locals: int int
      StackMap stack:
            aload 0 /* bytes */
            iload 2 /* i */
            baload
            i2c
            invokestatic sun.security.util.DerValue.isPrintableStringChar:(C)Z
            ifne 6
         4: .line 2234
            iconst_0
            istore 1 /* printable */
         5: .line 2235
            goto 8
         6: .line 2232
      StackMap locals:
      StackMap stack:
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         7: iload 2 /* i */
            aload 0 /* bytes */
            arraylength
            if_icmplt 3
        end local 2 // int i
         8: .line 2239
      StackMap locals:
      StackMap stack:
            iload 1 /* printable */
            ifne 10
         9: .line 2240
            new java.lang.StringBuilder
            dup
            ldc "0x"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* bytes */
            invokestatic sun.security.pkcs11.wrapper.Functions.toHexString:([B)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        10: .line 2243
      StackMap locals:
      StackMap stack:
            new java.lang.String
            dup
            aload 0 /* bytes */
            ldc "UTF-8"
            invokespecial java.lang.String.<init>:([BLjava/lang/String;)V
        11: areturn
        12: .line 2244
      StackMap locals:
      StackMap stack: java.io.UnsupportedEncodingException
            pop
        13: .line 2245
            new java.lang.StringBuilder
            dup
            ldc "0x"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* bytes */
            invokestatic sun.security.pkcs11.wrapper.Functions.toHexString:([B)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 1 // boolean printable
        end local 0 // byte[] bytes
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   14     0      bytes  [B
            1   14     1  printable  Z
            2    8     2          i  I
      Exception table:
        from    to  target  type
          10    11      12  Class java.io.UnsupportedEncodingException
    MethodParameters:
       Name  Flags
      bytes  

  private sun.security.pkcs11.P11KeyStore$THandle getTokenObject(sun.security.pkcs11.Session, sun.security.pkcs11.wrapper.CK_ATTRIBUTE, byte[], java.lang.String);
    descriptor: (Lsun/security/pkcs11/Session;Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;[BLjava/lang/String;)Lsun/security/pkcs11/P11KeyStore$THandle;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=8, locals=10, args_size=5
        start local 0 // sun.security.pkcs11.P11KeyStore this
        start local 1 // sun.security.pkcs11.Session session
        start local 2 // sun.security.pkcs11.wrapper.CK_ATTRIBUTE type
        start local 3 // byte[] cka_id
        start local 4 // java.lang.String cka_label
         0: .line 2264
            aload 2 /* type */
            getstatic sun.security.pkcs11.P11KeyStore.ATTR_CLASS_SKEY:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            if_acmpne 7
         1: .line 2265
            iconst_3
            anewarray sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            iconst_0
         2: .line 2266
            getstatic sun.security.pkcs11.P11KeyStore.ATTR_SKEY_TOKEN_TRUE:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            aastore
            dup
            iconst_1
         3: .line 2267
            new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            ldc 3
            aload 4 /* cka_label */
            invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JLjava/lang/Object;)V
            aastore
            dup
            iconst_2
         4: .line 2268
            aload 2 /* type */
            aastore
         5: .line 2265
            astore 5 /* attrs */
        start local 5 // sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] attrs
         6: .line 2269
            goto 12
        end local 5 // sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] attrs
         7: .line 2270
      StackMap locals:
      StackMap stack:
            iconst_3
            anewarray sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            iconst_0
         8: .line 2271
            getstatic sun.security.pkcs11.P11KeyStore.ATTR_TOKEN_TRUE:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            aastore
            dup
            iconst_1
         9: .line 2272
            new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            ldc 258
            aload 3 /* cka_id */
            invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JLjava/lang/Object;)V
            aastore
            dup
            iconst_2
        10: .line 2273
            aload 2 /* type */
            aastore
        11: .line 2270
            astore 5 /* attrs */
        start local 5 // sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] attrs
        12: .line 2275
      StackMap locals: sun.security.pkcs11.wrapper.CK_ATTRIBUTE[]
      StackMap stack:
            aload 1 /* session */
            aload 5 /* attrs */
            invokestatic sun.security.pkcs11.P11KeyStore.findObjects:(Lsun/security/pkcs11/Session;[Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;)[J
            astore 6 /* h */
        start local 6 // long[] h
        13: .line 2276
            aload 6 /* h */
            arraylength
            ifne 34
        14: .line 2277
            getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
            ifnull 67
        15: .line 2278
            aload 2 /* type */
            getstatic sun.security.pkcs11.P11KeyStore.ATTR_CLASS_SKEY:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            if_acmpne 21
        16: .line 2279
            getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
            new java.lang.StringBuilder
            dup
            ldc "getTokenObject did not find secret key with CKA_LABEL ["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        17: .line 2281
            aload 4 /* cka_label */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        18: .line 2282
            ldc "]"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        19: .line 2279
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        20: .line 2283
            goto 67
      StackMap locals: long[]
      StackMap stack:
        21: aload 2 /* type */
            getstatic sun.security.pkcs11.P11KeyStore.ATTR_CLASS_CERT:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            if_acmpne 29
        22: .line 2284
            getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
        23: .line 2285
            new java.lang.StringBuilder
            dup
            ldc "getTokenObject did not find cert with CKA_ID ["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        24: .line 2286
            aload 3 /* cka_id */
            invokestatic sun.security.pkcs11.P11KeyStore.getID:([B)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        25: .line 2287
            ldc "]"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        26: .line 2285
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        27: .line 2284
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        28: .line 2288
            goto 67
        29: .line 2289
      StackMap locals:
      StackMap stack:
            getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
            new java.lang.StringBuilder
            dup
            ldc "getTokenObject did not find private key with CKA_ID ["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        30: .line 2291
            aload 3 /* cka_id */
            invokestatic sun.security.pkcs11.P11KeyStore.getID:([B)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        31: .line 2292
            ldc "]"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        32: .line 2289
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        33: .line 2295
            goto 67
      StackMap locals:
      StackMap stack:
        34: aload 6 /* h */
            arraylength
            iconst_1
            if_icmpne 36
        35: .line 2298
            new sun.security.pkcs11.P11KeyStore$THandle
            dup
            aload 6 /* h */
            iconst_0
            laload
            aload 2 /* type */
            invokespecial sun.security.pkcs11.P11KeyStore$THandle.<init>:(JLsun/security/pkcs11/wrapper/CK_ATTRIBUTE;)V
            areturn
        36: .line 2305
      StackMap locals:
      StackMap stack:
            aload 2 /* type */
            getstatic sun.security.pkcs11.P11KeyStore.ATTR_CLASS_SKEY:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            if_acmpne 56
        37: .line 2307
            new java.util.ArrayList
            dup
            aload 6 /* h */
            arraylength
            invokespecial java.util.ArrayList.<init>:(I)V
            astore 7 /* list */
        start local 7 // java.util.ArrayList list
        38: .line 2308
            iconst_0
            istore 8 /* i */
        start local 8 // int i
        39: goto 47
        40: .line 2311
      StackMap locals: java.util.ArrayList int
      StackMap stack:
            iconst_1
            anewarray sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            iconst_0
            new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            ldc 3
            invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(J)V
            aastore
        41: .line 2310
            astore 9 /* label */
        start local 9 // sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] label
        42: .line 2312
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
            getfield sun.security.pkcs11.Token.p11:Lsun/security/pkcs11/wrapper/PKCS11;
            aload 1 /* session */
            invokevirtual sun.security.pkcs11.Session.id:()J
            aload 6 /* h */
            iload 8 /* i */
            laload
            aload 9 /* label */
            invokevirtual sun.security.pkcs11.wrapper.PKCS11.C_GetAttributeValue:(JJ[Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;)V
        43: .line 2313
            aload 9 /* label */
            iconst_0
            aaload
            getfield sun.security.pkcs11.wrapper.CK_ATTRIBUTE.pValue:Ljava/lang/Object;
            ifnull 46
        44: .line 2314
            aload 4 /* cka_label */
            new java.lang.String
            dup
            aload 9 /* label */
            iconst_0
            aaload
            invokevirtual sun.security.pkcs11.wrapper.CK_ATTRIBUTE.getCharArray:()[C
            invokespecial java.lang.String.<init>:([C)V
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 46
        45: .line 2315
            aload 7 /* list */
            new sun.security.pkcs11.P11KeyStore$THandle
            dup
            aload 6 /* h */
            iload 8 /* i */
            laload
            getstatic sun.security.pkcs11.P11KeyStore.ATTR_CLASS_SKEY:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            invokespecial sun.security.pkcs11.P11KeyStore$THandle.<init>:(JLsun/security/pkcs11/wrapper/CK_ATTRIBUTE;)V
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        end local 9 // sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] label
        46: .line 2308
      StackMap locals:
      StackMap stack:
            iinc 8 /* i */ 1
      StackMap locals:
      StackMap stack:
        47: iload 8 /* i */
            aload 6 /* h */
            arraylength
            if_icmplt 40
        end local 8 // int i
        48: .line 2318
            aload 7 /* list */
            invokevirtual java.util.ArrayList.size:()I
            iconst_1
            if_icmpne 50
        49: .line 2320
            aload 7 /* list */
            iconst_0
            invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
            checkcast sun.security.pkcs11.P11KeyStore$THandle
            areturn
        50: .line 2322
      StackMap locals:
      StackMap stack:
            new java.security.KeyStoreException
            dup
            new java.lang.StringBuilder
            dup
            ldc "invalid KeyStore state: found "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        51: .line 2324
            aload 7 /* list */
            invokevirtual java.util.ArrayList.size:()I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
        52: .line 2325
            ldc " secret keys sharing CKA_LABEL ["
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        53: .line 2326
            aload 4 /* cka_label */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        54: .line 2327
            ldc "]"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        55: .line 2322
            invokespecial java.security.KeyStoreException.<init>:(Ljava/lang/String;)V
            athrow
        end local 7 // java.util.ArrayList list
        56: .line 2329
      StackMap locals:
      StackMap stack:
            aload 2 /* type */
            getstatic sun.security.pkcs11.P11KeyStore.ATTR_CLASS_CERT:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            if_acmpne 62
        57: .line 2330
            new java.security.KeyStoreException
            dup
            new java.lang.StringBuilder
            dup
            ldc "invalid KeyStore state: found "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        58: .line 2332
            aload 6 /* h */
            arraylength
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
        59: .line 2333
            ldc " certificates sharing CKA_ID "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        60: .line 2334
            aload 3 /* cka_id */
            invokestatic sun.security.pkcs11.P11KeyStore.getID:([B)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        61: .line 2330
            invokespecial java.security.KeyStoreException.<init>:(Ljava/lang/String;)V
            athrow
        62: .line 2336
      StackMap locals:
      StackMap stack:
            new java.security.KeyStoreException
            dup
            new java.lang.StringBuilder
            dup
            ldc "invalid KeyStore state: found "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        63: .line 2338
            aload 6 /* h */
            arraylength
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
        64: .line 2339
            ldc " private keys sharing CKA_ID "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        65: .line 2340
            aload 3 /* cka_id */
            invokestatic sun.security.pkcs11.P11KeyStore.getID:([B)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        66: .line 2336
            invokespecial java.security.KeyStoreException.<init>:(Ljava/lang/String;)V
            athrow
        67: .line 2343
      StackMap locals:
      StackMap stack:
            new sun.security.pkcs11.P11KeyStore$THandle
            dup
            ldc -1
            aconst_null
            invokespecial sun.security.pkcs11.P11KeyStore$THandle.<init>:(JLsun/security/pkcs11/wrapper/CK_ATTRIBUTE;)V
            areturn
        end local 6 // long[] h
        end local 5 // sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] attrs
        end local 4 // java.lang.String cka_label
        end local 3 // byte[] cka_id
        end local 2 // sun.security.pkcs11.wrapper.CK_ATTRIBUTE type
        end local 1 // sun.security.pkcs11.Session session
        end local 0 // sun.security.pkcs11.P11KeyStore this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   68     0       this  Lsun/security/pkcs11/P11KeyStore;
            0   68     1    session  Lsun/security/pkcs11/Session;
            0   68     2       type  Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            0   68     3     cka_id  [B
            0   68     4  cka_label  Ljava/lang/String;
            6    7     5      attrs  [Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
           12   68     5      attrs  [Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
           13   68     6          h  [J
           38   56     7       list  Ljava/util/ArrayList<Lsun/security/pkcs11/P11KeyStore$THandle;>;
           39   48     8          i  I
           42   46     9      label  [Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
    Exceptions:
      throws sun.security.pkcs11.wrapper.PKCS11Exception, java.security.KeyStoreException
    MethodParameters:
           Name  Flags
      session    
      type       
      cka_id     
      cka_label  

  private boolean mapLabels();
    descriptor: ()Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=19, args_size=1
        start local 0 // sun.security.pkcs11.P11KeyStore this
         0: .line 2364
            iconst_1
            anewarray sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            iconst_0
         1: .line 2365
            new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            ldc 134
            invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(J)V
            aastore
         2: .line 2364
            astore 1 /* trustedAttr */
        start local 1 // sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] trustedAttr
         3: .line 2367
            aconst_null
            astore 2 /* session */
        start local 2 // sun.security.pkcs11.Session session
         4: .line 2369
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
            invokevirtual sun.security.pkcs11.Token.getOpSession:()Lsun/security/pkcs11/Session;
            astore 2 /* session */
         5: .line 2373
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 3 /* pkeyIDs */
        start local 3 // java.util.ArrayList pkeyIDs
         6: .line 2374
            iconst_2
            anewarray sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            iconst_0
         7: .line 2375
            getstatic sun.security.pkcs11.P11KeyStore.ATTR_TOKEN_TRUE:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            aastore
            dup
            iconst_1
         8: .line 2376
            getstatic sun.security.pkcs11.P11KeyStore.ATTR_CLASS_PKEY:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            aastore
         9: .line 2374
            astore 4 /* attrs */
        start local 4 // sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] attrs
        10: .line 2378
            aload 2 /* session */
            aload 4 /* attrs */
            invokestatic sun.security.pkcs11.P11KeyStore.findObjects:(Lsun/security/pkcs11/Session;[Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;)[J
            astore 5 /* handles */
        start local 5 // long[] handles
        11: .line 2380
            aload 5 /* handles */
            dup
            astore 10
            arraylength
            istore 9
            iconst_0
            istore 8
            goto 18
      StackMap locals: sun.security.pkcs11.P11KeyStore sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] sun.security.pkcs11.Session java.util.ArrayList sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] long[] top top int int long[]
      StackMap stack:
        12: aload 10
            iload 8
            laload
            lstore 6 /* handle */
        start local 6 // long handle
        13: .line 2381
            iconst_1
            anewarray sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            iconst_0
            new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            ldc 258
            invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(J)V
            aastore
            astore 4 /* attrs */
        14: .line 2382
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
            getfield sun.security.pkcs11.Token.p11:Lsun/security/pkcs11/wrapper/PKCS11;
            aload 2 /* session */
            invokevirtual sun.security.pkcs11.Session.id:()J
            lload 6 /* handle */
            aload 4 /* attrs */
            invokevirtual sun.security.pkcs11.wrapper.PKCS11.C_GetAttributeValue:(JJ[Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;)V
        15: .line 2384
            aload 4 /* attrs */
            iconst_0
            aaload
            getfield sun.security.pkcs11.wrapper.CK_ATTRIBUTE.pValue:Ljava/lang/Object;
            ifnull 17
        16: .line 2385
            aload 3 /* pkeyIDs */
            aload 4 /* attrs */
            iconst_0
            aaload
            invokevirtual sun.security.pkcs11.wrapper.CK_ATTRIBUTE.getByteArray:()[B
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        end local 6 // long handle
        17: .line 2380
      StackMap locals:
      StackMap stack:
            iinc 8 1
      StackMap locals:
      StackMap stack:
        18: iload 8
            iload 9
            if_icmplt 12
        19: .line 2400
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
        20: .line 2399
            astore 6 /* certMap */
        start local 6 // java.util.HashMap certMap
        21: .line 2402
            iconst_2
            anewarray sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            iconst_0
        22: .line 2403
            getstatic sun.security.pkcs11.P11KeyStore.ATTR_TOKEN_TRUE:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            aastore
            dup
            iconst_1
        23: .line 2404
            getstatic sun.security.pkcs11.P11KeyStore.ATTR_CLASS_CERT:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            aastore
        24: .line 2402
            astore 4 /* attrs */
        25: .line 2406
            aload 2 /* session */
            aload 4 /* attrs */
            invokestatic sun.security.pkcs11.P11KeyStore.findObjects:(Lsun/security/pkcs11/Session;[Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;)[J
            astore 5 /* handles */
        26: .line 2408
            aload 5 /* handles */
            dup
            astore 11
            arraylength
            istore 10
            iconst_0
            istore 9
            goto 75
      StackMap locals: sun.security.pkcs11.P11KeyStore sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] sun.security.pkcs11.Session java.util.ArrayList sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] long[] java.util.HashMap top top int int long[]
      StackMap stack:
        27: aload 11
            iload 9
            laload
            lstore 7 /* handle */
        start local 7 // long handle
        28: .line 2409
            iconst_1
            anewarray sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            iconst_0
            new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            ldc 3
            invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(J)V
            aastore
            astore 4 /* attrs */
        29: .line 2411
            aconst_null
            astore 12 /* cka_label */
        start local 12 // java.lang.String cka_label
        30: .line 2412
            aconst_null
            astore 13 /* cka_id */
        start local 13 // byte[] cka_id
        31: .line 2414
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
            getfield sun.security.pkcs11.Token.p11:Lsun/security/pkcs11/wrapper/PKCS11;
            aload 2 /* session */
            invokevirtual sun.security.pkcs11.Session.id:()J
            lload 7 /* handle */
            aload 4 /* attrs */
            invokevirtual sun.security.pkcs11.wrapper.PKCS11.C_GetAttributeValue:(JJ[Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;)V
        32: .line 2415
            aload 4 /* attrs */
            iconst_0
            aaload
            getfield sun.security.pkcs11.wrapper.CK_ATTRIBUTE.pValue:Ljava/lang/Object;
            ifnull 38
        33: .line 2417
            new java.lang.String
            dup
            aload 4 /* attrs */
            iconst_0
            aaload
            invokevirtual sun.security.pkcs11.wrapper.CK_ATTRIBUTE.getCharArray:()[C
            invokespecial java.lang.String.<init>:([C)V
            astore 12 /* cka_label */
        34: .line 2419
            goto 38
      StackMap locals: sun.security.pkcs11.P11KeyStore sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] sun.security.pkcs11.Session java.util.ArrayList sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] long[] java.util.HashMap long int int long[] java.lang.String byte[]
      StackMap stack: sun.security.pkcs11.wrapper.PKCS11Exception
        35: astore 14 /* pe */
        start local 14 // sun.security.pkcs11.wrapper.PKCS11Exception pe
        36: .line 2420
            aload 14 /* pe */
            invokevirtual sun.security.pkcs11.wrapper.PKCS11Exception.getErrorCode:()J
            ldc 18
            lcmp
            ifeq 38
        37: .line 2421
            aload 14 /* pe */
            athrow
        end local 14 // sun.security.pkcs11.wrapper.PKCS11Exception pe
        38: .line 2431
      StackMap locals:
      StackMap stack:
            iconst_1
            anewarray sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            iconst_0
            new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            ldc 258
            invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(J)V
            aastore
            astore 4 /* attrs */
        39: .line 2432
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
            getfield sun.security.pkcs11.Token.p11:Lsun/security/pkcs11/wrapper/PKCS11;
            aload 2 /* session */
            invokevirtual sun.security.pkcs11.Session.id:()J
            lload 7 /* handle */
            aload 4 /* attrs */
            invokevirtual sun.security.pkcs11.wrapper.PKCS11.C_GetAttributeValue:(JJ[Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;)V
        40: .line 2433
            aload 4 /* attrs */
            iconst_0
            aaload
            getfield sun.security.pkcs11.wrapper.CK_ATTRIBUTE.pValue:Ljava/lang/Object;
            ifnonnull 43
        41: .line 2434
            aload 12 /* cka_label */
            ifnonnull 46
        42: .line 2436
            goto 74
        43: .line 2439
      StackMap locals:
      StackMap stack:
            aload 12 /* cka_label */
            ifnonnull 45
        44: .line 2441
            aload 4 /* attrs */
            iconst_0
            aaload
            invokevirtual sun.security.pkcs11.wrapper.CK_ATTRIBUTE.getByteArray:()[B
            invokestatic sun.security.pkcs11.P11KeyStore.getID:([B)Ljava/lang/String;
            astore 12 /* cka_label */
        45: .line 2443
      StackMap locals:
      StackMap stack:
            aload 4 /* attrs */
            iconst_0
            aaload
            invokevirtual sun.security.pkcs11.wrapper.CK_ATTRIBUTE.getByteArray:()[B
            astore 13 /* cka_id */
        46: .line 2446
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* session */
            lload 7 /* handle */
            invokevirtual sun.security.pkcs11.P11KeyStore.loadCert:(Lsun/security/pkcs11/Session;J)Ljava/security/cert/X509Certificate;
            astore 14 /* cert */
        start local 14 // java.security.cert.X509Certificate cert
        47: .line 2450
            iconst_0
            istore 15 /* cka_trusted */
        start local 15 // boolean cka_trusted
        48: .line 2452
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.useSecmodTrust:Z
            ifeq 51
        49: .line 2453
            invokestatic sun.security.pkcs11.Secmod.getInstance:()Lsun/security/pkcs11/Secmod;
            aload 14 /* cert */
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.nssTrustType:Lsun/security/pkcs11/Secmod$TrustType;
            invokevirtual sun.security.pkcs11.Secmod.isTrusted:(Ljava/security/cert/X509Certificate;Lsun/security/pkcs11/Secmod$TrustType;)Z
            istore 15 /* cka_trusted */
        50: .line 2454
            goto 64
        51: .line 2455
      StackMap locals: java.security.cert.X509Certificate int
      StackMap stack:
            getstatic sun.security.pkcs11.P11KeyStore.CKA_TRUSTED_SUPPORTED:Z
            ifeq 64
        52: .line 2457
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
            getfield sun.security.pkcs11.Token.p11:Lsun/security/pkcs11/wrapper/PKCS11;
        53: .line 2458
            aload 2 /* session */
            invokevirtual sun.security.pkcs11.Session.id:()J
            lload 7 /* handle */
            aload 1 /* trustedAttr */
        54: .line 2457
            invokevirtual sun.security.pkcs11.wrapper.PKCS11.C_GetAttributeValue:(JJ[Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;)V
        55: .line 2459
            aload 1 /* trustedAttr */
            iconst_0
            aaload
            invokevirtual sun.security.pkcs11.wrapper.CK_ATTRIBUTE.getBoolean:()Z
            istore 15 /* cka_trusted */
        56: .line 2460
            goto 64
      StackMap locals:
      StackMap stack: sun.security.pkcs11.wrapper.PKCS11Exception
        57: astore 16 /* pe */
        start local 16 // sun.security.pkcs11.wrapper.PKCS11Exception pe
        58: .line 2461
            aload 16 /* pe */
            invokevirtual sun.security.pkcs11.wrapper.PKCS11Exception.getErrorCode:()J
            ldc 18
            lcmp
            ifne 64
        59: .line 2463
            iconst_0
            putstatic sun.security.pkcs11.P11KeyStore.CKA_TRUSTED_SUPPORTED:Z
        60: .line 2464
            getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
            ifnull 64
        61: .line 2465
            getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
        62: .line 2466
            ldc "CKA_TRUSTED attribute not supported"
        63: .line 2465
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        end local 16 // sun.security.pkcs11.wrapper.PKCS11Exception pe
        64: .line 2473
      StackMap locals:
      StackMap stack:
            aload 6 /* certMap */
            aload 12 /* cka_label */
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.HashSet
            astore 16 /* infoSet */
        start local 16 // java.util.HashSet infoSet
        65: .line 2474
            aload 16 /* infoSet */
            ifnonnull 68
        66: .line 2475
            new java.util.HashSet
            dup
            iconst_2
            invokespecial java.util.HashSet.<init>:(I)V
            astore 16 /* infoSet */
        67: .line 2476
            aload 6 /* certMap */
            aload 12 /* cka_label */
            aload 16 /* infoSet */
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        68: .line 2483
      StackMap locals: java.util.HashSet
      StackMap stack:
            aload 16 /* infoSet */
            new sun.security.pkcs11.P11KeyStore$AliasInfo
            dup
        69: .line 2484
            aload 12 /* cka_label */
        70: .line 2485
            aload 13 /* cka_id */
        71: .line 2486
            iload 15 /* cka_trusted */
        72: .line 2487
            aload 14 /* cert */
            invokespecial sun.security.pkcs11.P11KeyStore$AliasInfo.<init>:(Ljava/lang/String;[BZLjava/security/cert/X509Certificate;)V
        73: .line 2483
            invokevirtual java.util.HashSet.add:(Ljava/lang/Object;)Z
            pop
        end local 16 // java.util.HashSet infoSet
        end local 15 // boolean cka_trusted
        end local 14 // java.security.cert.X509Certificate cert
        end local 13 // byte[] cka_id
        end local 12 // java.lang.String cka_label
        end local 7 // long handle
        74: .line 2408
      StackMap locals: sun.security.pkcs11.P11KeyStore sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] sun.security.pkcs11.Session java.util.ArrayList sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] long[] java.util.HashMap top top int int long[]
      StackMap stack:
            iinc 9 1
      StackMap locals:
      StackMap stack:
        75: iload 9
            iload 10
            if_icmplt 27
        76: .line 2494
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 7 /* sKeySet */
        start local 7 // java.util.HashSet sKeySet
        77: .line 2496
            iconst_2
            anewarray sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            iconst_0
        78: .line 2497
            getstatic sun.security.pkcs11.P11KeyStore.ATTR_SKEY_TOKEN_TRUE:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            aastore
            dup
            iconst_1
        79: .line 2498
            getstatic sun.security.pkcs11.P11KeyStore.ATTR_CLASS_SKEY:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            aastore
        80: .line 2496
            astore 4 /* attrs */
        81: .line 2500
            aload 2 /* session */
            aload 4 /* attrs */
            invokestatic sun.security.pkcs11.P11KeyStore.findObjects:(Lsun/security/pkcs11/Session;[Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;)[J
            astore 5 /* handles */
        82: .line 2502
            aload 5 /* handles */
            dup
            astore 12
            arraylength
            istore 11
            iconst_0
            istore 10
            goto 96
      StackMap locals: sun.security.pkcs11.P11KeyStore sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] sun.security.pkcs11.Session java.util.ArrayList sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] long[] java.util.HashMap java.util.HashSet top top int int long[]
      StackMap stack:
        83: aload 12
            iload 10
            laload
            lstore 8 /* handle */
        start local 8 // long handle
        84: .line 2503
            iconst_1
            anewarray sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            iconst_0
            new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            ldc 3
            invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(J)V
            aastore
            astore 4 /* attrs */
        85: .line 2504
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
            getfield sun.security.pkcs11.Token.p11:Lsun/security/pkcs11/wrapper/PKCS11;
            aload 2 /* session */
            invokevirtual sun.security.pkcs11.Session.id:()J
            lload 8 /* handle */
            aload 4 /* attrs */
            invokevirtual sun.security.pkcs11.wrapper.PKCS11.C_GetAttributeValue:(JJ[Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;)V
        86: .line 2505
            aload 4 /* attrs */
            iconst_0
            aaload
            getfield sun.security.pkcs11.wrapper.CK_ATTRIBUTE.pValue:Ljava/lang/Object;
            ifnull 95
        87: .line 2508
            new java.lang.String
            dup
            aload 4 /* attrs */
            iconst_0
            aaload
            invokevirtual sun.security.pkcs11.wrapper.CK_ATTRIBUTE.getCharArray:()[C
            invokespecial java.lang.String.<init>:([C)V
            astore 13 /* cka_label */
        start local 13 // java.lang.String cka_label
        88: .line 2509
            aload 7 /* sKeySet */
            aload 13 /* cka_label */
            invokevirtual java.util.HashSet.contains:(Ljava/lang/Object;)Z
            ifne 91
        89: .line 2510
            aload 7 /* sKeySet */
            aload 13 /* cka_label */
            invokevirtual java.util.HashSet.add:(Ljava/lang/Object;)Z
            pop
        90: .line 2511
            goto 95
        91: .line 2512
      StackMap locals: sun.security.pkcs11.P11KeyStore sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] sun.security.pkcs11.Session java.util.ArrayList sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] long[] java.util.HashMap java.util.HashSet long int int long[] java.lang.String
      StackMap stack:
            new java.security.KeyStoreException
            dup
            new java.lang.StringBuilder
            dup
            ldc "invalid KeyStore state: found multiple secret keys sharing same CKA_LABEL ["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        92: .line 2515
            aload 13 /* cka_label */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        93: .line 2516
            ldc "]"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        94: .line 2512
            invokespecial java.security.KeyStoreException.<init>:(Ljava/lang/String;)V
            athrow
        end local 13 // java.lang.String cka_label
        end local 8 // long handle
        95: .line 2502
      StackMap locals: sun.security.pkcs11.P11KeyStore sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] sun.security.pkcs11.Session java.util.ArrayList sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] long[] java.util.HashMap java.util.HashSet top top int int long[]
      StackMap stack:
            iinc 10 1
      StackMap locals:
      StackMap stack:
        96: iload 10
            iload 11
            if_icmplt 83
        97: .line 2523
            aload 0 /* this */
            aload 3 /* pkeyIDs */
            aload 6 /* certMap */
            invokevirtual sun.security.pkcs11.P11KeyStore.mapPrivateKeys:(Ljava/util/ArrayList;Ljava/util/HashMap;)Ljava/util/ArrayList;
        98: .line 2522
            astore 8 /* matchedCerts */
        start local 8 // java.util.ArrayList matchedCerts
        99: .line 2524
            aload 0 /* this */
            aload 8 /* matchedCerts */
            aload 6 /* certMap */
            invokevirtual sun.security.pkcs11.P11KeyStore.mapCerts:(Ljava/util/ArrayList;Ljava/util/HashMap;)Z
            istore 9 /* sharedLabel */
        start local 9 // boolean sharedLabel
       100: .line 2525
            aload 0 /* this */
            aload 7 /* sKeySet */
            invokevirtual sun.security.pkcs11.P11KeyStore.mapSecretKeys:(Ljava/util/HashSet;)V
       101: .line 2527
            iload 9 /* sharedLabel */
            istore 18
       102: .line 2530
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
            aload 2 /* session */
            invokevirtual sun.security.pkcs11.Token.releaseSession:(Lsun/security/pkcs11/Session;)Lsun/security/pkcs11/Session;
            pop
       103: .line 2527
            iload 18
            ireturn
        end local 9 // boolean sharedLabel
        end local 8 // java.util.ArrayList matchedCerts
        end local 7 // java.util.HashSet sKeySet
        end local 6 // java.util.HashMap certMap
        end local 5 // long[] handles
        end local 4 // sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] attrs
        end local 3 // java.util.ArrayList pkeyIDs
       104: .line 2529
      StackMap locals: sun.security.pkcs11.P11KeyStore sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] sun.security.pkcs11.Session
      StackMap stack: java.lang.Throwable
            astore 17
       105: .line 2530
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
            aload 2 /* session */
            invokevirtual sun.security.pkcs11.Token.releaseSession:(Lsun/security/pkcs11/Session;)Lsun/security/pkcs11/Session;
            pop
       106: .line 2531
            aload 17
            athrow
        end local 2 // sun.security.pkcs11.Session session
        end local 1 // sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] trustedAttr
        end local 0 // sun.security.pkcs11.P11KeyStore this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0  107     0          this  Lsun/security/pkcs11/P11KeyStore;
            3  107     1   trustedAttr  [Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            4  107     2       session  Lsun/security/pkcs11/Session;
            6  104     3       pkeyIDs  Ljava/util/ArrayList<[B>;
           10  104     4         attrs  [Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
           11  104     5       handles  [J
           13   17     6        handle  J
           21  104     6       certMap  Ljava/util/HashMap<Ljava/lang/String;Ljava/util/HashSet<Lsun/security/pkcs11/P11KeyStore$AliasInfo;>;>;
           28   74     7        handle  J
           30   74    12     cka_label  Ljava/lang/String;
           31   74    13        cka_id  [B
           36   38    14            pe  Lsun/security/pkcs11/wrapper/PKCS11Exception;
           47   74    14          cert  Ljava/security/cert/X509Certificate;
           48   74    15   cka_trusted  Z
           58   64    16            pe  Lsun/security/pkcs11/wrapper/PKCS11Exception;
           65   74    16       infoSet  Ljava/util/HashSet<Lsun/security/pkcs11/P11KeyStore$AliasInfo;>;
           77  104     7       sKeySet  Ljava/util/HashSet<Ljava/lang/String;>;
           84   95     8        handle  J
           88   95    13     cka_label  Ljava/lang/String;
           99  104     8  matchedCerts  Ljava/util/ArrayList<Lsun/security/pkcs11/P11KeyStore$AliasInfo;>;
          100  104     9   sharedLabel  Z
      Exception table:
        from    to  target  type
          31    34      35  Class sun.security.pkcs11.wrapper.PKCS11Exception
          52    56      57  Class sun.security.pkcs11.wrapper.PKCS11Exception
           4   102     104  any
    Exceptions:
      throws sun.security.pkcs11.wrapper.PKCS11Exception, java.security.cert.CertificateException, java.security.KeyStoreException

  private java.util.ArrayList<sun.security.pkcs11.P11KeyStore$AliasInfo> mapPrivateKeys(java.util.ArrayList<byte[]>, java.util.HashMap<java.lang.String, java.util.HashSet<sun.security.pkcs11.P11KeyStore$AliasInfo>>);
    descriptor: (Ljava/util/ArrayList;Ljava/util/HashMap;)Ljava/util/ArrayList;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=13, args_size=3
        start local 0 // sun.security.pkcs11.P11KeyStore this
        start local 1 // java.util.ArrayList pkeyIDs
        start local 2 // java.util.HashMap certMap
         0: .line 2550
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield sun.security.pkcs11.P11KeyStore.aliasMap:Ljava/util/HashMap;
         1: .line 2553
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 3 /* matchedCerts */
        start local 3 // java.util.ArrayList matchedCerts
         2: .line 2555
            aload 1 /* pkeyIDs */
            invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
            astore 5
            goto 35
      StackMap locals: sun.security.pkcs11.P11KeyStore java.util.ArrayList java.util.HashMap java.util.ArrayList top java.util.Iterator
      StackMap stack:
         3: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast byte[]
            astore 4 /* pkeyID */
        start local 4 // byte[] pkeyID
         4: .line 2559
            iconst_0
            istore 6 /* foundMatch */
        start local 6 // boolean foundMatch
         5: .line 2560
            aload 2 /* certMap */
            invokevirtual java.util.HashMap.keySet:()Ljava/util/Set;
            astore 7 /* certLabels */
        start local 7 // java.util.Set certLabels
         6: .line 2561
            aload 7 /* certLabels */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 9
            goto 26
      StackMap locals: sun.security.pkcs11.P11KeyStore java.util.ArrayList java.util.HashMap java.util.ArrayList byte[] java.util.Iterator int java.util.Set top java.util.Iterator
      StackMap stack:
         7: aload 9
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 8 /* certLabel */
        start local 8 // java.lang.String certLabel
         8: .line 2565
            aload 2 /* certMap */
            aload 8 /* certLabel */
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.HashSet
            astore 10 /* infoSet */
        start local 10 // java.util.HashSet infoSet
         9: .line 2566
            aload 10 /* infoSet */
            invokevirtual java.util.HashSet.iterator:()Ljava/util/Iterator;
            astore 12
            goto 23
      StackMap locals: sun.security.pkcs11.P11KeyStore java.util.ArrayList java.util.HashMap java.util.ArrayList byte[] java.util.Iterator int java.util.Set java.lang.String java.util.Iterator java.util.HashSet top java.util.Iterator
      StackMap stack:
        10: aload 12
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast sun.security.pkcs11.P11KeyStore$AliasInfo
            astore 11 /* aliasInfo */
        start local 11 // sun.security.pkcs11.P11KeyStore$AliasInfo aliasInfo
        11: .line 2567
            aload 4 /* pkeyID */
            aload 11 /* aliasInfo */
            getfield sun.security.pkcs11.P11KeyStore$AliasInfo.id:[B
            invokestatic java.util.Arrays.equals:([B[B)Z
            ifeq 23
        12: .line 2571
            aload 10 /* infoSet */
            invokevirtual java.util.HashSet.size:()I
            iconst_1
            if_icmpne 16
        13: .line 2573
            aload 11 /* aliasInfo */
            iconst_1
            putfield sun.security.pkcs11.P11KeyStore$AliasInfo.matched:Z
        14: .line 2574
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.aliasMap:Ljava/util/HashMap;
            aload 8 /* certLabel */
            aload 11 /* aliasInfo */
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        15: .line 2575
            goto 20
        16: .line 2577
      StackMap locals: sun.security.pkcs11.P11KeyStore java.util.ArrayList java.util.HashMap java.util.ArrayList byte[] java.util.Iterator int java.util.Set java.lang.String java.util.Iterator java.util.HashSet sun.security.pkcs11.P11KeyStore$AliasInfo java.util.Iterator
      StackMap stack:
            aload 11 /* aliasInfo */
            iconst_1
            putfield sun.security.pkcs11.P11KeyStore$AliasInfo.matched:Z
        17: .line 2578
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.aliasMap:Ljava/util/HashMap;
            aload 0 /* this */
            aload 8 /* certLabel */
            aload 11 /* aliasInfo */
            getfield sun.security.pkcs11.P11KeyStore$AliasInfo.cert:Ljava/security/cert/X509Certificate;
            invokevirtual sun.security.pkcs11.P11KeyStore.getID:(Ljava/lang/String;Ljava/security/cert/X509Certificate;)Ljava/lang/String;
        18: .line 2579
            aload 11 /* aliasInfo */
        19: .line 2578
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        20: .line 2581
      StackMap locals:
      StackMap stack:
            aload 3 /* matchedCerts */
            aload 11 /* aliasInfo */
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        21: .line 2582
            iconst_1
            istore 6 /* foundMatch */
        22: .line 2583
            goto 24
        end local 11 // sun.security.pkcs11.P11KeyStore$AliasInfo aliasInfo
        23: .line 2566
      StackMap locals: sun.security.pkcs11.P11KeyStore java.util.ArrayList java.util.HashMap java.util.ArrayList byte[] java.util.Iterator int java.util.Set java.lang.String java.util.Iterator java.util.HashSet top java.util.Iterator
      StackMap stack:
            aload 12
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 10
        24: .line 2586
      StackMap locals: sun.security.pkcs11.P11KeyStore java.util.ArrayList java.util.HashMap java.util.ArrayList byte[] java.util.Iterator int java.util.Set java.lang.String java.util.Iterator java.util.HashSet
      StackMap stack:
            iload 6 /* foundMatch */
            ifeq 26
        25: .line 2587
            goto 27
        end local 10 // java.util.HashSet infoSet
        end local 8 // java.lang.String certLabel
        26: .line 2561
      StackMap locals: sun.security.pkcs11.P11KeyStore java.util.ArrayList java.util.HashMap java.util.ArrayList byte[] java.util.Iterator int java.util.Set top java.util.Iterator
      StackMap stack:
            aload 9
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 7
        27: .line 2591
      StackMap locals: sun.security.pkcs11.P11KeyStore java.util.ArrayList java.util.HashMap java.util.ArrayList byte[] java.util.Iterator int java.util.Set
      StackMap stack:
            iload 6 /* foundMatch */
            ifne 35
        28: .line 2592
            getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
            ifnull 35
        29: .line 2593
            getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
        30: .line 2594
            new java.lang.StringBuilder
            dup
            ldc "did not find match for private key with CKA_ID ["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        31: .line 2595
            aload 4 /* pkeyID */
            invokestatic sun.security.pkcs11.P11KeyStore.getID:([B)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        32: .line 2596
            ldc "] (ignoring entry)"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        33: .line 2594
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        34: .line 2593
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        end local 7 // java.util.Set certLabels
        end local 6 // boolean foundMatch
        end local 4 // byte[] pkeyID
        35: .line 2555
      StackMap locals: sun.security.pkcs11.P11KeyStore java.util.ArrayList java.util.HashMap java.util.ArrayList top java.util.Iterator
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
        36: .line 2601
            aload 3 /* matchedCerts */
            areturn
        end local 3 // java.util.ArrayList matchedCerts
        end local 2 // java.util.HashMap certMap
        end local 1 // java.util.ArrayList pkeyIDs
        end local 0 // sun.security.pkcs11.P11KeyStore this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   37     0          this  Lsun/security/pkcs11/P11KeyStore;
            0   37     1       pkeyIDs  Ljava/util/ArrayList<[B>;
            0   37     2       certMap  Ljava/util/HashMap<Ljava/lang/String;Ljava/util/HashSet<Lsun/security/pkcs11/P11KeyStore$AliasInfo;>;>;
            2   37     3  matchedCerts  Ljava/util/ArrayList<Lsun/security/pkcs11/P11KeyStore$AliasInfo;>;
            4   35     4        pkeyID  [B
            5   35     6    foundMatch  Z
            6   35     7    certLabels  Ljava/util/Set<Ljava/lang/String;>;
            8   26     8     certLabel  Ljava/lang/String;
            9   26    10       infoSet  Ljava/util/HashSet<Lsun/security/pkcs11/P11KeyStore$AliasInfo;>;
           11   23    11     aliasInfo  Lsun/security/pkcs11/P11KeyStore$AliasInfo;
    Exceptions:
      throws sun.security.pkcs11.wrapper.PKCS11Exception, java.security.cert.CertificateException
    Signature: (Ljava/util/ArrayList<[B>;Ljava/util/HashMap<Ljava/lang/String;Ljava/util/HashSet<Lsun/security/pkcs11/P11KeyStore$AliasInfo;>;>;)Ljava/util/ArrayList<Lsun/security/pkcs11/P11KeyStore$AliasInfo;>;
    MethodParameters:
         Name  Flags
      pkeyIDs  
      certMap  

  private boolean mapCerts(java.util.ArrayList<sun.security.pkcs11.P11KeyStore$AliasInfo>, java.util.HashMap<java.lang.String, java.util.HashSet<sun.security.pkcs11.P11KeyStore$AliasInfo>>);
    descriptor: (Ljava/util/ArrayList;Ljava/util/HashMap;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=10, args_size=3
        start local 0 // sun.security.pkcs11.P11KeyStore this
        start local 1 // java.util.ArrayList matchedCerts
        start local 2 // java.util.HashMap certMap
         0: .line 2619
            aload 1 /* matchedCerts */
            invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
            astore 4
            goto 10
      StackMap locals: sun.security.pkcs11.P11KeyStore java.util.ArrayList java.util.HashMap top java.util.Iterator
      StackMap stack:
         1: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast sun.security.pkcs11.P11KeyStore$AliasInfo
            astore 3 /* aliasInfo */
        start local 3 // sun.security.pkcs11.P11KeyStore$AliasInfo aliasInfo
         2: .line 2620
            aconst_null
            astore 5 /* session */
        start local 5 // sun.security.pkcs11.Session session
         3: .line 2622
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
            invokevirtual sun.security.pkcs11.Token.getOpSession:()Lsun/security/pkcs11/Session;
            astore 5 /* session */
         4: .line 2623
            aload 3 /* aliasInfo */
            aload 0 /* this */
            aload 5 /* session */
            aload 3 /* aliasInfo */
            getfield sun.security.pkcs11.P11KeyStore$AliasInfo.cert:Ljava/security/cert/X509Certificate;
            invokevirtual sun.security.pkcs11.P11KeyStore.loadChain:(Lsun/security/pkcs11/Session;Ljava/security/cert/X509Certificate;)[Ljava/security/cert/X509Certificate;
            putfield sun.security.pkcs11.P11KeyStore$AliasInfo.chain:[Ljava/security/cert/X509Certificate;
         5: .line 2624
            goto 9
      StackMap locals: sun.security.pkcs11.P11KeyStore java.util.ArrayList java.util.HashMap sun.security.pkcs11.P11KeyStore$AliasInfo java.util.Iterator sun.security.pkcs11.Session
      StackMap stack: java.lang.Throwable
         6: astore 6
         7: .line 2625
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
            aload 5 /* session */
            invokevirtual sun.security.pkcs11.Token.releaseSession:(Lsun/security/pkcs11/Session;)Lsun/security/pkcs11/Session;
            pop
         8: .line 2626
            aload 6
            athrow
         9: .line 2625
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
            aload 5 /* session */
            invokevirtual sun.security.pkcs11.Token.releaseSession:(Lsun/security/pkcs11/Session;)Lsun/security/pkcs11/Session;
            pop
        end local 5 // sun.security.pkcs11.Session session
        end local 3 // sun.security.pkcs11.P11KeyStore$AliasInfo aliasInfo
        10: .line 2619
      StackMap locals: sun.security.pkcs11.P11KeyStore java.util.ArrayList java.util.HashMap top java.util.Iterator
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
        11: .line 2632
            iconst_0
            istore 3 /* sharedLabel */
        start local 3 // boolean sharedLabel
        12: .line 2634
            aload 2 /* certMap */
            invokevirtual java.util.HashMap.keySet:()Ljava/util/Set;
            astore 4 /* certLabels */
        start local 4 // java.util.Set certLabels
        13: .line 2635
            aload 4 /* certLabels */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 6
            goto 29
      StackMap locals: sun.security.pkcs11.P11KeyStore java.util.ArrayList java.util.HashMap int java.util.Set top java.util.Iterator
      StackMap stack:
        14: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 5 /* certLabel */
        start local 5 // java.lang.String certLabel
        15: .line 2636
            aload 2 /* certMap */
            aload 5 /* certLabel */
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.HashSet
            astore 7 /* infoSet */
        start local 7 // java.util.HashSet infoSet
        16: .line 2637
            aload 7 /* infoSet */
            invokevirtual java.util.HashSet.iterator:()Ljava/util/Iterator;
            astore 9
            goto 28
      StackMap locals: sun.security.pkcs11.P11KeyStore java.util.ArrayList java.util.HashMap int java.util.Set java.lang.String java.util.Iterator java.util.HashSet top java.util.Iterator
      StackMap stack:
        17: aload 9
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast sun.security.pkcs11.P11KeyStore$AliasInfo
            astore 8 /* aliasInfo */
        start local 8 // sun.security.pkcs11.P11KeyStore$AliasInfo aliasInfo
        18: .line 2639
            aload 8 /* aliasInfo */
            getfield sun.security.pkcs11.P11KeyStore$AliasInfo.matched:Z
            ifeq 21
        19: .line 2642
            aload 8 /* aliasInfo */
            iconst_0
            putfield sun.security.pkcs11.P11KeyStore$AliasInfo.trusted:Z
        20: .line 2643
            goto 28
        21: .line 2651
      StackMap locals: sun.security.pkcs11.P11KeyStore java.util.ArrayList java.util.HashMap int java.util.Set java.lang.String java.util.Iterator java.util.HashSet sun.security.pkcs11.P11KeyStore$AliasInfo java.util.Iterator
      StackMap stack:
            getstatic sun.security.pkcs11.P11KeyStore.CKA_TRUSTED_SUPPORTED:Z
            ifeq 28
        22: .line 2652
            aload 8 /* aliasInfo */
            getfield sun.security.pkcs11.P11KeyStore$AliasInfo.trusted:Z
            ifeq 28
        23: .line 2654
            aload 0 /* this */
        24: .line 2655
            aload 5 /* certLabel */
            aload 8 /* aliasInfo */
            aload 7 /* infoSet */
        25: .line 2654
            invokevirtual sun.security.pkcs11.P11KeyStore.mapTrustedCert:(Ljava/lang/String;Lsun/security/pkcs11/P11KeyStore$AliasInfo;Ljava/util/HashSet;)Z
        26: .line 2655
            ifeq 28
        27: .line 2656
            iconst_1
            istore 3 /* sharedLabel */
        end local 8 // sun.security.pkcs11.P11KeyStore$AliasInfo aliasInfo
        28: .line 2637
      StackMap locals: sun.security.pkcs11.P11KeyStore java.util.ArrayList java.util.HashMap int java.util.Set java.lang.String java.util.Iterator java.util.HashSet top java.util.Iterator
      StackMap stack:
            aload 9
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 17
        end local 7 // java.util.HashSet infoSet
        end local 5 // java.lang.String certLabel
        29: .line 2635
      StackMap locals: sun.security.pkcs11.P11KeyStore java.util.ArrayList java.util.HashMap int java.util.Set top java.util.Iterator
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 14
        30: .line 2697
            iload 3 /* sharedLabel */
            ireturn
        end local 4 // java.util.Set certLabels
        end local 3 // boolean sharedLabel
        end local 2 // java.util.HashMap certMap
        end local 1 // java.util.ArrayList matchedCerts
        end local 0 // sun.security.pkcs11.P11KeyStore this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   31     0          this  Lsun/security/pkcs11/P11KeyStore;
            0   31     1  matchedCerts  Ljava/util/ArrayList<Lsun/security/pkcs11/P11KeyStore$AliasInfo;>;
            0   31     2       certMap  Ljava/util/HashMap<Ljava/lang/String;Ljava/util/HashSet<Lsun/security/pkcs11/P11KeyStore$AliasInfo;>;>;
            2   10     3     aliasInfo  Lsun/security/pkcs11/P11KeyStore$AliasInfo;
            3   10     5       session  Lsun/security/pkcs11/Session;
           12   31     3   sharedLabel  Z
           13   31     4    certLabels  Ljava/util/Set<Ljava/lang/String;>;
           15   29     5     certLabel  Ljava/lang/String;
           16   29     7       infoSet  Ljava/util/HashSet<Lsun/security/pkcs11/P11KeyStore$AliasInfo;>;
           18   28     8     aliasInfo  Lsun/security/pkcs11/P11KeyStore$AliasInfo;
      Exception table:
        from    to  target  type
           3     6       6  any
    Exceptions:
      throws sun.security.pkcs11.wrapper.PKCS11Exception, java.security.cert.CertificateException
    Signature: (Ljava/util/ArrayList<Lsun/security/pkcs11/P11KeyStore$AliasInfo;>;Ljava/util/HashMap<Ljava/lang/String;Ljava/util/HashSet<Lsun/security/pkcs11/P11KeyStore$AliasInfo;>;>;)Z
    MethodParameters:
              Name  Flags
      matchedCerts  
      certMap       

  private boolean mapTrustedCert(java.lang.String, sun.security.pkcs11.P11KeyStore$AliasInfo, java.util.HashSet<sun.security.pkcs11.P11KeyStore$AliasInfo>);
    descriptor: (Ljava/lang/String;Lsun/security/pkcs11/P11KeyStore$AliasInfo;Ljava/util/HashSet;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=5, args_size=4
        start local 0 // sun.security.pkcs11.P11KeyStore this
        start local 1 // java.lang.String certLabel
        start local 2 // sun.security.pkcs11.P11KeyStore$AliasInfo aliasInfo
        start local 3 // java.util.HashSet infoSet
         0: .line 2704
            iconst_0
            istore 4 /* sharedLabel */
        start local 4 // boolean sharedLabel
         1: .line 2706
            aload 2 /* aliasInfo */
            getstatic sun.security.pkcs11.P11KeyStore.ATTR_CLASS_CERT:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            putfield sun.security.pkcs11.P11KeyStore$AliasInfo.type:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
         2: .line 2707
            aload 2 /* aliasInfo */
            iconst_1
            putfield sun.security.pkcs11.P11KeyStore$AliasInfo.trusted:Z
         3: .line 2708
            aload 3 /* infoSet */
            invokevirtual java.util.HashSet.size:()I
            iconst_1
            if_icmpne 6
         4: .line 2710
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.aliasMap:Ljava/util/HashMap;
            aload 1 /* certLabel */
            aload 2 /* aliasInfo */
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         5: .line 2711
            goto 8
         6: .line 2713
      StackMap locals: int
      StackMap stack:
            iconst_1
            istore 4 /* sharedLabel */
         7: .line 2714
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.aliasMap:Ljava/util/HashMap;
            aload 0 /* this */
            aload 1 /* certLabel */
            aload 2 /* aliasInfo */
            getfield sun.security.pkcs11.P11KeyStore$AliasInfo.cert:Ljava/security/cert/X509Certificate;
            invokevirtual sun.security.pkcs11.P11KeyStore.getID:(Ljava/lang/String;Ljava/security/cert/X509Certificate;)Ljava/lang/String;
            aload 2 /* aliasInfo */
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         8: .line 2717
      StackMap locals:
      StackMap stack:
            iload 4 /* sharedLabel */
            ireturn
        end local 4 // boolean sharedLabel
        end local 3 // java.util.HashSet infoSet
        end local 2 // sun.security.pkcs11.P11KeyStore$AliasInfo aliasInfo
        end local 1 // java.lang.String certLabel
        end local 0 // sun.security.pkcs11.P11KeyStore this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    9     0         this  Lsun/security/pkcs11/P11KeyStore;
            0    9     1    certLabel  Ljava/lang/String;
            0    9     2    aliasInfo  Lsun/security/pkcs11/P11KeyStore$AliasInfo;
            0    9     3      infoSet  Ljava/util/HashSet<Lsun/security/pkcs11/P11KeyStore$AliasInfo;>;
            1    9     4  sharedLabel  Z
    Signature: (Ljava/lang/String;Lsun/security/pkcs11/P11KeyStore$AliasInfo;Ljava/util/HashSet<Lsun/security/pkcs11/P11KeyStore$AliasInfo;>;)Z
    MethodParameters:
           Name  Flags
      certLabel  
      aliasInfo  
      infoSet    

  private void mapSecretKeys(java.util.HashSet<java.lang.String>);
    descriptor: (Ljava/util/HashSet;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=4, args_size=2
        start local 0 // sun.security.pkcs11.P11KeyStore this
        start local 1 // java.util.HashSet sKeySet
         0: .line 2726
            aload 1 /* sKeySet */
            invokevirtual java.util.HashSet.iterator:()Ljava/util/Iterator;
            astore 3
            goto 9
      StackMap locals: sun.security.pkcs11.P11KeyStore java.util.HashSet top java.util.Iterator
      StackMap stack:
         1: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 2 /* label */
        start local 2 // java.lang.String label
         2: .line 2727
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.aliasMap:Ljava/util/HashMap;
            aload 2 /* label */
            invokevirtual java.util.HashMap.containsKey:(Ljava/lang/Object;)Z
            ifne 5
         3: .line 2728
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.aliasMap:Ljava/util/HashMap;
            aload 2 /* label */
            new sun.security.pkcs11.P11KeyStore$AliasInfo
            dup
            aload 2 /* label */
            invokespecial sun.security.pkcs11.P11KeyStore$AliasInfo.<init>:(Ljava/lang/String;)V
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         4: .line 2729
            goto 9
         5: .line 2730
      StackMap locals: sun.security.pkcs11.P11KeyStore java.util.HashSet java.lang.String java.util.Iterator
      StackMap stack:
            new java.security.KeyStoreException
            dup
            new java.lang.StringBuilder
            dup
            ldc "invalid KeyStore state: found secret key sharing CKA_LABEL ["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         6: .line 2732
            aload 2 /* label */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         7: .line 2733
            ldc "] with another token object"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         8: .line 2730
            invokespecial java.security.KeyStoreException.<init>:(Ljava/lang/String;)V
            athrow
        end local 2 // java.lang.String label
         9: .line 2726
      StackMap locals: sun.security.pkcs11.P11KeyStore java.util.HashSet top java.util.Iterator
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
        10: .line 2736
            return
        end local 1 // java.util.HashSet sKeySet
        end local 0 // sun.security.pkcs11.P11KeyStore this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   11     0     this  Lsun/security/pkcs11/P11KeyStore;
            0   11     1  sKeySet  Ljava/util/HashSet<Ljava/lang/String;>;
            2    9     2    label  Ljava/lang/String;
    Exceptions:
      throws java.security.KeyStoreException
    Signature: (Ljava/util/HashSet<Ljava/lang/String;>;)V
    MethodParameters:
         Name  Flags
      sKeySet  

  private void dumpTokenMap();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=4, args_size=1
        start local 0 // sun.security.pkcs11.P11KeyStore this
         0: .line 2739
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.aliasMap:Ljava/util/HashMap;
            invokevirtual java.util.HashMap.keySet:()Ljava/util/Set;
            astore 1 /* aliases */
        start local 1 // java.util.Set aliases
         1: .line 2740
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc "Token Alias Map:"
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         2: .line 2741
            aload 1 /* aliases */
            invokeinterface java.util.Set.isEmpty:()Z
            ifeq 5
         3: .line 2742
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc "  [empty]"
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         4: .line 2743
            goto 9
         5: .line 2744
      StackMap locals: java.util.Set
      StackMap stack:
            aload 1 /* aliases */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 3
            goto 8
      StackMap locals: sun.security.pkcs11.P11KeyStore java.util.Set top java.util.Iterator
      StackMap stack:
         6: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 2 /* s */
        start local 2 // java.lang.String s
         7: .line 2745
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "  "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* s */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.aliasMap:Ljava/util/HashMap;
            aload 2 /* s */
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        end local 2 // java.lang.String s
         8: .line 2744
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 6
         9: .line 2748
      StackMap locals: sun.security.pkcs11.P11KeyStore java.util.Set
      StackMap stack:
            return
        end local 1 // java.util.Set aliases
        end local 0 // sun.security.pkcs11.P11KeyStore this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   10     0     this  Lsun/security/pkcs11/P11KeyStore;
            1   10     1  aliases  Ljava/util/Set<Ljava/lang/String;>;
            7    8     2        s  Ljava/lang/String;

  private void checkWrite();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // sun.security.pkcs11.P11KeyStore this
         0: .line 2751
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.writeDisabled:Z
            ifeq 4
         1: .line 2752
            new java.security.KeyStoreException
            dup
         2: .line 2753
            ldc "This PKCS11KeyStore does not support write capabilities"
         3: .line 2752
            invokespecial java.security.KeyStoreException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 2755
      StackMap locals:
      StackMap stack:
            return
        end local 0 // sun.security.pkcs11.P11KeyStore this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lsun/security/pkcs11/P11KeyStore;
    Exceptions:
      throws java.security.KeyStoreException

  private static long[] findObjects(sun.security.pkcs11.Session, sun.security.pkcs11.wrapper.CK_ATTRIBUTE[]);
    descriptor: (Lsun/security/pkcs11/Session;[Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;)[J
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=5, args_size=2
        start local 0 // sun.security.pkcs11.Session session
        start local 1 // sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] attrs
         0: .line 2761
            aload 0 /* session */
            getfield sun.security.pkcs11.Session.token:Lsun/security/pkcs11/Token;
            astore 2 /* token */
        start local 2 // sun.security.pkcs11.Token token
         1: .line 2762
            getstatic sun.security.pkcs11.P11KeyStore.LONG0:[J
            astore 3 /* handles */
        start local 3 // long[] handles
         2: .line 2763
            aload 2 /* token */
            getfield sun.security.pkcs11.Token.p11:Lsun/security/pkcs11/wrapper/PKCS11;
            aload 0 /* session */
            invokevirtual sun.security.pkcs11.Session.id:()J
            aload 1 /* attrs */
            invokevirtual sun.security.pkcs11.wrapper.PKCS11.C_FindObjectsInit:(J[Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;)V
         3: .line 2765
      StackMap locals: sun.security.pkcs11.Token long[]
      StackMap stack:
            aload 2 /* token */
            getfield sun.security.pkcs11.Token.p11:Lsun/security/pkcs11/wrapper/PKCS11;
            aload 0 /* session */
            invokevirtual sun.security.pkcs11.Session.id:()J
            ldc 100
            invokevirtual sun.security.pkcs11.wrapper.PKCS11.C_FindObjects:(JJ)[J
            astore 4 /* h */
        start local 4 // long[] h
         4: .line 2766
            aload 4 /* h */
            arraylength
            ifne 6
         5: .line 2767
            goto 8
         6: .line 2769
      StackMap locals: long[]
      StackMap stack:
            aload 3 /* handles */
            aload 4 /* h */
            invokestatic sun.security.pkcs11.P11Util.concat:([J[J)[J
            astore 3 /* handles */
        end local 4 // long[] h
         7: .line 2764
            goto 3
         8: .line 2771
      StackMap locals:
      StackMap stack:
            aload 2 /* token */
            getfield sun.security.pkcs11.Token.p11:Lsun/security/pkcs11/wrapper/PKCS11;
            aload 0 /* session */
            invokevirtual sun.security.pkcs11.Session.id:()J
            invokevirtual sun.security.pkcs11.wrapper.PKCS11.C_FindObjectsFinal:(J)V
         9: .line 2772
            aload 3 /* handles */
            areturn
        end local 3 // long[] handles
        end local 2 // sun.security.pkcs11.Token token
        end local 1 // sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] attrs
        end local 0 // sun.security.pkcs11.Session session
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   10     0  session  Lsun/security/pkcs11/Session;
            0   10     1    attrs  [Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            1   10     2    token  Lsun/security/pkcs11/Token;
            2   10     3  handles  [J
            4    7     4        h  [J
    Exceptions:
      throws sun.security.pkcs11.wrapper.PKCS11Exception
    MethodParameters:
         Name  Flags
      session  
      attrs    
}
SourceFile: "P11KeyStore.java"
NestMembers:
  sun.security.pkcs11.P11KeyStore$AliasInfo  sun.security.pkcs11.P11KeyStore$PasswordCallbackHandler  sun.security.pkcs11.P11KeyStore$THandle
InnerClasses:
  public CallbackHandlerProtection = java.security.KeyStore$CallbackHandlerProtection of java.security.KeyStore
  public abstract Entry = java.security.KeyStore$Entry of java.security.KeyStore
  public abstract LoadStoreParameter = java.security.KeyStore$LoadStoreParameter of java.security.KeyStore
  public PasswordProtection = java.security.KeyStore$PasswordProtection of java.security.KeyStore
  public final PrivateKeyEntry = java.security.KeyStore$PrivateKeyEntry of java.security.KeyStore
  public abstract ProtectionParameter = java.security.KeyStore$ProtectionParameter of java.security.KeyStore
  public final SecretKeyEntry = java.security.KeyStore$SecretKeyEntry of java.security.KeyStore
  public final TrustedCertificateEntry = java.security.KeyStore$TrustedCertificateEntry of java.security.KeyStore
  private AliasInfo = sun.security.pkcs11.P11KeyStore$AliasInfo of sun.security.pkcs11.P11KeyStore
  private PasswordCallbackHandler = sun.security.pkcs11.P11KeyStore$PasswordCallbackHandler of sun.security.pkcs11.P11KeyStore
  private THandle = sun.security.pkcs11.P11KeyStore$THandle of sun.security.pkcs11.P11KeyStore
  public final KeyStoreLoadParameter = sun.security.pkcs11.Secmod$KeyStoreLoadParameter of sun.security.pkcs11.Secmod
  public final Module = sun.security.pkcs11.Secmod$Module of sun.security.pkcs11.Secmod
  public final ModuleType = sun.security.pkcs11.Secmod$ModuleType of sun.security.pkcs11.Secmod
  public final TrustType = sun.security.pkcs11.Secmod$TrustType of sun.security.pkcs11.Secmod