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 81
            new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            lconst_0
            lconst_1
            invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JJ)V
         1: .line 80
            putstatic sun.security.pkcs11.P11KeyStore.ATTR_CLASS_CERT:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
         2: .line 83
            new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            lconst_0
            ldc 3
            invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JJ)V
         3: .line 82
            putstatic sun.security.pkcs11.P11KeyStore.ATTR_CLASS_PKEY:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
         4: .line 85
            new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            lconst_0
            ldc 4
            invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JJ)V
         5: .line 84
            putstatic sun.security.pkcs11.P11KeyStore.ATTR_CLASS_SKEY:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
         6: .line 88
            new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            ldc 128
            lconst_0
            invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JJ)V
         7: .line 87
            putstatic sun.security.pkcs11.P11KeyStore.ATTR_X509_CERT_TYPE:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
         8: .line 91
            new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            lconst_1
            iconst_1
            invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JZ)V
         9: .line 90
            putstatic sun.security.pkcs11.P11KeyStore.ATTR_TOKEN_TRUE:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
        10: .line 97
            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 100
            new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            ldc 134
            iconst_1
            invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JZ)V
        12: .line 99
            putstatic sun.security.pkcs11.P11KeyStore.ATTR_TRUSTED_TRUE:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
        13: .line 102
            new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            ldc 2
            iconst_1
            invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JZ)V
        14: .line 101
            putstatic sun.security.pkcs11.P11KeyStore.ATTR_PRIVATE_TRUE:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
        15: .line 110
            ldc "pkcs11keystore"
            invokestatic sun.security.util.Debug.getInstance:(Ljava/lang/String;)Lsun/security/util/Debug;
        16: .line 109
            putstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
        17: .line 111
            iconst_1
            putstatic sun.security.pkcs11.P11KeyStore.CKA_TRUSTED_SUPPORTED:Z
        18: .line 2666
            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 119
            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 331
            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 331
            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 331
      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: java.lang.Exception
            astore 5 /* e */
        start local 5 // java.lang.Exception e
        30: .line 329
            new java.security.ProviderException
            dup
            aload 5 /* e */
            invokespecial java.security.ProviderException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 5 // java.lang.Exception e
        31: .line 330
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 6
        32: .line 331
            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 332
            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   34     0       this  Lsun/security/pkcs11/P11KeyStore;
            0   34     1      alias  Ljava/lang/String;
            0   34     2   password  [C
            4   34     3  aliasInfo  Lsun/security/pkcs11/P11KeyStore$AliasInfo;
            7   34     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          e  Ljava/lang/Exception;
      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      29  Class java.security.KeyStoreException
          18    25      29  Class java.security.KeyStoreException
           7    16      31  any
          18    25      31  any
          29    31      31  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 350
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
            invokevirtual sun.security.pkcs11.Token.ensureValid:()V
         1: .line 352
            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 353
            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 354
      StackMap locals: sun.security.pkcs11.P11KeyStore$AliasInfo
      StackMap stack:
            aconst_null
            areturn
         4: .line 356
      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 381
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
            invokevirtual sun.security.pkcs11.Token.ensureValid:()V
         1: .line 383
            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 384
            aload 2 /* aliasInfo */
            ifnonnull 4
         3: .line 385
            aconst_null
            areturn
         4: .line 387
      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 399
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
            invokevirtual sun.security.pkcs11.Token.ensureValid:()V
         1: .line 400
            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 430
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
            invokevirtual sun.security.pkcs11.Token.ensureValid:()V
         1: .line 431
            aload 0 /* this */
            invokevirtual sun.security.pkcs11.P11KeyStore.checkWrite:()V
         2: .line 433
            aload 2 /* key */
            instanceof java.security.PrivateKey
            ifne 4
            aload 2 /* key */
            instanceof javax.crypto.SecretKey
            ifne 4
         3: .line 434
            new java.security.KeyStoreException
            dup
            ldc "key must be PrivateKey or SecretKey"
            invokespecial java.security.KeyStoreException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 435
      StackMap locals:
      StackMap stack:
            aload 2 /* key */
            instanceof java.security.PrivateKey
            ifeq 8
            aload 4 /* chain */
            ifnonnull 8
         5: .line 436
            new java.security.KeyStoreException
            dup
         6: .line 437
            ldc "PrivateKey must be accompanied by non-null chain"
         7: .line 436
            invokespecial java.security.KeyStoreException.<init>:(Ljava/lang/String;)V
            athrow
         8: .line 438
      StackMap locals:
      StackMap stack:
            aload 2 /* key */
            instanceof javax.crypto.SecretKey
            ifeq 12
            aload 4 /* chain */
            ifnull 12
         9: .line 439
            new java.security.KeyStoreException
            dup
        10: .line 440
            ldc "SecretKey must be accompanied by null chain"
        11: .line 439
            invokespecial java.security.KeyStoreException.<init>:(Ljava/lang/String;)V
            athrow
        12: .line 441
      StackMap locals:
      StackMap stack:
            aload 3 /* password */
            ifnull 15
        13: .line 442
            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 443
            new java.security.KeyStoreException
            dup
            ldc "Password must be null"
            invokespecial java.security.KeyStoreException.<init>:(Ljava/lang/String;)V
            athrow
        15: .line 446
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 5 /* entry */
        start local 5 // java.security.KeyStore$Entry entry
        16: .line 448
            aload 2 /* key */
            instanceof java.security.PrivateKey
            ifeq 19
        17: .line 449
            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 450
            goto 24
      StackMap locals: java.security.KeyStore$Entry
      StackMap stack:
        19: aload 2 /* key */
            instanceof javax.crypto.SecretKey
            ifeq 24
        20: .line 451
            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 453
            goto 24
      StackMap locals:
      StackMap stack: java.lang.RuntimeException
        22: astore 6 /* e */
        start local 6 // java.lang.RuntimeException e
        23: .line 454
            new java.security.KeyStoreException
            dup
            aload 6 /* e */
            invokespecial java.security.KeyStoreException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 6 // java.lang.RuntimeException e
        24: .line 456
      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
        25: .line 457
            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   26     0      this  Lsun/security/pkcs11/P11KeyStore;
            0   26     1     alias  Ljava/lang/String;
            0   26     2       key  Ljava/security/Key;
            0   26     3  password  [C
            0   26     4     chain  [Ljava/security/cert/Certificate;
           16   26     5     entry  Ljava/security/KeyStore$Entry;
           23   24     6         e  Ljava/lang/RuntimeException;
      Exception table:
        from    to  target  type
          16    21      22  Class java.lang.NullPointerException
          16    21      22  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 482
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
            invokevirtual sun.security.pkcs11.Token.ensureValid:()V
         1: .line 483
            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 506
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
            invokevirtual sun.security.pkcs11.Token.ensureValid:()V
         1: .line 507
            aload 0 /* this */
            invokevirtual sun.security.pkcs11.P11KeyStore.checkWrite:()V
         2: .line 509
            aload 2 /* cert */
            ifnonnull 4
         3: .line 510
            new java.security.KeyStoreException
            dup
            ldc "invalid null certificate"
            invokespecial java.security.KeyStoreException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 513
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 3 /* entry */
        start local 3 // java.security.KeyStore$Entry entry
         5: .line 514
            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 515
            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 516
            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 527
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
            invokevirtual sun.security.pkcs11.Token.ensureValid:()V
         1: .line 529
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
            invokevirtual sun.security.pkcs11.Token.isWriteProtected:()Z
            ifeq 3
         2: .line 530
            new java.security.KeyStoreException
            dup
            ldc "token write-protected"
            invokespecial java.security.KeyStoreException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 532
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual sun.security.pkcs11.P11KeyStore.checkWrite:()V
         4: .line 533
            aload 0 /* this */
            aload 1 /* alias */
            invokevirtual sun.security.pkcs11.P11KeyStore.deleteEntry:(Ljava/lang/String;)Z
            pop
         5: .line 534
            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 540
            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 541
            aload 2 /* aliasInfo */
            ifnull 18
         2: .line 543
            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 546
            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 548
            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 549
      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 551
            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 552
            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 551
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
        10: iconst_0
        11: ireturn
        12: .line 553
      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 555
            aload 0 /* this */
            aload 1 /* alias */
            invokevirtual sun.security.pkcs11.P11KeyStore.destroySkey:(Ljava/lang/String;)Z
        14: ireturn
        15: .line 557
      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 559
      StackMap locals:
      StackMap stack: java.lang.Exception
            astore 3 /* e */
        start local 3 // java.lang.Exception e
        17: .line 560
            new java.security.KeyStoreException
            dup
            aload 3 /* e */
            invokespecial java.security.KeyStoreException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 3 // java.lang.Exception e
        18: .line 563
      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   19     0       this  Lsun/security/pkcs11/P11KeyStore;
            0   19     1      alias  Ljava/lang/String;
            1   19     2  aliasInfo  Lsun/security/pkcs11/P11KeyStore$AliasInfo;
           17   18     3          e  Ljava/lang/Exception;
      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      16  Class java.security.cert.CertificateException
           6    11      16  Class java.security.cert.CertificateException
          12    14      16  Class java.security.cert.CertificateException
          15    16      16  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 572
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
            invokevirtual sun.security.pkcs11.Token.ensureValid:()V
         1: .line 577
            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 588
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
            invokevirtual sun.security.pkcs11.Token.ensureValid:()V
         1: .line 589
            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 598
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
            invokevirtual sun.security.pkcs11.Token.ensureValid:()V
         1: .line 599
            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 614
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
            invokevirtual sun.security.pkcs11.Token.ensureValid:()V
         1: .line 616
            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 617
            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 618
      StackMap locals: sun.security.pkcs11.P11KeyStore$AliasInfo
      StackMap stack:
            iconst_0
            ireturn
         4: .line 620
      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 635
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
            invokevirtual sun.security.pkcs11.Token.ensureValid:()V
         1: .line 637
            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 638
            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 639
      StackMap locals: sun.security.pkcs11.P11KeyStore$AliasInfo
      StackMap stack:
            iconst_0
            ireturn
         4: .line 641
      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 668
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
            invokevirtual sun.security.pkcs11.Token.ensureValid:()V
         1: .line 669
            aload 0 /* this */
            invokevirtual sun.security.pkcs11.P11KeyStore.engineAliases:()Ljava/util/Enumeration;
            astore 2 /* e */
        start local 2 // java.util.Enumeration e
         2: .line 670
            goto 7
         3: .line 671
      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 672
            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 673
            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 674
            aload 3 /* alias */
            areturn
        end local 4 // java.security.cert.Certificate tokenCert
        end local 3 // java.lang.String alias
         7: .line 670
      StackMap locals:
      StackMap stack:
            aload 2 /* e */
            invokeinterface java.util.Enumeration.hasMoreElements:()Z
            ifne 3
         8: .line 677
            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 689
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
            invokevirtual sun.security.pkcs11.Token.ensureValid:()V
         1: .line 690
            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 691
            new java.io.IOException
            dup
            ldc "output stream must be null"
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 694
      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 695
            new java.io.IOException
            dup
            ldc "password must be null"
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
         5: .line 697
      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 711
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
            invokevirtual sun.security.pkcs11.Token.ensureValid:()V
         1: .line 712
            aload 1 /* param */
            ifnull 5
         2: .line 713
            new java.lang.IllegalArgumentException
            dup
         3: .line 714
            ldc "LoadStoreParameter must be null"
         4: .line 713
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         5: .line 716
      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=5, locals=6, 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 734
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
            invokevirtual sun.security.pkcs11.Token.ensureValid:()V
         1: .line 740
            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 741
            new java.io.IOException
            dup
            ldc "input stream must be null"
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 744
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.useSecmodTrust:Z
            ifeq 5
         4: .line 745
            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 749
      StackMap locals:
      StackMap stack:
            aload 2 /* password */
            ifnonnull 8
         6: .line 750
            aload 0 /* this */
            aconst_null
            invokevirtual sun.security.pkcs11.P11KeyStore.login:(Ljavax/security/auth/callback/CallbackHandler;)V
         7: .line 751
            goto 19
         8: .line 752
      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 754
            goto 19
      StackMap locals:
      StackMap stack: javax.security.auth.login.LoginException
        10: astore 3 /* e */
        start local 3 // javax.security.auth.login.LoginException e
        11: .line 755
            aload 3 /* e */
            invokevirtual javax.security.auth.login.LoginException.getCause:()Ljava/lang/Throwable;
            astore 4 /* cause */
        start local 4 // java.lang.Throwable cause
        12: .line 756
            aload 4 /* cause */
            instanceof sun.security.pkcs11.wrapper.PKCS11Exception
            ifeq 18
        13: .line 757
            aload 4 /* cause */
            checkcast sun.security.pkcs11.wrapper.PKCS11Exception
            astore 5 /* pe */
        start local 5 // sun.security.pkcs11.wrapper.PKCS11Exception pe
        14: .line 758
            aload 5 /* pe */
            invokevirtual sun.security.pkcs11.wrapper.PKCS11Exception.getErrorCode:()J
            ldc 160
            lcmp
            ifne 18
        15: .line 761
            new java.io.IOException
            dup
            ldc "load failed"
        16: .line 762
            new java.security.UnrecoverableKeyException
            dup
            invokespecial java.security.UnrecoverableKeyException.<init>:()V
            aload 3 /* e */
            invokevirtual java.security.UnrecoverableKeyException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
        17: .line 761
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 5 // sun.security.pkcs11.wrapper.PKCS11Exception pe
        18: .line 765
      StackMap locals: javax.security.auth.login.LoginException java.lang.Throwable
      StackMap stack:
            new java.io.IOException
            dup
            ldc "load failed"
            aload 3 /* e */
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 4 // java.lang.Throwable cause
        end local 3 // javax.security.auth.login.LoginException e
        19: .line 769
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual sun.security.pkcs11.P11KeyStore.mapLabels:()Z
            ifeq 21
        20: .line 771
            aload 0 /* this */
            iconst_1
            putfield sun.security.pkcs11.P11KeyStore.writeDisabled:Z
        21: .line 773
      StackMap locals:
      StackMap stack:
            getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
            ifnull 26
        22: .line 774
            aload 0 /* this */
            invokevirtual sun.security.pkcs11.P11KeyStore.dumpTokenMap:()V
        23: .line 776
            goto 26
      StackMap locals:
      StackMap stack: java.lang.Exception
        24: astore 3 /* e */
        start local 3 // java.lang.Exception e
        25: .line 777
            new java.io.IOException
            dup
            ldc "load failed"
            aload 3 /* e */
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 3 // java.lang.Exception e
        26: .line 779
      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   27     0      this  Lsun/security/pkcs11/P11KeyStore;
            0   27     1    stream  Ljava/io/InputStream;
            0   27     2  password  [C
           11   19     3         e  Ljavax/security/auth/login/LoginException;
           12   19     4     cause  Ljava/lang/Throwable;
           14   18     5        pe  Lsun/security/pkcs11/wrapper/PKCS11Exception;
           25   26     3         e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           5     9      10  Class javax.security.auth.login.LoginException
          19    23      24  Class java.security.KeyStoreException
          19    23      24  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 808
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
            invokevirtual sun.security.pkcs11.Token.ensureValid:()V
         1: .line 818
            aload 1 /* param */
            ifnonnull 5
         2: .line 819
            new java.lang.IllegalArgumentException
            dup
         3: .line 820
            ldc "invalid null LoadStoreParameter"
         4: .line 819
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         5: .line 822
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.useSecmodTrust:Z
            ifeq 10
         6: .line 823
            aload 1 /* param */
            instanceof sun.security.pkcs11.Secmod$KeyStoreLoadParameter
            ifeq 9
         7: .line 824
            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 825
            goto 10
         9: .line 826
      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 831
      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 832
            aload 3 /* pp */
            instanceof java.security.KeyStore$PasswordProtection
            ifeq 18
        12: .line 833
            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 834
            aload 4 /* password */
            ifnonnull 16
        14: .line 835
            aconst_null
            astore 2 /* handler */
        start local 2 // javax.security.auth.callback.CallbackHandler handler
        15: .line 836
            goto 24
        end local 2 // javax.security.auth.callback.CallbackHandler handler
        16: .line 837
      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 839
            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 840
            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 841
            goto 24
        end local 2 // javax.security.auth.callback.CallbackHandler handler
        21: .line 842
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
        22: .line 843
            ldc "ProtectionParameter must be either PasswordProtection or CallbackHandlerProtection"
        23: .line 842
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        start local 2 // javax.security.auth.callback.CallbackHandler handler
        24: .line 848
      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 849
            aload 0 /* this */
            invokevirtual sun.security.pkcs11.P11KeyStore.mapLabels:()Z
            ifeq 27
        26: .line 851
            aload 0 /* this */
            iconst_1
            putfield sun.security.pkcs11.P11KeyStore.writeDisabled:Z
        27: .line 853
      StackMap locals:
      StackMap stack:
            getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
            ifnull 32
        28: .line 854
            aload 0 /* this */
            invokevirtual sun.security.pkcs11.P11KeyStore.dumpTokenMap:()V
        29: .line 856
            goto 32
      StackMap locals:
      StackMap stack: java.lang.Exception
        30: astore 4 /* e */
        start local 4 // java.lang.Exception e
        31: .line 857
            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.lang.Exception e
        32: .line 859
      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   33     0      this  Lsun/security/pkcs11/P11KeyStore;
            0   33     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   33     2   handler  Ljavax/security/auth/callback/CallbackHandler;
           11   33     3        pp  Ljava/security/KeyStore$ProtectionParameter;
           13   17     4  password  [C
           31   32     4         e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
          24    29      30  Class javax.security.auth.login.LoginException
          24    29      30  Class java.security.KeyStoreException
          24    29      30  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 862
            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 863
            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 864
            goto 7
         3: .line 867
      StackMap locals:
      StackMap stack:
            aload 1 /* handler */
            ifnull 6
         4: .line 868
            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 869
            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 875
      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 877
      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 901
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
            invokevirtual sun.security.pkcs11.Token.ensureValid:()V
         1: .line 903
            aload 2 /* protParam */
            ifnull 6
         2: .line 904
            aload 2 /* protParam */
            instanceof java.security.KeyStore$PasswordProtection
            ifeq 6
         3: .line 905
            aload 2 /* protParam */
            checkcast java.security.KeyStore$PasswordProtection
            invokevirtual java.security.KeyStore$PasswordProtection.getPassword:()[C
            ifnull 6
         4: .line 906
            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 907
            new java.security.KeyStoreException
            dup
            ldc "ProtectionParameter must be null"
            invokespecial java.security.KeyStoreException.<init>:(Ljava/lang/String;)V
            athrow
         6: .line 910
      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 911
            aload 3 /* aliasInfo */
            ifnonnull 14
         8: .line 912
            getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
            ifnull 13
         9: .line 913
            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 914
            aload 1 /* alias */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        11: .line 915
            ldc "] in map"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        12: .line 913
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        13: .line 917
      StackMap locals: sun.security.pkcs11.P11KeyStore$AliasInfo
      StackMap stack:
            aconst_null
            areturn
        14: .line 920
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 4 /* session */
        start local 4 // sun.security.pkcs11.Session session
        15: .line 922
            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 924
            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 926
            getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
            ifnull 19
        18: .line 927
            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 929
      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 973
            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 929
            aload 9
            areturn
        22: .line 930
      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 932
            getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
            ifnull 25
        24: .line 933
            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 936
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
        26: .line 937
            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 936
            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 938
            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 939
            new java.security.KeyStoreException
            dup
        30: .line 940
            ldc "expected but could not find secret key"
        31: .line 939
            invokespecial java.security.KeyStoreException.<init>:(Ljava/lang/String;)V
            athrow
        32: .line 942
      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 943
            new java.security.KeyStore$SecretKeyEntry
            dup
            aload 6 /* skey */
            invokespecial java.security.KeyStore$SecretKeyEntry.<init>:(Ljavax/crypto/SecretKey;)V
            astore 9
        34: .line 973
            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 943
            aload 9
            areturn
        end local 6 // javax.crypto.SecretKey skey
        end local 5 // sun.security.pkcs11.P11KeyStore$THandle h
        36: .line 947
      StackMap locals:
      StackMap stack:
            getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
            ifnull 38
        37: .line 948
            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 951
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
        39: .line 952
            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 951
            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 953
            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 954
            new java.security.KeyStoreException
            dup
        43: .line 955
            ldc "expected but could not find private key"
        44: .line 954
            invokespecial java.security.KeyStoreException.<init>:(Ljava/lang/String;)V
            athrow
        45: .line 957
      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 958
            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 959
            aload 6 /* pkey */
            ifnull 51
            aload 7 /* chain */
            ifnull 51
        48: .line 960
            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 973
            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 960
            aload 9
            areturn
        51: .line 962
      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 963
            getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
        53: .line 964
            ldc "engineGetEntry got null cert chain or private key"
        54: .line 963
            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 973
      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 969
            aconst_null
            areturn
        57: .line 970
      StackMap locals:
      StackMap stack: sun.security.pkcs11.wrapper.PKCS11Exception
            astore 5 /* pe */
        start local 5 // sun.security.pkcs11.wrapper.PKCS11Exception pe
        58: .line 971
            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 972
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 8
        60: .line 973
            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 974
            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 1003
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
            invokevirtual sun.security.pkcs11.Token.ensureValid:()V
         1: .line 1004
            aload 0 /* this */
            invokevirtual sun.security.pkcs11.P11KeyStore.checkWrite:()V
         2: .line 1006
            aload 3 /* protParam */
            ifnull 9
         3: .line 1007
            aload 3 /* protParam */
            instanceof java.security.KeyStore$PasswordProtection
            ifeq 9
         4: .line 1008
            aload 3 /* protParam */
            checkcast java.security.KeyStore$PasswordProtection
            invokevirtual java.security.KeyStore$PasswordProtection.getPassword:()[C
            ifnull 9
         5: .line 1009
            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 1010
            new java.security.KeyStoreException
            dup
            new java.lang.UnsupportedOperationException
            dup
         7: .line 1011
            ldc "ProtectionParameter must be null"
            invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
         8: .line 1010
            invokespecial java.security.KeyStoreException.<init>:(Ljava/lang/Throwable;)V
            athrow
         9: .line 1014
      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 1015
            new java.security.KeyStoreException
            dup
            ldc "token write-protected"
            invokespecial java.security.KeyStoreException.<init>:(Ljava/lang/String;)V
            athrow
        11: .line 1018
      StackMap locals:
      StackMap stack:
            aload 2 /* entry */
            instanceof java.security.KeyStore$TrustedCertificateEntry
            ifeq 32
        12: .line 1020
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.useSecmodTrust:Z
            ifne 16
        13: .line 1022
            new java.security.KeyStoreException
            dup
            new java.lang.UnsupportedOperationException
            dup
        14: .line 1023
            ldc "trusted certificates may only be set by token initialization application"
            invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
        15: .line 1022
            invokespecial java.security.KeyStoreException.<init>:(Ljava/lang/Throwable;)V
            athrow
        16: .line 1026
      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 1027
            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 1029
            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 1032
      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 1033
            aload 5 /* cert */
            instanceof java.security.cert.X509Certificate
            ifne 22
        21: .line 1034
            new java.security.KeyStoreException
            dup
            ldc "Certificate must be an X509Certificate"
            invokespecial java.security.KeyStoreException.<init>:(Ljava/lang/String;)V
            athrow
        22: .line 1036
      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 1037
            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 1038
            aload 7 /* info */
            ifnull 26
        25: .line 1040
            aload 0 /* this */
            aload 1 /* alias */
            invokevirtual sun.security.pkcs11.P11KeyStore.deleteEntry:(Ljava/lang/String;)Z
            pop
        26: .line 1043
      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 1044
            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 1045
            aload 0 /* this */
            invokevirtual sun.security.pkcs11.P11KeyStore.mapLabels:()Z
            pop
        29: .line 1046
            goto 97
      StackMap locals:
      StackMap stack: java.lang.Exception
        30: astore 8 /* e */
        start local 8 // java.lang.Exception e
        31: .line 1047
            new java.security.KeyStoreException
            dup
            aload 8 /* e */
            invokespecial java.security.KeyStoreException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 8 // java.lang.Exception 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
        32: .line 1052
      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 78
        33: .line 1055
            aload 2 /* entry */
            checkcast java.security.KeyStore$PrivateKeyEntry
            invokevirtual java.security.KeyStore$PrivateKeyEntry.getPrivateKey:()Ljava/security/PrivateKey;
        34: .line 1054
            astore 4 /* key */
        start local 4 // java.security.PrivateKey key
        35: .line 1056
            aload 4 /* key */
            instanceof sun.security.pkcs11.P11Key
            ifne 43
        36: .line 1057
            aload 4 /* key */
            instanceof java.security.interfaces.RSAPrivateKey
            ifne 43
        37: .line 1058
            aload 4 /* key */
            instanceof java.security.interfaces.DSAPrivateKey
            ifne 43
        38: .line 1059
            aload 4 /* key */
            instanceof javax.crypto.interfaces.DHPrivateKey
            ifne 43
        39: .line 1060
            aload 4 /* key */
            instanceof java.security.interfaces.ECPrivateKey
            ifne 43
        40: .line 1061
            new java.security.KeyStoreException
            dup
            new java.lang.StringBuilder
            dup
            ldc "unsupported key type: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        41: .line 1062
            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;
        42: .line 1061
            invokespecial java.security.KeyStoreException.<init>:(Ljava/lang/String;)V
            athrow
        43: .line 1067
      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;
        44: .line 1066
            astore 5 /* chain */
        start local 5 // java.security.cert.Certificate[] chain
        45: .line 1068
            aload 5 /* chain */
            instanceof java.security.cert.X509Certificate[]
            ifne 53
        46: .line 1069
            new java.security.KeyStoreException
            dup
        47: .line 1070
            new java.lang.UnsupportedOperationException
            dup
        48: .line 1071
            new java.lang.StringBuilder
            dup
            ldc "unsupported certificate array type: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        49: .line 1072
            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;
        50: .line 1071
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        51: .line 1070
            invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
        52: .line 1069
            invokespecial java.security.KeyStoreException.<init>:(Ljava/lang/Throwable;)V
            athrow
        53: .line 1076
      StackMap locals: java.security.cert.Certificate[]
      StackMap stack:
            iconst_0
            istore 6 /* updatedAlias */
        start local 6 // boolean updatedAlias
        54: .line 1077
            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
        55: .line 1078
            aload 7 /* aliases */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 9
            goto 71
      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:
        56: aload 9
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 8 /* oldAlias */
        start local 8 // java.lang.String oldAlias
        57: .line 1082
            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
        58: .line 1083
            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 71
        59: .line 1084
            aload 10 /* aliasInfo */
            getfield sun.security.pkcs11.P11KeyStore$AliasInfo.cert:Ljava/security/cert/X509Certificate;
            invokevirtual java.security.cert.X509Certificate.getPublicKey:()Ljava/security/PublicKey;
        60: .line 1085
            aload 5 /* chain */
            iconst_0
            aaload
            invokevirtual java.security.cert.Certificate.getPublicKey:()Ljava/security/PublicKey;
        61: .line 1084
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
        62: .line 1085
            ifeq 71
        63: .line 1093
            aload 0 /* this */
            aload 1 /* alias */
        64: .line 1094
            aload 10 /* aliasInfo */
            getfield sun.security.pkcs11.P11KeyStore$AliasInfo.id:[B
        65: .line 1095
            aload 5 /* chain */
            checkcast java.security.cert.X509Certificate[]
        66: .line 1096
            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 67
            iconst_0
            goto 68
      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[]
        67: iconst_1
        68: .line 1093
      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
        69: .line 1097
            iconst_1
            istore 6 /* updatedAlias */
        70: .line 1098
            goto 72
        end local 10 // sun.security.pkcs11.P11KeyStore$AliasInfo aliasInfo
        end local 8 // java.lang.String oldAlias
        71: .line 1078
      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 56
        72: .line 1102
      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 91
        73: .line 1104
            aload 0 /* this */
            aload 1 /* alias */
            invokevirtual sun.security.pkcs11.P11KeyStore.engineDeleteEntry:(Ljava/lang/String;)V
        74: .line 1105
            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
        75: .line 1108
            goto 91
      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: java.lang.Exception
        76: astore 6 /* pe */
        start local 6 // java.lang.Exception pe
        77: .line 1109
            new java.security.KeyStoreException
            dup
            aload 6 /* pe */
            invokespecial java.security.KeyStoreException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 6 // java.lang.Exception pe
        end local 5 // java.security.cert.Certificate[] chain
        end local 4 // java.security.PrivateKey key
        78: .line 1112
      StackMap locals:
      StackMap stack:
            aload 2 /* entry */
            instanceof java.security.KeyStore$SecretKeyEntry
            ifeq 88
        79: .line 1114
            aload 2 /* entry */
            checkcast java.security.KeyStore$SecretKeyEntry
            astore 4 /* ske */
        start local 4 // java.security.KeyStore$SecretKeyEntry ske
        80: .line 1115
            aload 4 /* ske */
            invokevirtual java.security.KeyStore$SecretKeyEntry.getSecretKey:()Ljavax/crypto/SecretKey;
            pop
        81: .line 1119
            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 5 /* aliasInfo */
        start local 5 // sun.security.pkcs11.P11KeyStore$AliasInfo aliasInfo
        82: .line 1121
            aload 5 /* aliasInfo */
            ifnull 84
        83: .line 1122
            aload 0 /* this */
            aload 1 /* alias */
            invokevirtual sun.security.pkcs11.P11KeyStore.engineDeleteEntry:(Ljava/lang/String;)V
        84: .line 1124
      StackMap locals: java.security.KeyStore$SecretKeyEntry sun.security.pkcs11.P11KeyStore$AliasInfo
      StackMap stack:
            aload 0 /* this */
            aload 1 /* alias */
            aload 4 /* ske */
            invokevirtual sun.security.pkcs11.P11KeyStore.storeSkey:(Ljava/lang/String;Ljava/security/KeyStore$SecretKeyEntry;)V
        end local 5 // sun.security.pkcs11.P11KeyStore$AliasInfo aliasInfo
        85: .line 1126
            goto 91
      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
        86: astore 5 /* pe */
        start local 5 // sun.security.pkcs11.wrapper.PKCS11Exception pe
        87: .line 1127
            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
        88: .line 1131
      StackMap locals:
      StackMap stack:
            new java.security.KeyStoreException
            dup
            new java.lang.UnsupportedOperationException
            dup
        89: .line 1132
            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
        90: .line 1131
            invokespecial java.security.KeyStoreException.<init>:(Ljava/lang/Throwable;)V
            athrow
        91: .line 1142
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual sun.security.pkcs11.P11KeyStore.mapLabels:()Z
            pop
        92: .line 1143
            getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
            ifnull 97
        93: .line 1144
            aload 0 /* this */
            invokevirtual sun.security.pkcs11.P11KeyStore.dumpTokenMap:()V
        94: .line 1146
            goto 97
      StackMap locals:
      StackMap stack: java.lang.Exception
        95: astore 4 /* pe */
        start local 4 // java.lang.Exception pe
        96: .line 1147
            new java.security.KeyStoreException
            dup
            aload 4 /* pe */
            invokespecial java.security.KeyStoreException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 4 // java.lang.Exception pe
        97: .line 1151
      StackMap locals:
      StackMap stack:
            getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
            ifnull 104
        98: .line 1152
            getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
        99: .line 1153
            new java.lang.StringBuilder
            dup
            ldc "engineSetEntry added new entry for ["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
       100: .line 1154
            aload 1 /* alias */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
       101: .line 1155
            ldc "] to token"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
       102: .line 1153
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
       103: .line 1152
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
       104: .line 1157
      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  105     0          this  Lsun/security/pkcs11/P11KeyStore;
            0  105     1         alias  Ljava/lang/String;
            0  105     2         entry  Ljava/security/KeyStore$Entry;
            0  105     3     protParam  Ljava/security/KeyStore$ProtectionParameter;
           17   32     4        module  Lsun/security/pkcs11/Secmod$Module;
           20   32     5          cert  Ljava/security/cert/Certificate;
           23   32     6         xcert  Ljava/security/cert/X509Certificate;
           24   32     7          info  Lsun/security/pkcs11/P11KeyStore$AliasInfo;
           31   32     8             e  Ljava/lang/Exception;
           35   78     4           key  Ljava/security/PrivateKey;
           45   78     5         chain  [Ljava/security/cert/Certificate;
           54   75     6  updatedAlias  Z
           55   75     7       aliases  Ljava/util/Set<Ljava/lang/String;>;
           57   71     8      oldAlias  Ljava/lang/String;
           58   71    10     aliasInfo  Lsun/security/pkcs11/P11KeyStore$AliasInfo;
           77   78     6            pe  Ljava/lang/Exception;
           80   88     4           ske  Ljava/security/KeyStore$SecretKeyEntry;
           82   85     5     aliasInfo  Lsun/security/pkcs11/P11KeyStore$AliasInfo;
           87   88     5            pe  Lsun/security/pkcs11/wrapper/PKCS11Exception;
           96   97     4            pe  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
          26    29      30  Class sun.security.pkcs11.wrapper.PKCS11Exception
          26    29      30  Class java.security.cert.CertificateException
          53    75      76  Class sun.security.pkcs11.wrapper.PKCS11Exception
          53    75      76  Class java.security.cert.CertificateException
          81    85      86  Class sun.security.pkcs11.wrapper.PKCS11Exception
          91    94      95  Class sun.security.pkcs11.wrapper.PKCS11Exception
          91    94      95  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 1173
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
            invokevirtual sun.security.pkcs11.Token.ensureValid:()V
         1: .line 1174
            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 1181
            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 1180
            astore 4 /* attrs */
        start local 4 // sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] attrs
         2: .line 1182
            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 1184
            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 1185
            aload 5 /* bytes */
            ifnonnull 8
         5: .line 1186
            new java.security.cert.CertificateException
            dup
         6: .line 1187
            ldc "unexpectedly retrieved null byte array"
         7: .line 1186
            invokespecial java.security.cert.CertificateException.<init>:(Ljava/lang/String;)V
            athrow
         8: .line 1189
      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 1190
            aload 6 /* cf */
        10: .line 1191
            new java.io.ByteArrayInputStream
            dup
            aload 5 /* bytes */
            invokespecial java.io.ByteArrayInputStream.<init>:([B)V
        11: .line 1190
            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 1198
            aconst_null
            astore 3 /* lChain */
        start local 3 // java.util.ArrayList lChain
         1: .line 1200
            aload 2 /* endCert */
            invokevirtual java.security.cert.X509Certificate.getSubjectX500Principal:()Ljavax/security/auth/x500/X500Principal;
         2: .line 1201
            aload 2 /* endCert */
            invokevirtual java.security.cert.X509Certificate.getIssuerX500Principal:()Ljavax/security/auth/x500/X500Principal;
         3: .line 1200
            invokevirtual javax.security.auth.x500.X500Principal.equals:(Ljava/lang/Object;)Z
         4: .line 1201
            ifeq 6
         5: .line 1203
            iconst_1
            anewarray java.security.cert.X509Certificate
            dup
            iconst_0
            aload 2 /* endCert */
            aastore
            areturn
         6: .line 1205
      StackMap locals: java.util.ArrayList
      StackMap stack:
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 3 /* lChain */
         7: .line 1206
            aload 3 /* lChain */
            aload 2 /* endCert */
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
         8: .line 1212
            aload 2 /* endCert */
            astore 4 /* next */
        start local 4 // java.security.cert.X509Certificate next
         9: .line 1214
      StackMap locals: java.security.cert.X509Certificate
      StackMap stack:
            iconst_3
            anewarray sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            iconst_0
        10: .line 1215
            getstatic sun.security.pkcs11.P11KeyStore.ATTR_TOKEN_TRUE:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            aastore
            dup
            iconst_1
        11: .line 1216
            getstatic sun.security.pkcs11.P11KeyStore.ATTR_CLASS_CERT:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            aastore
            dup
            iconst_2
        12: .line 1217
            new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            ldc 257
        13: .line 1218
            aload 4 /* next */
            invokevirtual java.security.cert.X509Certificate.getIssuerX500Principal:()Ljavax/security/auth/x500/X500Principal;
            invokevirtual javax.security.auth.x500.X500Principal.getEncoded:()[B
        14: .line 1217
            invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JLjava/lang/Object;)V
            aastore
        15: .line 1214
            astore 5 /* attrs */
        start local 5 // sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] attrs
        16: .line 1219
            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 1221
            aload 6 /* ch */
            ifnull 32
            aload 6 /* ch */
            arraylength
            ifne 19
        18: .line 1223
            goto 32
        19: .line 1226
      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 1227
            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 1228
            aload 6 /* ch */
            arraylength
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
        22: .line 1229
            ldc " certificate entries for subject ["
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        23: .line 1230
            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 1231
            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 1227
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        26: .line 1234
      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 1235
            aload 3 /* lChain */
            aload 4 /* next */
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        28: .line 1236
            aload 4 /* next */
            invokevirtual java.security.cert.X509Certificate.getSubjectX500Principal:()Ljavax/security/auth/x500/X500Principal;
        29: .line 1237
            aload 4 /* next */
            invokevirtual java.security.cert.X509Certificate.getIssuerX500Principal:()Ljavax/security/auth/x500/X500Principal;
        30: .line 1236
            invokevirtual javax.security.auth.x500.X500Principal.equals:(Ljava/lang/Object;)Z
        31: .line 1237
            ifeq 9
        end local 6 // long[] ch
        end local 5 // sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] attrs
        32: .line 1244
      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 1250
            iconst_1
            anewarray sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            iconst_0
         1: .line 1251
            new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            ldc 256
            invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(J)V
            aastore
         2: .line 1250
            astore 4 /* attrs */
        start local 4 // sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] attrs
         3: .line 1252
            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 1253
            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 1255
            aconst_null
            astore 7 /* keyType */
        start local 7 // java.lang.String keyType
         6: .line 1256
            iconst_m1
            istore 8 /* keyLength */
        start local 8 // int keyLength
         7: .line 1260
            lload 5 /* kType */
            ldc 19
            lcmp
            ifeq 8
            lload 5 /* kType */
            ldc 21
            lcmp
            ifne 16
         8: .line 1261
      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 1262
            ldc "DES"
            astore 7 /* keyType */
        10: .line 1263
            bipush 64
            istore 8 /* keyLength */
        11: .line 1264
            goto 34
      StackMap locals:
      StackMap stack:
        12: lload 5 /* kType */
            ldc 21
            lcmp
            ifne 34
        13: .line 1265
            ldc "DESede"
            astore 7 /* keyType */
        14: .line 1266
            sipush 192
            istore 8 /* keyLength */
        15: .line 1268
            goto 34
        16: .line 1269
      StackMap locals:
      StackMap stack:
            lload 5 /* kType */
            ldc 31
            lcmp
            ifne 19
        17: .line 1270
            ldc "AES"
            astore 7 /* keyType */
        18: .line 1271
            goto 31
      StackMap locals:
      StackMap stack:
        19: lload 5 /* kType */
            ldc 32
            lcmp
            ifne 22
        20: .line 1272
            ldc "Blowfish"
            astore 7 /* keyType */
        21: .line 1273
            goto 31
      StackMap locals:
      StackMap stack:
        22: lload 5 /* kType */
            ldc 18
            lcmp
            ifne 25
        23: .line 1274
            ldc "ARCFOUR"
            astore 7 /* keyType */
        24: .line 1275
            goto 31
        25: .line 1276
      StackMap locals:
      StackMap stack:
            getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
            ifnull 30
        26: .line 1277
            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 1278
            lload 5 /* kType */
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
        28: .line 1279
            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 1277
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        30: .line 1281
      StackMap locals:
      StackMap stack:
            ldc "Generic Secret"
            astore 7 /* keyType */
        31: .line 1288
      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 1289
            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 1290
            aload 4 /* attrs */
            iconst_0
            aaload
            invokevirtual sun.security.pkcs11.wrapper.CK_ATTRIBUTE.getLong:()J
            l2i
            istore 8 /* keyLength */
        34: .line 1294
      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 1300
            iconst_1
            anewarray sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            iconst_0
         1: .line 1301
            new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            ldc 256
            invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(J)V
            aastore
         2: .line 1300
            astore 4 /* attrs */
        start local 4 // sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] attrs
         3: .line 1302
            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 1303
            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 1304
            aconst_null
            astore 7 /* keyType */
        start local 7 // java.lang.String keyType
         6: .line 1305
            iconst_0
            istore 8 /* keyLength */
        start local 8 // int keyLength
         7: .line 1307
            lload 5 /* kType */
            lconst_0
            lcmp
            ifne 25
         8: .line 1309
            ldc "RSA"
            astore 7 /* keyType */
         9: .line 1311
            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 1312
            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 1313
            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 1314
            aload 9 /* modulus */
            invokevirtual java.math.BigInteger.bitLength:()I
            istore 8 /* keyLength */
        13: .line 1319
            iload 8 /* keyLength */
            aconst_null
        14: .line 1320
            iconst_m1
            ldc 2147483647
        15: .line 1319
            invokestatic sun.security.rsa.RSAKeyFactory.checkKeyLengths:(ILjava/math/BigInteger;II)V
        16: .line 1321
            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 1322
            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 1325
      StackMap locals:
      StackMap stack:
            aload 1 /* session */
        20: .line 1326
            lload 2 /* oHandle */
        21: .line 1327
            aload 7 /* keyType */
        22: .line 1328
            iload 8 /* keyLength */
        23: .line 1329
            aconst_null
        24: .line 1325
            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 1331
      StackMap locals:
      StackMap stack:
            lload 5 /* kType */
            lconst_1
            lcmp
            ifne 37
        26: .line 1333
            ldc "DSA"
            astore 7 /* keyType */
        27: .line 1335
            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 1336
            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 1337
            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 1338
            aload 9 /* prime */
            invokevirtual java.math.BigInteger.bitLength:()I
            istore 8 /* keyLength */
        31: .line 1340
            aload 1 /* session */
        32: .line 1341
            lload 2 /* oHandle */
        33: .line 1342
            aload 7 /* keyType */
        34: .line 1343
            iload 8 /* keyLength */
        35: .line 1344
            aconst_null
        36: .line 1340
            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 1346
      StackMap locals:
      StackMap stack:
            lload 5 /* kType */
            ldc 2
            lcmp
            ifne 49
        38: .line 1348
            ldc "DH"
            astore 7 /* keyType */
        39: .line 1350
            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 1351
            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 1352
            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 1353
            aload 9 /* prime */
            invokevirtual java.math.BigInteger.bitLength:()I
            istore 8 /* keyLength */
        43: .line 1355
            aload 1 /* session */
        44: .line 1356
            lload 2 /* oHandle */
        45: .line 1357
            aload 7 /* keyType */
        46: .line 1358
            iload 8 /* keyLength */
        47: .line 1359
            aconst_null
        48: .line 1355
            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 1361
      StackMap locals:
      StackMap stack:
            lload 5 /* kType */
            ldc 3
            lcmp
            ifne 62
        50: .line 1363
            iconst_1
            anewarray sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            iconst_0
        51: .line 1364
            new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            ldc 384
            invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(J)V
            aastore
        52: .line 1363
            astore 4 /* attrs */
        53: .line 1366
            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 1367
            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 1370
            aconst_null
            aload 9 /* encodedParams */
            invokestatic sun.security.util.ECUtil.getECParameterSpec:(Ljava/security/Provider;[B)Ljava/security/spec/ECParameterSpec;
        56: .line 1369
            astore 10 /* params */
        start local 10 // java.security.spec.ECParameterSpec params
        57: .line 1371
            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
        58: .line 1372
            goto 61
      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
        59: astore 10 /* e */
        start local 10 // java.io.IOException e
        60: .line 1374
            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
        61: .line 1377
      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
        62: .line 1380
      StackMap locals:
      StackMap stack:
            getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
            ifnull 64
        63: .line 1381
            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
        64: .line 1383
      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   65     0           this  Lsun/security/pkcs11/P11KeyStore;
            0   65     1        session  Lsun/security/pkcs11/Session;
            0   65     2        oHandle  J
            3   65     4          attrs  [Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            5   65     5          kType  J
            6   65     7        keyType  Ljava/lang/String;
            7   65     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   62     9  encodedParams  [B
           57   58    10         params  Ljava/security/spec/ECParameterSpec;
           60   61    10              e  Ljava/io/IOException;
      Exception table:
        from    to  target  type
          13    16      17  Class java.security.InvalidKeyException
          55    58      59  Class java.io.IOException
    Exceptions:
      throws sun.security.pkcs11.wrapper.PKCS11Exception, java.security.KeyStoreException
    MethodParameters:
         Name  Flags
      session  
      oHandle  

  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 1418
            iconst_1
            istore 4 /* replaceCert */
         1: .line 1420
            aconst_null
            astore 5 /* session */
        start local 5 // sun.security.pkcs11.Session session
         2: .line 1422
            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 1426
            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 1428
            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 1429
            aload 6 /* h */
            getfield sun.security.pkcs11.P11KeyStore$THandle.handle:J
            lstore 7 /* pKeyHandle */
        start local 7 // long pKeyHandle
         6: .line 1430
            goto 12
        end local 7 // long pKeyHandle
         7: .line 1431
      StackMap locals: sun.security.pkcs11.Session sun.security.pkcs11.P11KeyStore$THandle
      StackMap stack:
            new java.security.KeyStoreException
            dup
         8: .line 1432
            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 1434
            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 1432
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        11: .line 1431
            invokespecial java.security.KeyStoreException.<init>:(Ljava/lang/String;)V
            athrow
        start local 7 // long pKeyHandle
        12: .line 1439
      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 1440
            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 1441
            new java.security.KeyStoreException
            dup
        15: .line 1442
            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 1444
            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 1442
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        18: .line 1441
            invokespecial java.security.KeyStoreException.<init>:(Ljava/lang/String;)V
            athrow
        19: .line 1446
      StackMap locals:
      StackMap stack:
            iload 4 /* replaceCert */
            ifeq 22
        20: .line 1448
            aload 0 /* this */
            aload 2 /* cka_id */
            invokevirtual sun.security.pkcs11.P11KeyStore.destroyChain:([B)Z
            pop
        21: .line 1449
            goto 29
        22: .line 1451
      StackMap locals:
      StackMap stack:
            iconst_2
            anewarray sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            iconst_0
        23: .line 1452
            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 1453
            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 1451
            astore 9 /* attrs */
        start local 9 // sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] attrs
        26: .line 1454
            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 1455
            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 1454
            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 1461
      StackMap locals:
      StackMap stack:
            iload 4 /* replaceCert */
            ifeq 32
        30: .line 1463
            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 1464
            goto 33
        32: .line 1467
      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 1474
      StackMap locals:
      StackMap stack:
            iconst_1
            anewarray sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            iconst_0
        34: .line 1475
            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 1474
            astore 9 /* attrs */
        start local 9 // sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] attrs
        36: .line 1476
            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 1478
            getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
            ifnull 46
        38: .line 1479
            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 1480
            aload 1 /* alias */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        40: .line 1481
            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 1479
            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 1483
            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 1484
            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 1485
            aload 10
            athrow
        46: .line 1484
      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 1486
            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 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 1494
            aconst_null
            astore 4 /* session */
        start local 4 // sun.security.pkcs11.Session session
         1: .line 1496
            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 1497
            aload 3 /* key */
            getfield sun.security.pkcs11.P11Key.tokenObject:Z
            ifeq 15
         3: .line 1501
            iconst_1
            anewarray sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            iconst_0
         4: .line 1502
            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 1501
            astore 5 /* attrs */
        start local 5 // sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] attrs
         6: .line 1503
            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 1504
            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 1503
            invokevirtual sun.security.pkcs11.wrapper.PKCS11.C_SetAttributeValue:(JJ[Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;)V
         9: .line 1505
            getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
            ifnull 31
        10: .line 1506
            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 1507
            aload 1 /* alias */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        12: .line 1508
            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 1506
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        end local 5 // sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] attrs
        14: .line 1510
            goto 31
        15: .line 1514
      StackMap locals: sun.security.pkcs11.Session
      StackMap stack:
            iconst_2
            anewarray sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            iconst_0
        16: .line 1515
            getstatic sun.security.pkcs11.P11KeyStore.ATTR_TOKEN_TRUE:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            aastore
            dup
            iconst_1
        17: .line 1516
            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 1514
            astore 5 /* attrs */
        start local 5 // sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] attrs
        19: .line 1518
            aload 2 /* attribute */
            ifnull 21
        20: .line 1519
            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 1521
      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 1522
            getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
            ifnull 31
        23: .line 1523
            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 1525
            aload 1 /* alias */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        25: .line 1526
            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 1523
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        end local 5 // sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] attrs
        27: .line 1529
            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 1530
            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 1531
            aload 6
            athrow
        31: .line 1530
      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 1532
            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 1537
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 3 /* attrList */
        start local 3 // java.util.ArrayList attrList
         1: .line 1538
            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 1539
            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 1540
            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 1541
            aload 3 /* attrList */
            new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            ldc 257
         5: .line 1542
            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 1541
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
         7: .line 1543
            aload 3 /* attrList */
            new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            ldc 129
         8: .line 1544
            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 1543
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        10: .line 1545
            aload 3 /* attrList */
            new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            ldc 130
        11: .line 1546
            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 1545
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        13: .line 1547
            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 1549
            aload 1 /* alias */
            ifnull 18
        15: .line 1550
            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 1551
            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 1552
            goto 25
        18: .line 1555
      StackMap locals: java.util.ArrayList
      StackMap stack:
            aload 3 /* attrList */
            new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            ldc 258
        19: .line 1556
            aload 0 /* this */
            aload 2 /* cert */
            invokevirtual java.security.cert.X509Certificate.getSubjectX500Principal:()Ljavax/security/auth/x500/X500Principal;
        20: .line 1557
            ldc "CANONICAL"
        21: .line 1556
            invokevirtual javax.security.auth.x500.X500Principal.getName:(Ljava/lang/String;)Ljava/lang/String;
        22: .line 1557
            aload 2 /* cert */
        23: .line 1556
            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 1555
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        25: .line 1560
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 4 /* session */
        start local 4 // sun.security.pkcs11.Session session
        26: .line 1562
            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 1563
            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 1564
            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 1563
            invokevirtual sun.security.pkcs11.wrapper.PKCS11.C_CreateObject:(J[Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;)J
            pop2
        30: .line 1565
            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 1566
            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 1567
            aload 5
            athrow
        34: .line 1566
      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 1568
            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 1578
            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 1579
            aload 0 /* this */
            aload 2 /* chain */
            iconst_1
            invokevirtual sun.security.pkcs11.P11KeyStore.storeCaCerts:([Ljava/security/cert/X509Certificate;I)V
         2: .line 1580
            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 1589
            aconst_null
            astore 3 /* session */
        start local 3 // sun.security.pkcs11.Session session
         1: .line 1590
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 4 /* cacerts */
        start local 4 // java.util.HashSet cacerts
         2: .line 1592
            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 1593
            iconst_2
            anewarray sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            iconst_0
         4: .line 1594
            getstatic sun.security.pkcs11.P11KeyStore.ATTR_TOKEN_TRUE:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            aastore
            dup
            iconst_1
         5: .line 1595
            getstatic sun.security.pkcs11.P11KeyStore.ATTR_CLASS_CERT:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            aastore
         6: .line 1593
            astore 5 /* attrs */
        start local 5 // sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] attrs
         7: .line 1596
            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 1599
            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 1600
            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 1599
            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 1602
            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 1603
            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 1604
            aload 12
            athrow
        17: .line 1603
      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 1606
            iload 2 /* start */
            istore 5 /* i */
        start local 5 // int i
        19: goto 29
        20: .line 1607
      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 1608
            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 1609
            goto 28
      StackMap locals:
      StackMap stack:
        23: getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
            ifnull 28
        24: .line 1610
            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 1611
            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 1612
            ldc "]"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        27: .line 1610
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        28: .line 1606
      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 1615
            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=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.KeyStore$SecretKeyEntry ske
         0: .line 1620
            aload 2 /* ske */
            invokevirtual java.security.KeyStore$SecretKeyEntry.getSecretKey:()Ljavax/crypto/SecretKey;
            astore 3 /* skey */
        start local 3 // javax.crypto.SecretKey skey
         1: .line 1623
            iconst_3
            anewarray sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            iconst_0
         2: .line 1624
            getstatic sun.security.pkcs11.P11KeyStore.ATTR_SKEY_TOKEN_TRUE:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            aastore
            dup
            iconst_1
         3: .line 1625
            getstatic sun.security.pkcs11.P11KeyStore.ATTR_PRIVATE_TRUE:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            aastore
            dup
            iconst_2
         4: .line 1626
            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 1623
            astore 4 /* attrs */
        start local 4 // sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] attrs
         6: .line 1629
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
            aload 3 /* skey */
            aconst_null
            aload 4 /* attrs */
            invokestatic sun.security.pkcs11.P11SecretKeyFactory.convertKey:(Lsun/security/pkcs11/Token;Ljava/security/Key;Ljava/lang/String;[Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;)Lsun/security/pkcs11/P11Key;
            pop
         7: .line 1630
            goto 10
      StackMap locals: sun.security.pkcs11.P11KeyStore java.lang.String java.security.KeyStore$SecretKeyEntry javax.crypto.SecretKey sun.security.pkcs11.wrapper.CK_ATTRIBUTE[]
      StackMap stack: java.security.InvalidKeyException
         8: astore 5 /* ike */
        start local 5 // java.security.InvalidKeyException ike
         9: .line 1632
            new java.security.KeyStoreException
            dup
            ldc "Cannot convert to PKCS11 keys"
            aload 5 /* ike */
            invokespecial java.security.KeyStoreException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 5 // java.security.InvalidKeyException ike
        10: .line 1636
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.aliasMap:Ljava/util/HashMap;
            aload 1 /* alias */
            new sun.security.pkcs11.P11KeyStore$AliasInfo
            dup
            aload 1 /* alias */
            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
        11: .line 1638
            getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
            ifnull 15
        12: .line 1639
            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
        13: .line 1640
            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;
        14: .line 1639
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        15: .line 1642
      StackMap locals:
      StackMap stack:
            return
        end local 4 // sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] attrs
        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   16     0   this  Lsun/security/pkcs11/P11KeyStore;
            0   16     1  alias  Ljava/lang/String;
            0   16     2    ske  Ljava/security/KeyStore$SecretKeyEntry;
            1   16     3   skey  Ljavax/crypto/SecretKey;
            6   16     4  attrs  [Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            9   10     5    ike  Ljava/security/InvalidKeyException;
      Exception table:
        from    to  target  type
           6     7       8  Class java.security.InvalidKeyException
    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 1645
            aload 0 /* attrs */
            arraylength
            istore 2 /* n */
        start local 2 // int n
         1: .line 1646
            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 1647
            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 1648
            aload 3 /* newAttrs */
            iload 2 /* n */
            aload 1 /* attr */
            aastore
         4: .line 1649
            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 1655
            aload 2 /* pke */
            invokevirtual java.security.KeyStore$PrivateKeyEntry.getPrivateKey:()Ljava/security/PrivateKey;
            astore 3 /* key */
        start local 3 // java.security.PrivateKey key
         1: .line 1656
            aconst_null
            astore 4 /* attrs */
        start local 4 // sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] attrs
         2: .line 1661
            aload 3 /* key */
            instanceof sun.security.pkcs11.P11Key
            ifeq 8
         3: .line 1662
            aload 3 /* key */
            checkcast sun.security.pkcs11.P11Key
            astore 5 /* p11Key */
        start local 5 // sun.security.pkcs11.P11Key p11Key
         4: .line 1663
            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 1664
            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 1665
            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 1666
            return
        end local 5 // sun.security.pkcs11.P11Key p11Key
         8: .line 1670
      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 1671
            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 1673
            aload 3 /* key */
            instanceof java.security.interfaces.RSAPrivateKey
            ifeq 16
        11: .line 1675
            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 1676
            aload 0 /* this */
        13: .line 1677
            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 1676
            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 1679
            goto 99
      StackMap locals: int java.security.PublicKey
      StackMap stack:
        16: aload 3 /* key */
            instanceof java.security.interfaces.DSAPrivateKey
            ifeq 40
        17: .line 1681
            aload 3 /* key */
            checkcast java.security.interfaces.DSAPrivateKey
            astore 7 /* dsaKey */
        start local 7 // java.security.interfaces.DSAPrivateKey dsaKey
        18: .line 1683
            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 1684
            aload 8 /* idAttrs */
            iconst_0
            aaload
            ifnonnull 21
        20: .line 1685
            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 1688
      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 1689
            getstatic sun.security.pkcs11.P11KeyStore.ATTR_TOKEN_TRUE:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            aastore
            dup
            iconst_1
        23: .line 1690
            getstatic sun.security.pkcs11.P11KeyStore.ATTR_CLASS_PKEY:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            aastore
            dup
            iconst_2
        24: .line 1691
            getstatic sun.security.pkcs11.P11KeyStore.ATTR_PRIVATE_TRUE:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            aastore
            dup
            iconst_3
        25: .line 1692
            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 1693
            aload 8 /* idAttrs */
            iconst_0
            aaload
            aastore
            dup
            iconst_5
        27: .line 1694
            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 1695
            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 1696
            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 1697
            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 1688
            astore 4 /* attrs */
        32: .line 1699
            aload 8 /* idAttrs */
            iconst_1
            aaload
            ifnull 34
        33: .line 1700
            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 1703
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
        35: .line 1704
            ldc "import"
            ldc 3
            lconst_1
            aload 4 /* attrs */
        36: .line 1703
            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 1706
            getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
            ifnull 99
        38: .line 1707
            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 1710
            goto 99
      StackMap locals:
      StackMap stack:
        40: aload 3 /* key */
            instanceof javax.crypto.interfaces.DHPrivateKey
            ifeq 61
        41: .line 1712
            aload 3 /* key */
            checkcast javax.crypto.interfaces.DHPrivateKey
            astore 7 /* dhKey */
        start local 7 // javax.crypto.interfaces.DHPrivateKey dhKey
        42: .line 1714
            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 1715
            aload 8 /* idAttrs */
            iconst_0
            aaload
            ifnonnull 45
        44: .line 1716
            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 1719
      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 1720
            getstatic sun.security.pkcs11.P11KeyStore.ATTR_TOKEN_TRUE:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            aastore
            dup
            iconst_1
        47: .line 1721
            getstatic sun.security.pkcs11.P11KeyStore.ATTR_CLASS_PKEY:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            aastore
            dup
            iconst_2
        48: .line 1722
            getstatic sun.security.pkcs11.P11KeyStore.ATTR_PRIVATE_TRUE:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            aastore
            dup
            iconst_3
        49: .line 1723
            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 1724
            aload 8 /* idAttrs */
            iconst_0
            aaload
            aastore
            dup
            iconst_5
        51: .line 1725
            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 1726
            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 1727
            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 1719
            astore 4 /* attrs */
        55: .line 1729
            aload 8 /* idAttrs */
            iconst_1
            aaload
            ifnull 57
        56: .line 1730
            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 1733
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
        58: .line 1734
            ldc "import"
            ldc 3
            ldc 2
            aload 4 /* attrs */
        59: .line 1733
            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 1736
            goto 99
      StackMap locals:
      StackMap stack:
        61: aload 3 /* key */
            instanceof java.security.interfaces.ECPrivateKey
            ifeq 85
        62: .line 1738
            aload 3 /* key */
            checkcast java.security.interfaces.ECPrivateKey
            astore 7 /* ecKey */
        start local 7 // java.security.interfaces.ECPrivateKey ecKey
        63: .line 1740
            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 1741
            aload 8 /* idAttrs */
            iconst_0
            aaload
            ifnonnull 66
        65: .line 1742
            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 1746
      StackMap locals: java.security.interfaces.ECPrivateKey sun.security.pkcs11.wrapper.CK_ATTRIBUTE[]
      StackMap stack:
            aconst_null
            aload 7 /* ecKey */
            invokeinterface java.security.interfaces.ECPrivateKey.getParams:()Ljava/security/spec/ECParameterSpec;
            invokestatic sun.security.util.ECUtil.encodeECParameterSpec:(Ljava/security/Provider;Ljava/security/spec/ECParameterSpec;)[B
        67: .line 1745
            astore 9 /* encodedParams */
        start local 9 // byte[] encodedParams
        68: .line 1747
            bipush 7
            anewarray sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            iconst_0
        69: .line 1748
            getstatic sun.security.pkcs11.P11KeyStore.ATTR_TOKEN_TRUE:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            aastore
            dup
            iconst_1
        70: .line 1749
            getstatic sun.security.pkcs11.P11KeyStore.ATTR_CLASS_PKEY:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            aastore
            dup
            iconst_2
        71: .line 1750
            getstatic sun.security.pkcs11.P11KeyStore.ATTR_PRIVATE_TRUE:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            aastore
            dup
            iconst_3
        72: .line 1751
            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
        73: .line 1752
            aload 8 /* idAttrs */
            iconst_0
            aaload
            aastore
            dup
            iconst_5
        74: .line 1753
            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
        75: .line 1754
            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
        76: .line 1747
            astore 4 /* attrs */
        77: .line 1756
            aload 8 /* idAttrs */
            iconst_1
            aaload
            ifnull 79
        78: .line 1757
            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 */
        79: .line 1760
      StackMap locals: byte[]
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
        80: .line 1761
            ldc "import"
            ldc 3
            ldc 3
            aload 4 /* attrs */
        81: .line 1760
            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 */
        82: .line 1763
            getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
            ifnull 99
        83: .line 1764
            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
        84: .line 1767
            goto 99
      StackMap locals:
      StackMap stack:
        85: aload 3 /* key */
            instanceof sun.security.pkcs11.P11Key
            ifeq 98
        86: .line 1769
            aload 3 /* key */
            checkcast sun.security.pkcs11.P11Key
            astore 7 /* p11Key */
        start local 7 // sun.security.pkcs11.P11Key p11Key
        87: .line 1770
            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 91
        88: .line 1771
            new java.security.KeyStoreException
            dup
        89: .line 1772
            ldc "Cannot move sensitive keys across tokens"
        90: .line 1771
            invokespecial java.security.KeyStoreException.<init>:(Ljava/lang/String;)V
            athrow
        91: .line 1774
      StackMap locals: sun.security.pkcs11.P11Key
      StackMap stack:
            aconst_null
            astore 8 /* netscapeDB */
        start local 8 // sun.security.pkcs11.wrapper.CK_ATTRIBUTE netscapeDB
        92: .line 1775
            iload 5 /* useNDB */
            ifeq 95
        93: .line 1782
            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
        94: .line 1783
            aload 9 /* idAttrs */
            iconst_1
            aaload
            astore 8 /* netscapeDB */
        end local 9 // sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] idAttrs
        95: .line 1786
      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
        96: .line 1787
            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
        97: .line 1788
            return
        end local 8 // sun.security.pkcs11.wrapper.CK_ATTRIBUTE netscapeDB
        end local 7 // sun.security.pkcs11.P11Key p11Key
        98: .line 1791
      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
        99: .line 1794
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 7 /* session */
        start local 7 // sun.security.pkcs11.Session session
       100: .line 1796
            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 */
       101: .line 1799
            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
       102: .line 1800
            getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
            ifnull 111
       103: .line 1801
            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
       104: .line 1802
            aload 1 /* alias */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
       105: .line 1803
            ldc "]"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
       106: .line 1801
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
       107: .line 1805
            goto 111
      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
       108: astore 8
       109: .line 1806
            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
       110: .line 1807
            aload 8
            athrow
       111: .line 1806
      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
       112: .line 1809
            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
       113: .line 1810
            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  114     0           this  Lsun/security/pkcs11/P11KeyStore;
            0  114     1          alias  Ljava/lang/String;
            0  114     2            pke  Ljava/security/KeyStore$PrivateKeyEntry;
            1  114     3            key  Ljava/security/PrivateKey;
            2  114     4          attrs  [Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            4    8     5         p11Key  Lsun/security/pkcs11/P11Key;
            9  114     5         useNDB  Z
           10  114     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   84     7          ecKey  Ljava/security/interfaces/ECPrivateKey;
           64   84     8        idAttrs  [Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
           68   84     9  encodedParams  [B
           87   98     7         p11Key  Lsun/security/pkcs11/P11Key;
           92   98     8     netscapeDB  Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
           94   95     9        idAttrs  [Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
          100  114     7        session  Lsun/security/pkcs11/Session;
      Exception table:
        from    to  target  type
         100   108     108  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 1818
            aconst_null
            astore 4 /* attrs */
        start local 4 // sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] attrs
         1: .line 1819
            aload 2 /* key */
            instanceof java.security.interfaces.RSAPrivateCrtKey
            ifeq 40
         2: .line 1821
            getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
            ifnull 4
         3: .line 1822
            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 1825
      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 1827
            bipush 13
            anewarray sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            iconst_0
         6: .line 1828
            getstatic sun.security.pkcs11.P11KeyStore.ATTR_TOKEN_TRUE:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            aastore
            dup
            iconst_1
         7: .line 1829
            getstatic sun.security.pkcs11.P11KeyStore.ATTR_CLASS_PKEY:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            aastore
            dup
            iconst_2
         8: .line 1830
            getstatic sun.security.pkcs11.P11KeyStore.ATTR_PRIVATE_TRUE:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            aastore
            dup
            iconst_3
         9: .line 1831
            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 1832
            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 1833
            new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            ldc 288
        12: .line 1834
            aload 5 /* rsaKey */
            invokeinterface java.security.interfaces.RSAPrivateCrtKey.getModulus:()Ljava/math/BigInteger;
        13: .line 1833
            invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JLjava/math/BigInteger;)V
            aastore
            dup
            bipush 6
        14: .line 1835
            new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            ldc 291
        15: .line 1836
            aload 5 /* rsaKey */
            invokeinterface java.security.interfaces.RSAPrivateCrtKey.getPrivateExponent:()Ljava/math/BigInteger;
        16: .line 1835
            invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JLjava/math/BigInteger;)V
            aastore
            dup
            bipush 7
        17: .line 1837
            new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            ldc 290
        18: .line 1838
            aload 5 /* rsaKey */
            invokeinterface java.security.interfaces.RSAPrivateCrtKey.getPublicExponent:()Ljava/math/BigInteger;
        19: .line 1837
            invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JLjava/math/BigInteger;)V
            aastore
            dup
            bipush 8
        20: .line 1839
            new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            ldc 292
        21: .line 1840
            aload 5 /* rsaKey */
            invokeinterface java.security.interfaces.RSAPrivateCrtKey.getPrimeP:()Ljava/math/BigInteger;
        22: .line 1839
            invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JLjava/math/BigInteger;)V
            aastore
            dup
            bipush 9
        23: .line 1841
            new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            ldc 293
        24: .line 1842
            aload 5 /* rsaKey */
            invokeinterface java.security.interfaces.RSAPrivateCrtKey.getPrimeQ:()Ljava/math/BigInteger;
        25: .line 1841
            invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JLjava/math/BigInteger;)V
            aastore
            dup
            bipush 10
        26: .line 1843
            new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            ldc 294
        27: .line 1844
            aload 5 /* rsaKey */
            invokeinterface java.security.interfaces.RSAPrivateCrtKey.getPrimeExponentP:()Ljava/math/BigInteger;
        28: .line 1843
            invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JLjava/math/BigInteger;)V
            aastore
            dup
            bipush 11
        29: .line 1845
            new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            ldc 295
        30: .line 1846
            aload 5 /* rsaKey */
            invokeinterface java.security.interfaces.RSAPrivateCrtKey.getPrimeExponentQ:()Ljava/math/BigInteger;
        31: .line 1845
            invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JLjava/math/BigInteger;)V
            aastore
            dup
            bipush 12
        32: .line 1847
            new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            ldc 296
        33: .line 1848
            aload 5 /* rsaKey */
            invokeinterface java.security.interfaces.RSAPrivateCrtKey.getCrtCoefficient:()Ljava/math/BigInteger;
        34: .line 1847
            invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JLjava/math/BigInteger;)V
            aastore
        35: .line 1827
            astore 4 /* attrs */
        36: .line 1849
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
        37: .line 1850
            ldc "import"
            ldc 3
            lconst_0
            aload 4 /* attrs */
        38: .line 1849
            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 1852
            goto 59
        40: .line 1854
      StackMap locals:
      StackMap stack:
            getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
            ifnull 42
        41: .line 1855
            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 1858
      StackMap locals:
      StackMap stack:
            aload 2 /* key */
            astore 5 /* rsaKey */
        start local 5 // java.security.interfaces.RSAPrivateKey rsaKey
        43: .line 1860
            bipush 7
            anewarray sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            iconst_0
        44: .line 1861
            getstatic sun.security.pkcs11.P11KeyStore.ATTR_TOKEN_TRUE:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            aastore
            dup
            iconst_1
        45: .line 1862
            getstatic sun.security.pkcs11.P11KeyStore.ATTR_CLASS_PKEY:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            aastore
            dup
            iconst_2
        46: .line 1863
            getstatic sun.security.pkcs11.P11KeyStore.ATTR_PRIVATE_TRUE:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            aastore
            dup
            iconst_3
        47: .line 1864
            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 1865
            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 1866
            new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            ldc 288
        50: .line 1867
            aload 5 /* rsaKey */
            invokeinterface java.security.interfaces.RSAPrivateKey.getModulus:()Ljava/math/BigInteger;
        51: .line 1866
            invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JLjava/math/BigInteger;)V
            aastore
            dup
            bipush 6
        52: .line 1868
            new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            ldc 291
        53: .line 1869
            aload 5 /* rsaKey */
            invokeinterface java.security.interfaces.RSAPrivateKey.getPrivateExponent:()Ljava/math/BigInteger;
        54: .line 1868
            invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JLjava/math/BigInteger;)V
            aastore
        55: .line 1860
            astore 4 /* attrs */
        56: .line 1870
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
        57: .line 1871
            ldc "import"
            ldc 3
            lconst_0
            aload 4 /* attrs */
        58: .line 1870
            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 1874
      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 1892
            iconst_2
            anewarray sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            astore 5 /* attrs */
        start local 5 // sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] attrs
         1: .line 1893
            iload 3 /* id */
            ifne 3
            iload 4 /* netscapeDb */
            ifne 3
         2: .line 1894
            aload 5 /* attrs */
            areturn
         3: .line 1896
      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 1897
            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 1899
            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 1900
            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 1901
            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 1902
            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 1903
            iload 3 /* id */
            ifeq 12
        11: .line 1904
            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 1906
      StackMap locals: java.math.BigInteger
      StackMap stack:
            iload 4 /* netscapeDb */
            ifeq 33
        13: .line 1907
            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 1909
            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 1910
            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 1911
            iload 3 /* id */
            ifeq 19
        18: .line 1912
            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 1914
      StackMap locals: java.math.BigInteger
      StackMap stack:
            iload 4 /* netscapeDb */
            ifeq 33
        20: .line 1915
            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 1917
            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 1918
            aload 2 /* publicKey */
            checkcast java.security.interfaces.ECPublicKey
            astore 7 /* ecPub */
        start local 7 // java.security.interfaces.ECPublicKey ecPub
        24: .line 1919
            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 1920
            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 1921
            aload 8 /* point */
            aload 9 /* params */
            invokevirtual java.security.spec.ECParameterSpec.getCurve:()Ljava/security/spec/EllipticCurve;
            invokestatic sun.security.util.ECUtil.encodePoint:(Ljava/security/spec/ECPoint;Ljava/security/spec/EllipticCurve;)[B
            astore 10 /* encodedPoint */
        start local 10 // byte[] encodedPoint
        27: .line 1922
            iload 3 /* id */
            ifeq 29
        28: .line 1923
            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 1925
      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 1926
            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 1928
            goto 33
        32: .line 1929
      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 1931
      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 1939
            aconst_null
            astore 2 /* session */
        start local 2 // sun.security.pkcs11.Session session
         1: .line 1941
            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 1942
            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 1943
            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 1955
            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 1944
            iconst_0
            ireturn
         6: .line 1947
      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 1948
            getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
            ifnull 12
         8: .line 1949
            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 1950
            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 1951
            ldc "]"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        11: .line 1949
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        12: .line 1955
      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 1953
            iconst_1
            ireturn
        end local 3 // sun.security.pkcs11.P11KeyStore$THandle h
        14: .line 1954
      StackMap locals: sun.security.pkcs11.P11KeyStore byte[] sun.security.pkcs11.Session
      StackMap stack: java.lang.Throwable
            astore 4
        15: .line 1955
            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 1956
            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 1965
            aconst_null
            astore 2 /* session */
        start local 2 // sun.security.pkcs11.Session session
         1: .line 1967
            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 1969
            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 1970
            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 1971
            getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
            ifnull 9
         5: .line 1972
            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 1974
            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 1975
            ldc "]"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         8: .line 1972
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
         9: .line 2066
      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 1977
            iconst_0
            ireturn
        11: .line 1980
      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 1981
            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 1982
            getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
            ifnull 18
        14: .line 1983
            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 1985
            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 1986
            ldc "]"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        17: .line 1983
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        18: .line 1991
      StackMap locals: java.security.cert.X509Certificate
      StackMap stack:
            aload 4 /* endCert */
            astore 5 /* next */
        start local 5 // java.security.cert.X509Certificate next
        19: .line 1994
      StackMap locals: java.security.cert.X509Certificate
      StackMap stack:
            aload 5 /* next */
            invokevirtual java.security.cert.X509Certificate.getSubjectX500Principal:()Ljavax/security/auth/x500/X500Principal;
        20: .line 1995
            aload 5 /* next */
            invokevirtual java.security.cert.X509Certificate.getIssuerX500Principal:()Ljavax/security/auth/x500/X500Principal;
        21: .line 1994
            invokevirtual javax.security.auth.x500.X500Principal.equals:(Ljava/lang/Object;)Z
        22: .line 1995
            ifeq 24
        23: .line 1997
            goto 72
        24: .line 2000
      StackMap locals:
      StackMap stack:
            iconst_3
            anewarray sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            iconst_0
        25: .line 2001
            getstatic sun.security.pkcs11.P11KeyStore.ATTR_TOKEN_TRUE:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            aastore
            dup
            iconst_1
        26: .line 2002
            getstatic sun.security.pkcs11.P11KeyStore.ATTR_CLASS_CERT:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            aastore
            dup
            iconst_2
        27: .line 2003
            new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            ldc 257
        28: .line 2004
            aload 5 /* next */
            invokevirtual java.security.cert.X509Certificate.getIssuerX500Principal:()Ljavax/security/auth/x500/X500Principal;
            invokevirtual javax.security.auth.x500.X500Principal.getEncoded:()[B
        29: .line 2003
            invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JLjava/lang/Object;)V
            aastore
        30: .line 2000
            astore 6 /* attrs */
        start local 6 // sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] attrs
        31: .line 2005
            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 2007
            aload 7 /* ch */
            ifnull 72
            aload 7 /* ch */
            arraylength
            ifne 34
        33: .line 2009
            goto 72
        34: .line 2012
      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 2013
            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 2014
            aload 7 /* ch */
            arraylength
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
        37: .line 2015
            ldc " certificate entries for subject ["
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        38: .line 2016
            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 2017
            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 2013
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        41: .line 2020
      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 2024
            iconst_3
            anewarray sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            iconst_0
        43: .line 2025
            getstatic sun.security.pkcs11.P11KeyStore.ATTR_TOKEN_TRUE:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            aastore
            dup
            iconst_1
        44: .line 2026
            getstatic sun.security.pkcs11.P11KeyStore.ATTR_CLASS_CERT:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            aastore
            dup
            iconst_2
        45: .line 2027
            new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            ldc 129
        46: .line 2028
            aload 5 /* next */
            invokevirtual java.security.cert.X509Certificate.getSubjectX500Principal:()Ljavax/security/auth/x500/X500Principal;
            invokevirtual javax.security.auth.x500.X500Principal.getEncoded:()[B
        47: .line 2027
            invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JLjava/lang/Object;)V
            aastore
        48: .line 2024
            astore 6 /* attrs */
        49: .line 2029
            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 2031
            iconst_0
            istore 9 /* destroyIt */
        start local 9 // boolean destroyIt
        51: .line 2032
            aload 8 /* issuers */
            ifnull 52
            aload 8 /* issuers */
            arraylength
            ifne 54
        52: .line 2035
      StackMap locals: long[] int
      StackMap stack:
            iconst_1
            istore 9 /* destroyIt */
        53: .line 2036
            goto 58
      StackMap locals:
      StackMap stack:
        54: aload 8 /* issuers */
            arraylength
            iconst_1
            if_icmpne 58
        55: .line 2037
            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 2038
            aload 5 /* next */
            aload 10 /* iCert */
            invokevirtual java.security.cert.X509Certificate.equals:(Ljava/lang/Object;)Z
            ifeq 58
        57: .line 2041
            iconst_1
            istore 9 /* destroyIt */
        end local 10 // java.security.cert.X509Certificate iCert
        58: .line 2045
      StackMap locals:
      StackMap stack:
            iload 9 /* destroyIt */
            ifeq 67
        59: .line 2046
            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 2047
            getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
            ifnull 19
        61: .line 2048
            getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
        62: .line 2049
            new java.lang.StringBuilder
            dup
            ldc "destroyChain destroyed cert in chain with subject ["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        63: .line 2051
            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 2049
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        65: .line 2048
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        66: .line 2053
            goto 19
        67: .line 2054
      StackMap locals:
      StackMap stack:
            getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
            ifnull 19
        68: .line 2055
            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 2057
            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 2055
            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 1992
            goto 19
        72: .line 2066
      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 2063
            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 2065
      StackMap locals: sun.security.pkcs11.P11KeyStore byte[] sun.security.pkcs11.Session
      StackMap stack: java.lang.Throwable
            astore 11
        75: .line 2066
            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 2067
            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 2075
            aconst_null
            astore 2 /* session */
        start local 2 // sun.security.pkcs11.Session session
         1: .line 2077
            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 2079
            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 2080
            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 2081
            getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
            ifnull 9
         5: .line 2082
            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 2084
            aload 1 /* alias */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         7: .line 2085
            ldc "]"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         8: .line 2082
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
         9: .line 2092
      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 2087
            iconst_0
            ireturn
        11: .line 2089
      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 2092
            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 2090
            iconst_1
            ireturn
        end local 3 // sun.security.pkcs11.P11KeyStore$THandle h
        14: .line 2091
      StackMap locals: sun.security.pkcs11.P11KeyStore java.lang.String sun.security.pkcs11.Session
      StackMap stack: java.lang.Throwable
            astore 4
        15: .line 2092
            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 2093
            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 2101
            aconst_null
            astore 2 /* session */
        start local 2 // sun.security.pkcs11.Session session
         1: .line 2103
            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 2105
            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 2106
            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 2107
            getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
            ifnull 11
         5: .line 2108
            getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
         6: .line 2109
            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 2110
            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 2111
            ldc "]"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         9: .line 2109
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        10: .line 2108
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        11: .line 2118
      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 2113
            iconst_0
            ireturn
        13: .line 2115
      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 2118
            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 2116
            iconst_1
            ireturn
        end local 3 // sun.security.pkcs11.P11KeyStore$THandle h
        16: .line 2117
      StackMap locals: sun.security.pkcs11.P11KeyStore byte[] sun.security.pkcs11.Session
      StackMap stack: java.lang.Throwable
            astore 4
        17: .line 2118
            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 2119
            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 2126
            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 2127
            aload 2 /* cert */
            invokevirtual java.security.cert.X509Certificate.getSerialNumber:()Ljava/math/BigInteger;
            astore 4 /* serialNum */
        start local 4 // java.math.BigInteger serialNum
         2: .line 2129
            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 2130
            ldc "/"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         4: .line 2131
            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 2132
            ldc "/"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         6: .line 2133
            aload 4 /* serialNum */
            invokevirtual java.math.BigInteger.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         7: .line 2129
            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 2140
            iconst_1
            istore 1 /* printable */
        start local 1 // boolean printable
         1: .line 2141
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         2: goto 7
         3: .line 2142
      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 2143
            iconst_0
            istore 1 /* printable */
         5: .line 2144
            goto 8
         6: .line 2141
      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 2148
      StackMap locals:
      StackMap stack:
            iload 1 /* printable */
            ifne 10
         9: .line 2149
            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 2152
      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 2153
      StackMap locals:
      StackMap stack: java.io.UnsupportedEncodingException
            pop
        13: .line 2154
            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 2173
            aload 2 /* type */
            getstatic sun.security.pkcs11.P11KeyStore.ATTR_CLASS_SKEY:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            if_acmpne 7
         1: .line 2174
            iconst_3
            anewarray sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            iconst_0
         2: .line 2175
            getstatic sun.security.pkcs11.P11KeyStore.ATTR_SKEY_TOKEN_TRUE:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            aastore
            dup
            iconst_1
         3: .line 2176
            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 2177
            aload 2 /* type */
            aastore
         5: .line 2174
            astore 5 /* attrs */
        start local 5 // sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] attrs
         6: .line 2178
            goto 12
        end local 5 // sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] attrs
         7: .line 2179
      StackMap locals:
      StackMap stack:
            iconst_3
            anewarray sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            iconst_0
         8: .line 2180
            getstatic sun.security.pkcs11.P11KeyStore.ATTR_TOKEN_TRUE:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            aastore
            dup
            iconst_1
         9: .line 2181
            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 2182
            aload 2 /* type */
            aastore
        11: .line 2179
            astore 5 /* attrs */
        start local 5 // sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] attrs
        12: .line 2184
      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 2185
            aload 6 /* h */
            arraylength
            ifne 34
        14: .line 2186
            getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
            ifnull 67
        15: .line 2187
            aload 2 /* type */
            getstatic sun.security.pkcs11.P11KeyStore.ATTR_CLASS_SKEY:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            if_acmpne 21
        16: .line 2188
            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 2190
            aload 4 /* cka_label */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        18: .line 2191
            ldc "]"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        19: .line 2188
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        20: .line 2192
            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 2193
            getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
        23: .line 2194
            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 2195
            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 2196
            ldc "]"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        26: .line 2194
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        27: .line 2193
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        28: .line 2197
            goto 67
        29: .line 2198
      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 2200
            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 2201
            ldc "]"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        32: .line 2198
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        33: .line 2204
            goto 67
      StackMap locals:
      StackMap stack:
        34: aload 6 /* h */
            arraylength
            iconst_1
            if_icmpne 36
        35: .line 2207
            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 2214
      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 2216
            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 2217
            iconst_0
            istore 8 /* i */
        start local 8 // int i
        39: goto 47
        40: .line 2220
      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 2219
            astore 9 /* label */
        start local 9 // sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] label
        42: .line 2221
            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 2222
            aload 9 /* label */
            iconst_0
            aaload
            getfield sun.security.pkcs11.wrapper.CK_ATTRIBUTE.pValue:Ljava/lang/Object;
            ifnull 46
        44: .line 2223
            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 2224
            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 2217
      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 2227
            aload 7 /* list */
            invokevirtual java.util.ArrayList.size:()I
            iconst_1
            if_icmpne 50
        49: .line 2229
            aload 7 /* list */
            iconst_0
            invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
            checkcast sun.security.pkcs11.P11KeyStore$THandle
            areturn
        50: .line 2231
      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 2233
            aload 7 /* list */
            invokevirtual java.util.ArrayList.size:()I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
        52: .line 2234
            ldc " secret keys sharing CKA_LABEL ["
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        53: .line 2235
            aload 4 /* cka_label */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        54: .line 2236
            ldc "]"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        55: .line 2231
            invokespecial java.security.KeyStoreException.<init>:(Ljava/lang/String;)V
            athrow
        end local 7 // java.util.ArrayList list
        56: .line 2238
      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 2239
            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 2241
            aload 6 /* h */
            arraylength
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
        59: .line 2242
            ldc " certificates sharing CKA_ID "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        60: .line 2243
            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 2239
            invokespecial java.security.KeyStoreException.<init>:(Ljava/lang/String;)V
            athrow
        62: .line 2245
      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 2247
            aload 6 /* h */
            arraylength
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
        64: .line 2248
            ldc " private keys sharing CKA_ID "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        65: .line 2249
            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 2245
            invokespecial java.security.KeyStoreException.<init>:(Ljava/lang/String;)V
            athrow
        67: .line 2252
      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 2273
            iconst_1
            anewarray sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            iconst_0
         1: .line 2274
            new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            ldc 134
            invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(J)V
            aastore
         2: .line 2273
            astore 1 /* trustedAttr */
        start local 1 // sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] trustedAttr
         3: .line 2276
            aconst_null
            astore 2 /* session */
        start local 2 // sun.security.pkcs11.Session session
         4: .line 2278
            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 2282
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 3 /* pkeyIDs */
        start local 3 // java.util.ArrayList pkeyIDs
         6: .line 2283
            iconst_2
            anewarray sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            iconst_0
         7: .line 2284
            getstatic sun.security.pkcs11.P11KeyStore.ATTR_TOKEN_TRUE:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            aastore
            dup
            iconst_1
         8: .line 2285
            getstatic sun.security.pkcs11.P11KeyStore.ATTR_CLASS_PKEY:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            aastore
         9: .line 2283
            astore 4 /* attrs */
        start local 4 // sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] attrs
        10: .line 2287
            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 2289
            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 2290
            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 2291
            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 2293
            aload 4 /* attrs */
            iconst_0
            aaload
            getfield sun.security.pkcs11.wrapper.CK_ATTRIBUTE.pValue:Ljava/lang/Object;
            ifnull 17
        16: .line 2294
            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 2289
      StackMap locals:
      StackMap stack:
            iinc 8 1
      StackMap locals:
      StackMap stack:
        18: iload 8
            iload 9
            if_icmplt 12
        19: .line 2309
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
        20: .line 2308
            astore 6 /* certMap */
        start local 6 // java.util.HashMap certMap
        21: .line 2311
            iconst_2
            anewarray sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            iconst_0
        22: .line 2312
            getstatic sun.security.pkcs11.P11KeyStore.ATTR_TOKEN_TRUE:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            aastore
            dup
            iconst_1
        23: .line 2313
            getstatic sun.security.pkcs11.P11KeyStore.ATTR_CLASS_CERT:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            aastore
        24: .line 2311
            astore 4 /* attrs */
        25: .line 2315
            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 2317
            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 2318
            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 2320
            aconst_null
            astore 12 /* cka_label */
        start local 12 // java.lang.String cka_label
        30: .line 2321
            aconst_null
            astore 13 /* cka_id */
        start local 13 // byte[] cka_id
        31: .line 2323
            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 2324
            aload 4 /* attrs */
            iconst_0
            aaload
            getfield sun.security.pkcs11.wrapper.CK_ATTRIBUTE.pValue:Ljava/lang/Object;
            ifnull 38
        33: .line 2326
            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 2328
            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 2329
            aload 14 /* pe */
            invokevirtual sun.security.pkcs11.wrapper.PKCS11Exception.getErrorCode:()J
            ldc 18
            lcmp
            ifeq 38
        37: .line 2330
            aload 14 /* pe */
            athrow
        end local 14 // sun.security.pkcs11.wrapper.PKCS11Exception pe
        38: .line 2340
      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 2341
            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 2342
            aload 4 /* attrs */
            iconst_0
            aaload
            getfield sun.security.pkcs11.wrapper.CK_ATTRIBUTE.pValue:Ljava/lang/Object;
            ifnonnull 43
        41: .line 2343
            aload 12 /* cka_label */
            ifnonnull 46
        42: .line 2345
            goto 74
        43: .line 2348
      StackMap locals:
      StackMap stack:
            aload 12 /* cka_label */
            ifnonnull 45
        44: .line 2350
            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 2352
      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 2355
      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 2359
            iconst_0
            istore 15 /* cka_trusted */
        start local 15 // boolean cka_trusted
        48: .line 2361
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.useSecmodTrust:Z
            ifeq 51
        49: .line 2362
            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 2363
            goto 64
        51: .line 2364
      StackMap locals: java.security.cert.X509Certificate int
      StackMap stack:
            getstatic sun.security.pkcs11.P11KeyStore.CKA_TRUSTED_SUPPORTED:Z
            ifeq 64
        52: .line 2366
            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 2367
            aload 2 /* session */
            invokevirtual sun.security.pkcs11.Session.id:()J
            lload 7 /* handle */
            aload 1 /* trustedAttr */
        54: .line 2366
            invokevirtual sun.security.pkcs11.wrapper.PKCS11.C_GetAttributeValue:(JJ[Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;)V
        55: .line 2368
            aload 1 /* trustedAttr */
            iconst_0
            aaload
            invokevirtual sun.security.pkcs11.wrapper.CK_ATTRIBUTE.getBoolean:()Z
            istore 15 /* cka_trusted */
        56: .line 2369
            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 2370
            aload 16 /* pe */
            invokevirtual sun.security.pkcs11.wrapper.PKCS11Exception.getErrorCode:()J
            ldc 18
            lcmp
            ifne 64
        59: .line 2372
            iconst_0
            putstatic sun.security.pkcs11.P11KeyStore.CKA_TRUSTED_SUPPORTED:Z
        60: .line 2373
            getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
            ifnull 64
        61: .line 2374
            getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
        62: .line 2375
            ldc "CKA_TRUSTED attribute not supported"
        63: .line 2374
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        end local 16 // sun.security.pkcs11.wrapper.PKCS11Exception pe
        64: .line 2382
      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 2383
            aload 16 /* infoSet */
            ifnonnull 68
        66: .line 2384
            new java.util.HashSet
            dup
            iconst_2
            invokespecial java.util.HashSet.<init>:(I)V
            astore 16 /* infoSet */
        67: .line 2385
            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 2392
      StackMap locals: java.util.HashSet
      StackMap stack:
            aload 16 /* infoSet */
            new sun.security.pkcs11.P11KeyStore$AliasInfo
            dup
        69: .line 2393
            aload 12 /* cka_label */
        70: .line 2394
            aload 13 /* cka_id */
        71: .line 2395
            iload 15 /* cka_trusted */
        72: .line 2396
            aload 14 /* cert */
            invokespecial sun.security.pkcs11.P11KeyStore$AliasInfo.<init>:(Ljava/lang/String;[BZLjava/security/cert/X509Certificate;)V
        73: .line 2392
            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 2317
      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 2404
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
        77: .line 2403
            astore 7 /* sKeyMap */
        start local 7 // java.util.HashMap sKeyMap
        78: .line 2406
            iconst_2
            anewarray sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            iconst_0
        79: .line 2407
            getstatic sun.security.pkcs11.P11KeyStore.ATTR_SKEY_TOKEN_TRUE:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            aastore
            dup
            iconst_1
        80: .line 2408
            getstatic sun.security.pkcs11.P11KeyStore.ATTR_CLASS_SKEY:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            aastore
        81: .line 2406
            astore 4 /* attrs */
        82: .line 2410
            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 */
        83: .line 2412
            aload 5 /* handles */
            dup
            astore 12
            arraylength
            istore 11
            iconst_0
            istore 10
            goto 97
      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.HashMap top top int int long[]
      StackMap stack:
        84: aload 12
            iload 10
            laload
            lstore 8 /* handle */
        start local 8 // long handle
        85: .line 2413
            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 */
        86: .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 8 /* handle */
            aload 4 /* attrs */
            invokevirtual sun.security.pkcs11.wrapper.PKCS11.C_GetAttributeValue:(JJ[Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;)V
        87: .line 2415
            aload 4 /* attrs */
            iconst_0
            aaload
            getfield sun.security.pkcs11.wrapper.CK_ATTRIBUTE.pValue:Ljava/lang/Object;
            ifnull 96
        88: .line 2418
            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
        89: .line 2419
            aload 7 /* sKeyMap */
            aload 13 /* cka_label */
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            ifnonnull 92
        90: .line 2420
            aload 7 /* sKeyMap */
            aload 13 /* cka_label */
            new sun.security.pkcs11.P11KeyStore$AliasInfo
            dup
            aload 13 /* cka_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
        91: .line 2421
            goto 96
        92: .line 2422
      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.HashMap 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
        93: .line 2425
            aload 13 /* cka_label */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        94: .line 2426
            ldc "]"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        95: .line 2422
            invokespecial java.security.KeyStoreException.<init>:(Ljava/lang/String;)V
            athrow
        end local 13 // java.lang.String cka_label
        end local 8 // long handle
        96: .line 2412
      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.HashMap top top int int long[]
      StackMap stack:
            iinc 10 1
      StackMap locals:
      StackMap stack:
        97: iload 10
            iload 11
            if_icmplt 84
        98: .line 2433
            aload 0 /* this */
            aload 3 /* pkeyIDs */
            aload 6 /* certMap */
            invokevirtual sun.security.pkcs11.P11KeyStore.mapPrivateKeys:(Ljava/util/ArrayList;Ljava/util/HashMap;)Ljava/util/ArrayList;
        99: .line 2432
            astore 8 /* matchedCerts */
        start local 8 // java.util.ArrayList matchedCerts
       100: .line 2434
            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
       101: .line 2435
            aload 0 /* this */
            aload 7 /* sKeyMap */
            invokevirtual sun.security.pkcs11.P11KeyStore.mapSecretKeys:(Ljava/util/HashMap;)V
       102: .line 2437
            iload 9 /* sharedLabel */
            istore 18
       103: .line 2440
            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
       104: .line 2437
            iload 18
            ireturn
        end local 9 // boolean sharedLabel
        end local 8 // java.util.ArrayList matchedCerts
        end local 7 // java.util.HashMap sKeyMap
        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
       105: .line 2439
      StackMap locals: sun.security.pkcs11.P11KeyStore sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] sun.security.pkcs11.Session
      StackMap stack: java.lang.Throwable
            astore 17
       106: .line 2440
            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
       107: .line 2441
            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  108     0          this  Lsun/security/pkcs11/P11KeyStore;
            3  108     1   trustedAttr  [Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            4  108     2       session  Lsun/security/pkcs11/Session;
            6  105     3       pkeyIDs  Ljava/util/ArrayList<[B>;
           10  105     4         attrs  [Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
           11  105     5       handles  [J
           13   17     6        handle  J
           21  105     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;>;
           78  105     7       sKeyMap  Ljava/util/HashMap<Ljava/lang/String;Lsun/security/pkcs11/P11KeyStore$AliasInfo;>;
           85   96     8        handle  J
           89   96    13     cka_label  Ljava/lang/String;
          100  105     8  matchedCerts  Ljava/util/ArrayList<Lsun/security/pkcs11/P11KeyStore$AliasInfo;>;
          101  105     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   103     105  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 2460
            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 2463
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 3 /* matchedCerts */
        start local 3 // java.util.ArrayList matchedCerts
         2: .line 2465
            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 2469
            iconst_0
            istore 6 /* foundMatch */
        start local 6 // boolean foundMatch
         5: .line 2470
            aload 2 /* certMap */
            invokevirtual java.util.HashMap.keySet:()Ljava/util/Set;
            astore 7 /* certLabels */
        start local 7 // java.util.Set certLabels
         6: .line 2471
            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 2475
            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 2476
            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 2477
            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 2481
            aload 10 /* infoSet */
            invokevirtual java.util.HashSet.size:()I
            iconst_1
            if_icmpne 16
        13: .line 2483
            aload 11 /* aliasInfo */
            iconst_1
            putfield sun.security.pkcs11.P11KeyStore$AliasInfo.matched:Z
        14: .line 2484
            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 2485
            goto 20
        16: .line 2487
      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 2488
            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 2489
            aload 11 /* aliasInfo */
        19: .line 2488
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        20: .line 2491
      StackMap locals:
      StackMap stack:
            aload 3 /* matchedCerts */
            aload 11 /* aliasInfo */
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        21: .line 2492
            iconst_1
            istore 6 /* foundMatch */
        22: .line 2493
            goto 24
        end local 11 // sun.security.pkcs11.P11KeyStore$AliasInfo aliasInfo
        23: .line 2476
      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 2496
      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 2497
            goto 27
        end local 10 // java.util.HashSet infoSet
        end local 8 // java.lang.String certLabel
        26: .line 2471
      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 2501
      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 2502
            getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
            ifnull 35
        29: .line 2503
            getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
        30: .line 2504
            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 2505
            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 2506
            ldc "] (ignoring entry)"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        33: .line 2504
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        34: .line 2503
            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 2465
      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 2511
            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 2529
            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 2530
            aconst_null
            astore 5 /* session */
        start local 5 // sun.security.pkcs11.Session session
         3: .line 2532
            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 2533
            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 2534
            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 2535
            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 2536
            aload 6
            athrow
         9: .line 2535
      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 2529
      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 2542
            iconst_0
            istore 3 /* sharedLabel */
        start local 3 // boolean sharedLabel
        12: .line 2544
            aload 2 /* certMap */
            invokevirtual java.util.HashMap.keySet:()Ljava/util/Set;
            astore 4 /* certLabels */
        start local 4 // java.util.Set certLabels
        13: .line 2545
            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 2546
            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 2547
            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 2549
            aload 8 /* aliasInfo */
            getfield sun.security.pkcs11.P11KeyStore$AliasInfo.matched:Z
            ifeq 21
        19: .line 2552
            aload 8 /* aliasInfo */
            iconst_0
            putfield sun.security.pkcs11.P11KeyStore$AliasInfo.trusted:Z
        20: .line 2553
            goto 28
        21: .line 2561
      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 2562
            aload 8 /* aliasInfo */
            getfield sun.security.pkcs11.P11KeyStore$AliasInfo.trusted:Z
            ifeq 28
        23: .line 2564
            aload 0 /* this */
        24: .line 2565
            aload 5 /* certLabel */
            aload 8 /* aliasInfo */
            aload 7 /* infoSet */
        25: .line 2564
            invokevirtual sun.security.pkcs11.P11KeyStore.mapTrustedCert:(Ljava/lang/String;Lsun/security/pkcs11/P11KeyStore$AliasInfo;Ljava/util/HashSet;)Z
        26: .line 2565
            ifeq 28
        27: .line 2566
            iconst_1
            istore 3 /* sharedLabel */
        end local 8 // sun.security.pkcs11.P11KeyStore$AliasInfo aliasInfo
        28: .line 2547
      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 2545
      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 2607
            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 2614
            iconst_0
            istore 4 /* sharedLabel */
        start local 4 // boolean sharedLabel
         1: .line 2616
            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 2617
            aload 2 /* aliasInfo */
            iconst_1
            putfield sun.security.pkcs11.P11KeyStore$AliasInfo.trusted:Z
         3: .line 2618
            aload 3 /* infoSet */
            invokevirtual java.util.HashSet.size:()I
            iconst_1
            if_icmpne 6
         4: .line 2620
            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 2621
            goto 8
         6: .line 2623
      StackMap locals: int
      StackMap stack:
            iconst_1
            istore 4 /* sharedLabel */
         7: .line 2624
            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 2627
      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.HashMap<java.lang.String, sun.security.pkcs11.P11KeyStore$AliasInfo>);
    descriptor: (Ljava/util/HashMap;)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.HashMap sKeyMap
         0: .line 2636
            aload 1 /* sKeyMap */
            invokevirtual java.util.HashMap.keySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 3
            goto 7
      StackMap locals: sun.security.pkcs11.P11KeyStore java.util.HashMap 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 2637
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.aliasMap:Ljava/util/HashMap;
            aload 2 /* label */
            invokevirtual java.util.HashMap.containsKey:(Ljava/lang/Object;)Z
            ifeq 7
         3: .line 2638
            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
         4: .line 2640
            aload 2 /* label */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         5: .line 2641
            ldc "] with another token object"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         6: .line 2638
            invokespecial java.security.KeyStoreException.<init>:(Ljava/lang/String;)V
            athrow
        end local 2 // java.lang.String label
         7: .line 2636
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         8: .line 2644
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.aliasMap:Ljava/util/HashMap;
            aload 1 /* sKeyMap */
            invokevirtual java.util.HashMap.putAll:(Ljava/util/Map;)V
         9: .line 2645
            return
        end local 1 // java.util.HashMap sKeyMap
        end local 0 // sun.security.pkcs11.P11KeyStore this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   10     0     this  Lsun/security/pkcs11/P11KeyStore;
            0   10     1  sKeyMap  Ljava/util/HashMap<Ljava/lang/String;Lsun/security/pkcs11/P11KeyStore$AliasInfo;>;
            2    7     2    label  Ljava/lang/String;
    Exceptions:
      throws java.security.KeyStoreException
    Signature: (Ljava/util/HashMap<Ljava/lang/String;Lsun/security/pkcs11/P11KeyStore$AliasInfo;>;)V
    MethodParameters:
         Name  Flags
      sKeyMap  

  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 2648
            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 2649
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc "Token Alias Map:"
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         2: .line 2650
            aload 1 /* aliases */
            invokeinterface java.util.Set.isEmpty:()Z
            ifeq 5
         3: .line 2651
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc "  [empty]"
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         4: .line 2652
            goto 9
         5: .line 2653
      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 2654
            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 2653
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 6
         9: .line 2657
      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 2660
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.writeDisabled:Z
            ifeq 4
         1: .line 2661
            new java.security.KeyStoreException
            dup
         2: .line 2662
            ldc "This PKCS11KeyStore does not support write capabilities"
         3: .line 2661
            invokespecial java.security.KeyStoreException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 2664
      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 2670
            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 2671
            getstatic sun.security.pkcs11.P11KeyStore.LONG0:[J
            astore 3 /* handles */
        start local 3 // long[] handles
         2: .line 2672
            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 2674
      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 2675
            aload 4 /* h */
            arraylength
            ifne 6
         5: .line 2676
            goto 8
         6: .line 2678
      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 2673
            goto 3
         8: .line 2680
      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 2681
            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