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 83
            new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            lconst_0
            lconst_1
            invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JJ)V
         1: .line 82
            putstatic sun.security.pkcs11.P11KeyStore.ATTR_CLASS_CERT:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
         2: .line 85
            new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            lconst_0
            ldc 3
            invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JJ)V
         3: .line 84
            putstatic sun.security.pkcs11.P11KeyStore.ATTR_CLASS_PKEY:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
         4: .line 87
            new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            lconst_0
            ldc 4
            invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JJ)V
         5: .line 86
            putstatic sun.security.pkcs11.P11KeyStore.ATTR_CLASS_SKEY:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
         6: .line 90
            new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            ldc 128
            lconst_0
            invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JJ)V
         7: .line 89
            putstatic sun.security.pkcs11.P11KeyStore.ATTR_X509_CERT_TYPE:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
         8: .line 93
            new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            lconst_1
            iconst_1
            invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JZ)V
         9: .line 92
            putstatic sun.security.pkcs11.P11KeyStore.ATTR_TOKEN_TRUE:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
        10: .line 99
            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 102
            new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            ldc 134
            iconst_1
            invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JZ)V
        12: .line 101
            putstatic sun.security.pkcs11.P11KeyStore.ATTR_TRUSTED_TRUE:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
        13: .line 104
            new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            ldc 2
            iconst_1
            invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JZ)V
        14: .line 103
            putstatic sun.security.pkcs11.P11KeyStore.ATTR_PRIVATE_TRUE:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
        15: .line 112
            ldc "pkcs11keystore"
            invokestatic sun.security.util.Debug.getInstance:(Ljava/lang/String;)Lsun/security/util/Debug;
        16: .line 111
            putstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
        17: .line 113
            iconst_1
            putstatic sun.security.pkcs11.P11KeyStore.CKA_TRUSTED_SUPPORTED:Z
        18: .line 2667
            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 270
            aload 0 /* this */
            invokespecial java.security.KeyStoreSpi.<init>:()V
         1: .line 121
            aload 0 /* this */
            iconst_0
            putfield sun.security.pkcs11.P11KeyStore.writeDisabled:Z
         2: .line 271
            aload 0 /* this */
            aload 1 /* token */
            putfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
         3: .line 272
            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 273
            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 295
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
            invokevirtual sun.security.pkcs11.Token.ensureValid:()V
         1: .line 296
            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 297
            new java.security.NoSuchAlgorithmException
            dup
            ldc "password must be null"
            invokespecial java.security.NoSuchAlgorithmException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 300
      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 301
            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 302
      StackMap locals: sun.security.pkcs11.P11KeyStore$AliasInfo
      StackMap stack:
            aconst_null
            areturn
         6: .line 305
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 4 /* session */
        start local 4 // sun.security.pkcs11.Session session
         7: .line 307
            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 309
            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 310
            aload 0 /* this */
            aload 4 /* session */
        10: .line 311
            aload 3 /* aliasInfo */
            getfield sun.security.pkcs11.P11KeyStore$AliasInfo.type:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
        11: .line 312
            aload 3 /* aliasInfo */
            getfield sun.security.pkcs11.P11KeyStore$AliasInfo.id:[B
        12: .line 313
            aconst_null
        13: .line 310
            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 314
            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 315
            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 332
            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 315
            aload 7
            areturn
        end local 5 // sun.security.pkcs11.P11KeyStore$THandle h
        18: .line 318
      StackMap locals: sun.security.pkcs11.Session
      StackMap stack:
            aload 0 /* this */
            aload 4 /* session */
        19: .line 319
            getstatic sun.security.pkcs11.P11KeyStore.ATTR_CLASS_SKEY:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
        20: .line 320
            aconst_null
        21: .line 321
            aload 1 /* alias */
        22: .line 318
            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 322
            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 323
            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 332
            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 323
            aload 7
            areturn
        end local 5 // sun.security.pkcs11.P11KeyStore$THandle h
        27: .line 332
      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 328
            aconst_null
            areturn
        29: .line 329
      StackMap locals:
      StackMap stack: java.lang.Exception
            astore 5 /* e */
        start local 5 // java.lang.Exception e
        30: .line 330
            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 331
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 6
        32: .line 332
            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 333
            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 351
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
            invokevirtual sun.security.pkcs11.Token.ensureValid:()V
         1: .line 353
            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 354
            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 355
      StackMap locals: sun.security.pkcs11.P11KeyStore$AliasInfo
      StackMap stack:
            aconst_null
            areturn
         4: .line 357
      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 382
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
            invokevirtual sun.security.pkcs11.Token.ensureValid:()V
         1: .line 384
            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 385
            aload 2 /* aliasInfo */
            ifnonnull 4
         3: .line 386
            aconst_null
            areturn
         4: .line 388
      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 400
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
            invokevirtual sun.security.pkcs11.Token.ensureValid:()V
         1: .line 401
            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 431
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
            invokevirtual sun.security.pkcs11.Token.ensureValid:()V
         1: .line 432
            aload 0 /* this */
            invokevirtual sun.security.pkcs11.P11KeyStore.checkWrite:()V
         2: .line 434
            aload 2 /* key */
            instanceof java.security.PrivateKey
            ifne 4
            aload 2 /* key */
            instanceof javax.crypto.SecretKey
            ifne 4
         3: .line 435
            new java.security.KeyStoreException
            dup
            ldc "key must be PrivateKey or SecretKey"
            invokespecial java.security.KeyStoreException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 436
      StackMap locals:
      StackMap stack:
            aload 2 /* key */
            instanceof java.security.PrivateKey
            ifeq 8
            aload 4 /* chain */
            ifnonnull 8
         5: .line 437
            new java.security.KeyStoreException
            dup
         6: .line 438
            ldc "PrivateKey must be accompanied by non-null chain"
         7: .line 437
            invokespecial java.security.KeyStoreException.<init>:(Ljava/lang/String;)V
            athrow
         8: .line 439
      StackMap locals:
      StackMap stack:
            aload 2 /* key */
            instanceof javax.crypto.SecretKey
            ifeq 12
            aload 4 /* chain */
            ifnull 12
         9: .line 440
            new java.security.KeyStoreException
            dup
        10: .line 441
            ldc "SecretKey must be accompanied by null chain"
        11: .line 440
            invokespecial java.security.KeyStoreException.<init>:(Ljava/lang/String;)V
            athrow
        12: .line 442
      StackMap locals:
      StackMap stack:
            aload 3 /* password */
            ifnull 15
        13: .line 443
            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 444
            new java.security.KeyStoreException
            dup
            ldc "Password must be null"
            invokespecial java.security.KeyStoreException.<init>:(Ljava/lang/String;)V
            athrow
        15: .line 447
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 5 /* entry */
        start local 5 // java.security.KeyStore$Entry entry
        16: .line 449
            aload 2 /* key */
            instanceof java.security.PrivateKey
            ifeq 19
        17: .line 450
            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 451
            goto 24
      StackMap locals: java.security.KeyStore$Entry
      StackMap stack:
        19: aload 2 /* key */
            instanceof javax.crypto.SecretKey
            ifeq 24
        20: .line 452
            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 454
            goto 24
      StackMap locals:
      StackMap stack: java.lang.RuntimeException
        22: astore 6 /* e */
        start local 6 // java.lang.RuntimeException e
        23: .line 455
            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 457
      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 458
            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 483
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
            invokevirtual sun.security.pkcs11.Token.ensureValid:()V
         1: .line 484
            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 507
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
            invokevirtual sun.security.pkcs11.Token.ensureValid:()V
         1: .line 508
            aload 0 /* this */
            invokevirtual sun.security.pkcs11.P11KeyStore.checkWrite:()V
         2: .line 510
            aload 2 /* cert */
            ifnonnull 4
         3: .line 511
            new java.security.KeyStoreException
            dup
            ldc "invalid null certificate"
            invokespecial java.security.KeyStoreException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 514
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 3 /* entry */
        start local 3 // java.security.KeyStore$Entry entry
         5: .line 515
            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 516
            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 517
            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 528
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
            invokevirtual sun.security.pkcs11.Token.ensureValid:()V
         1: .line 530
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
            invokevirtual sun.security.pkcs11.Token.isWriteProtected:()Z
            ifeq 3
         2: .line 531
            new java.security.KeyStoreException
            dup
            ldc "token write-protected"
            invokespecial java.security.KeyStoreException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 533
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual sun.security.pkcs11.P11KeyStore.checkWrite:()V
         4: .line 534
            aload 0 /* this */
            aload 1 /* alias */
            invokevirtual sun.security.pkcs11.P11KeyStore.deleteEntry:(Ljava/lang/String;)Z
            pop
         5: .line 535
            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 541
            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 542
            aload 2 /* aliasInfo */
            ifnull 18
         2: .line 544
            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 547
            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 549
            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 550
      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 552
            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 553
            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 552
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
        10: iconst_0
        11: ireturn
        12: .line 554
      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 556
            aload 0 /* this */
            aload 1 /* alias */
            invokevirtual sun.security.pkcs11.P11KeyStore.destroySkey:(Ljava/lang/String;)Z
        14: ireturn
        15: .line 558
      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 560
      StackMap locals:
      StackMap stack: java.lang.Exception
            astore 3 /* e */
        start local 3 // java.lang.Exception e
        17: .line 561
            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 564
      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 573
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
            invokevirtual sun.security.pkcs11.Token.ensureValid:()V
         1: .line 578
            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 589
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
            invokevirtual sun.security.pkcs11.Token.ensureValid:()V
         1: .line 590
            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 599
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
            invokevirtual sun.security.pkcs11.Token.ensureValid:()V
         1: .line 600
            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 615
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
            invokevirtual sun.security.pkcs11.Token.ensureValid:()V
         1: .line 617
            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 618
            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 619
      StackMap locals: sun.security.pkcs11.P11KeyStore$AliasInfo
      StackMap stack:
            iconst_0
            ireturn
         4: .line 621
      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 636
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
            invokevirtual sun.security.pkcs11.Token.ensureValid:()V
         1: .line 638
            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 639
            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 640
      StackMap locals: sun.security.pkcs11.P11KeyStore$AliasInfo
      StackMap stack:
            iconst_0
            ireturn
         4: .line 642
      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 669
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
            invokevirtual sun.security.pkcs11.Token.ensureValid:()V
         1: .line 670
            aload 0 /* this */
            invokevirtual sun.security.pkcs11.P11KeyStore.engineAliases:()Ljava/util/Enumeration;
            astore 2 /* e */
        start local 2 // java.util.Enumeration e
         2: .line 671
            goto 7
         3: .line 672
      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 673
            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 674
            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 675
            aload 3 /* alias */
            areturn
        end local 4 // java.security.cert.Certificate tokenCert
        end local 3 // java.lang.String alias
         7: .line 671
      StackMap locals:
      StackMap stack:
            aload 2 /* e */
            invokeinterface java.util.Enumeration.hasMoreElements:()Z
            ifne 3
         8: .line 678
            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 690
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
            invokevirtual sun.security.pkcs11.Token.ensureValid:()V
         1: .line 691
            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 692
            new java.io.IOException
            dup
            ldc "output stream must be null"
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 695
      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 696
            new java.io.IOException
            dup
            ldc "password must be null"
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
         5: .line 698
      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 712
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
            invokevirtual sun.security.pkcs11.Token.ensureValid:()V
         1: .line 713
            aload 1 /* param */
            ifnull 5
         2: .line 714
            new java.lang.IllegalArgumentException
            dup
         3: .line 715
            ldc "LoadStoreParameter must be null"
         4: .line 714
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         5: .line 717
      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 735
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
            invokevirtual sun.security.pkcs11.Token.ensureValid:()V
         1: .line 741
            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 742
            new java.io.IOException
            dup
            ldc "input stream must be null"
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 745
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.useSecmodTrust:Z
            ifeq 5
         4: .line 746
            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 750
      StackMap locals:
      StackMap stack:
            aload 2 /* password */
            ifnonnull 8
         6: .line 751
            aload 0 /* this */
            aconst_null
            invokevirtual sun.security.pkcs11.P11KeyStore.login:(Ljavax/security/auth/callback/CallbackHandler;)V
         7: .line 752
            goto 19
         8: .line 753
      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 755
            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 756
            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 757
            aload 4 /* cause */
            instanceof sun.security.pkcs11.wrapper.PKCS11Exception
            ifeq 18
        13: .line 758
            aload 4 /* cause */
            checkcast sun.security.pkcs11.wrapper.PKCS11Exception
            astore 5 /* pe */
        start local 5 // sun.security.pkcs11.wrapper.PKCS11Exception pe
        14: .line 759
            aload 5 /* pe */
            invokevirtual sun.security.pkcs11.wrapper.PKCS11Exception.getErrorCode:()J
            ldc 160
            lcmp
            ifne 18
        15: .line 762
            new java.io.IOException
            dup
            ldc "load failed"
        16: .line 763
            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 762
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 5 // sun.security.pkcs11.wrapper.PKCS11Exception pe
        18: .line 766
      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 770
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual sun.security.pkcs11.P11KeyStore.mapLabels:()Z
            ifeq 21
        20: .line 772
            aload 0 /* this */
            iconst_1
            putfield sun.security.pkcs11.P11KeyStore.writeDisabled:Z
        21: .line 774
      StackMap locals:
      StackMap stack:
            getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
            ifnull 26
        22: .line 775
            aload 0 /* this */
            invokevirtual sun.security.pkcs11.P11KeyStore.dumpTokenMap:()V
        23: .line 777
            goto 26
      StackMap locals:
      StackMap stack: java.lang.Exception
        24: astore 3 /* e */
        start local 3 // java.lang.Exception e
        25: .line 778
            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 780
      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 809
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
            invokevirtual sun.security.pkcs11.Token.ensureValid:()V
         1: .line 819
            aload 1 /* param */
            ifnonnull 5
         2: .line 820
            new java.lang.IllegalArgumentException
            dup
         3: .line 821
            ldc "invalid null LoadStoreParameter"
         4: .line 820
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         5: .line 823
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.useSecmodTrust:Z
            ifeq 10
         6: .line 824
            aload 1 /* param */
            instanceof sun.security.pkcs11.Secmod$KeyStoreLoadParameter
            ifeq 9
         7: .line 825
            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 826
            goto 10
         9: .line 827
      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 832
      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 833
            aload 3 /* pp */
            instanceof java.security.KeyStore$PasswordProtection
            ifeq 18
        12: .line 834
            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 835
            aload 4 /* password */
            ifnonnull 16
        14: .line 836
            aconst_null
            astore 2 /* handler */
        start local 2 // javax.security.auth.callback.CallbackHandler handler
        15: .line 837
            goto 24
        end local 2 // javax.security.auth.callback.CallbackHandler handler
        16: .line 838
      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 840
            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 841
            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 842
            goto 24
        end local 2 // javax.security.auth.callback.CallbackHandler handler
        21: .line 843
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
        22: .line 844
            ldc "ProtectionParameter must be either PasswordProtection or CallbackHandlerProtection"
        23: .line 843
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        start local 2 // javax.security.auth.callback.CallbackHandler handler
        24: .line 849
      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 850
            aload 0 /* this */
            invokevirtual sun.security.pkcs11.P11KeyStore.mapLabels:()Z
            ifeq 27
        26: .line 852
            aload 0 /* this */
            iconst_1
            putfield sun.security.pkcs11.P11KeyStore.writeDisabled:Z
        27: .line 854
      StackMap locals:
      StackMap stack:
            getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
            ifnull 32
        28: .line 855
            aload 0 /* this */
            invokevirtual sun.security.pkcs11.P11KeyStore.dumpTokenMap:()V
        29: .line 857
            goto 32
      StackMap locals:
      StackMap stack: java.lang.Exception
        30: astore 4 /* e */
        start local 4 // java.lang.Exception e
        31: .line 858
            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 860
      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 863
            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 864
            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 865
            goto 7
         3: .line 868
      StackMap locals:
      StackMap stack:
            aload 1 /* handler */
            ifnull 6
         4: .line 869
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
            getfield sun.security.pkcs11.Token.config:Lsun/security/pkcs11/Config;
            invokevirtual sun.security.pkcs11.Config.getKeyStoreCompatibilityMode:()Z
            ifne 6
         5: .line 870
            new javax.security.auth.login.LoginException
            dup
            ldc "can not specify password if token supports protected authentication path"
            invokespecial javax.security.auth.login.LoginException.<init>:(Ljava/lang/String;)V
            athrow
         6: .line 876
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
            getfield sun.security.pkcs11.Token.provider:Lsun/security/pkcs11/SunPKCS11;
            aconst_null
            aconst_null
            invokevirtual sun.security.pkcs11.SunPKCS11.login:(Ljavax/security/auth/Subject;Ljavax/security/auth/callback/CallbackHandler;)V
         7: .line 878
      StackMap locals:
      StackMap stack:
            return
        end local 1 // javax.security.auth.callback.CallbackHandler handler
        end local 0 // sun.security.pkcs11.P11KeyStore this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    8     0     this  Lsun/security/pkcs11/P11KeyStore;
            0    8     1  handler  Ljavax/security/auth/callback/CallbackHandler;
    Exceptions:
      throws javax.security.auth.login.LoginException
    MethodParameters:
         Name  Flags
      handler  

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

  public synchronized void engineSetEntry(java.lang.String, java.security.KeyStore$Entry, java.security.KeyStore$ProtectionParameter);
    descriptor: (Ljava/lang/String;Ljava/security/KeyStore$Entry;Ljava/security/KeyStore$ProtectionParameter;)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=7, locals=11, args_size=4
        start local 0 // sun.security.pkcs11.P11KeyStore this
        start local 1 // java.lang.String alias
        start local 2 // java.security.KeyStore$Entry entry
        start local 3 // java.security.KeyStore$ProtectionParameter protParam
         0: .line 1004
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
            invokevirtual sun.security.pkcs11.Token.ensureValid:()V
         1: .line 1005
            aload 0 /* this */
            invokevirtual sun.security.pkcs11.P11KeyStore.checkWrite:()V
         2: .line 1007
            aload 3 /* protParam */
            ifnull 9
         3: .line 1008
            aload 3 /* protParam */
            instanceof java.security.KeyStore$PasswordProtection
            ifeq 9
         4: .line 1009
            aload 3 /* protParam */
            checkcast java.security.KeyStore$PasswordProtection
            invokevirtual java.security.KeyStore$PasswordProtection.getPassword:()[C
            ifnull 9
         5: .line 1010
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
            getfield sun.security.pkcs11.Token.config:Lsun/security/pkcs11/Config;
            invokevirtual sun.security.pkcs11.Config.getKeyStoreCompatibilityMode:()Z
            ifne 9
         6: .line 1011
            new java.security.KeyStoreException
            dup
            new java.lang.UnsupportedOperationException
            dup
         7: .line 1012
            ldc "ProtectionParameter must be null"
            invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
         8: .line 1011
            invokespecial java.security.KeyStoreException.<init>:(Ljava/lang/Throwable;)V
            athrow
         9: .line 1015
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
            invokevirtual sun.security.pkcs11.Token.isWriteProtected:()Z
            ifeq 11
        10: .line 1016
            new java.security.KeyStoreException
            dup
            ldc "token write-protected"
            invokespecial java.security.KeyStoreException.<init>:(Ljava/lang/String;)V
            athrow
        11: .line 1019
      StackMap locals:
      StackMap stack:
            aload 2 /* entry */
            instanceof java.security.KeyStore$TrustedCertificateEntry
            ifeq 32
        12: .line 1021
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.useSecmodTrust:Z
            ifne 16
        13: .line 1023
            new java.security.KeyStoreException
            dup
            new java.lang.UnsupportedOperationException
            dup
        14: .line 1024
            ldc "trusted certificates may only be set by token initialization application"
            invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
        15: .line 1023
            invokespecial java.security.KeyStoreException.<init>:(Ljava/lang/Throwable;)V
            athrow
        16: .line 1027
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
            getfield sun.security.pkcs11.Token.provider:Lsun/security/pkcs11/SunPKCS11;
            getfield sun.security.pkcs11.SunPKCS11.nssModule:Lsun/security/pkcs11/Secmod$Module;
            astore 4 /* module */
        start local 4 // sun.security.pkcs11.Secmod$Module module
        17: .line 1028
            aload 4 /* module */
            getfield sun.security.pkcs11.Secmod$Module.type:Lsun/security/pkcs11/Secmod$ModuleType;
            getstatic sun.security.pkcs11.Secmod$ModuleType.KEYSTORE:Lsun/security/pkcs11/Secmod$ModuleType;
            if_acmpeq 19
            aload 4 /* module */
            getfield sun.security.pkcs11.Secmod$Module.type:Lsun/security/pkcs11/Secmod$ModuleType;
            getstatic sun.security.pkcs11.Secmod$ModuleType.FIPS:Lsun/security/pkcs11/Secmod$ModuleType;
            if_acmpeq 19
        18: .line 1030
            new java.security.KeyStoreException
            dup
            ldc "Trusted certificates can only be added to the NSS KeyStore module"
            invokespecial java.security.KeyStoreException.<init>:(Ljava/lang/String;)V
            athrow
        19: .line 1033
      StackMap locals: sun.security.pkcs11.Secmod$Module
      StackMap stack:
            aload 2 /* entry */
            checkcast java.security.KeyStore$TrustedCertificateEntry
            invokevirtual java.security.KeyStore$TrustedCertificateEntry.getTrustedCertificate:()Ljava/security/cert/Certificate;
            astore 5 /* cert */
        start local 5 // java.security.cert.Certificate cert
        20: .line 1034
            aload 5 /* cert */
            instanceof java.security.cert.X509Certificate
            ifne 22
        21: .line 1035
            new java.security.KeyStoreException
            dup
            ldc "Certificate must be an X509Certificate"
            invokespecial java.security.KeyStoreException.<init>:(Ljava/lang/String;)V
            athrow
        22: .line 1037
      StackMap locals: java.security.cert.Certificate
      StackMap stack:
            aload 5 /* cert */
            checkcast java.security.cert.X509Certificate
            astore 6 /* xcert */
        start local 6 // java.security.cert.X509Certificate xcert
        23: .line 1038
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.aliasMap:Ljava/util/HashMap;
            aload 1 /* alias */
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast sun.security.pkcs11.P11KeyStore$AliasInfo
            astore 7 /* info */
        start local 7 // sun.security.pkcs11.P11KeyStore$AliasInfo info
        24: .line 1039
            aload 7 /* info */
            ifnull 26
        25: .line 1041
            aload 0 /* this */
            aload 1 /* alias */
            invokevirtual sun.security.pkcs11.P11KeyStore.deleteEntry:(Ljava/lang/String;)Z
            pop
        26: .line 1044
      StackMap locals: java.security.cert.X509Certificate sun.security.pkcs11.P11KeyStore$AliasInfo
      StackMap stack:
            aload 0 /* this */
            aload 1 /* alias */
            aload 6 /* xcert */
            invokevirtual sun.security.pkcs11.P11KeyStore.storeCert:(Ljava/lang/String;Ljava/security/cert/X509Certificate;)V
        27: .line 1045
            aload 4 /* module */
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
            aload 6 /* xcert */
            invokevirtual sun.security.pkcs11.Secmod$Module.setTrust:(Lsun/security/pkcs11/Token;Ljava/security/cert/X509Certificate;)V
        28: .line 1046
            aload 0 /* this */
            invokevirtual sun.security.pkcs11.P11KeyStore.mapLabels:()Z
            pop
        29: .line 1047
            goto 97
      StackMap locals:
      StackMap stack: java.lang.Exception
        30: astore 8 /* e */
        start local 8 // java.lang.Exception e
        31: .line 1048
            new java.security.KeyStoreException
            dup
            aload 8 /* e */
            invokespecial java.security.KeyStoreException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 8 // 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 1053
      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 1056
            aload 2 /* entry */
            checkcast java.security.KeyStore$PrivateKeyEntry
            invokevirtual java.security.KeyStore$PrivateKeyEntry.getPrivateKey:()Ljava/security/PrivateKey;
        34: .line 1055
            astore 4 /* key */
        start local 4 // java.security.PrivateKey key
        35: .line 1057
            aload 4 /* key */
            instanceof sun.security.pkcs11.P11Key
            ifne 43
        36: .line 1058
            aload 4 /* key */
            instanceof java.security.interfaces.RSAPrivateKey
            ifne 43
        37: .line 1059
            aload 4 /* key */
            instanceof java.security.interfaces.DSAPrivateKey
            ifne 43
        38: .line 1060
            aload 4 /* key */
            instanceof javax.crypto.interfaces.DHPrivateKey
            ifne 43
        39: .line 1061
            aload 4 /* key */
            instanceof java.security.interfaces.ECPrivateKey
            ifne 43
        40: .line 1062
            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 1063
            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 1062
            invokespecial java.security.KeyStoreException.<init>:(Ljava/lang/String;)V
            athrow
        43: .line 1068
      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 1067
            astore 5 /* chain */
        start local 5 // java.security.cert.Certificate[] chain
        45: .line 1069
            aload 5 /* chain */
            instanceof java.security.cert.X509Certificate[]
            ifne 53
        46: .line 1070
            new java.security.KeyStoreException
            dup
        47: .line 1071
            new java.lang.UnsupportedOperationException
            dup
        48: .line 1072
            new java.lang.StringBuilder
            dup
            ldc "unsupported certificate array type: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        49: .line 1073
            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 1072
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        51: .line 1071
            invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
        52: .line 1070
            invokespecial java.security.KeyStoreException.<init>:(Ljava/lang/Throwable;)V
            athrow
        53: .line 1077
      StackMap locals: java.security.cert.Certificate[]
      StackMap stack:
            iconst_0
            istore 6 /* updatedAlias */
        start local 6 // boolean updatedAlias
        54: .line 1078
            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 1079
            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 1083
            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 1084
            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 1085
            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 1086
            aload 5 /* chain */
            iconst_0
            aaload
            invokevirtual java.security.cert.Certificate.getPublicKey:()Ljava/security/PublicKey;
        61: .line 1085
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
        62: .line 1086
            ifeq 71
        63: .line 1094
            aload 0 /* this */
            aload 1 /* alias */
        64: .line 1095
            aload 10 /* aliasInfo */
            getfield sun.security.pkcs11.P11KeyStore$AliasInfo.id:[B
        65: .line 1096
            aload 5 /* chain */
            checkcast java.security.cert.X509Certificate[]
        66: .line 1097
            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 1094
      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 1098
            iconst_1
            istore 6 /* updatedAlias */
        70: .line 1099
            goto 72
        end local 10 // sun.security.pkcs11.P11KeyStore$AliasInfo aliasInfo
        end local 8 // java.lang.String oldAlias
        71: .line 1079
      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 1103
      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 1105
            aload 0 /* this */
            aload 1 /* alias */
            invokevirtual sun.security.pkcs11.P11KeyStore.engineDeleteEntry:(Ljava/lang/String;)V
        74: .line 1106
            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 1109
            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 1110
            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 1113
      StackMap locals:
      StackMap stack:
            aload 2 /* entry */
            instanceof java.security.KeyStore$SecretKeyEntry
            ifeq 88
        79: .line 1115
            aload 2 /* entry */
            checkcast java.security.KeyStore$SecretKeyEntry
            astore 4 /* ske */
        start local 4 // java.security.KeyStore$SecretKeyEntry ske
        80: .line 1116
            aload 4 /* ske */
            invokevirtual java.security.KeyStore$SecretKeyEntry.getSecretKey:()Ljavax/crypto/SecretKey;
            pop
        81: .line 1120
            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 1122
            aload 5 /* aliasInfo */
            ifnull 84
        83: .line 1123
            aload 0 /* this */
            aload 1 /* alias */
            invokevirtual sun.security.pkcs11.P11KeyStore.engineDeleteEntry:(Ljava/lang/String;)V
        84: .line 1125
      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 1127
            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 1128
            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 1132
      StackMap locals:
      StackMap stack:
            new java.security.KeyStoreException
            dup
            new java.lang.UnsupportedOperationException
            dup
        89: .line 1133
            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 1132
            invokespecial java.security.KeyStoreException.<init>:(Ljava/lang/Throwable;)V
            athrow
        91: .line 1143
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual sun.security.pkcs11.P11KeyStore.mapLabels:()Z
            pop
        92: .line 1144
            getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
            ifnull 97
        93: .line 1145
            aload 0 /* this */
            invokevirtual sun.security.pkcs11.P11KeyStore.dumpTokenMap:()V
        94: .line 1147
            goto 97
      StackMap locals:
      StackMap stack: java.lang.Exception
        95: astore 4 /* pe */
        start local 4 // java.lang.Exception pe
        96: .line 1148
            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 1152
      StackMap locals:
      StackMap stack:
            getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
            ifnull 104
        98: .line 1153
            getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
        99: .line 1154
            new java.lang.StringBuilder
            dup
            ldc "engineSetEntry added new entry for ["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
       100: .line 1155
            aload 1 /* alias */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
       101: .line 1156
            ldc "] to token"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
       102: .line 1154
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
       103: .line 1153
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
       104: .line 1158
      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 1174
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
            invokevirtual sun.security.pkcs11.Token.ensureValid:()V
         1: .line 1175
            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 1182
            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 1181
            astore 4 /* attrs */
        start local 4 // sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] attrs
         2: .line 1183
            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 1185
            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 1186
            aload 5 /* bytes */
            ifnonnull 8
         5: .line 1187
            new java.security.cert.CertificateException
            dup
         6: .line 1188
            ldc "unexpectedly retrieved null byte array"
         7: .line 1187
            invokespecial java.security.cert.CertificateException.<init>:(Ljava/lang/String;)V
            athrow
         8: .line 1190
      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 1191
            aload 6 /* cf */
        10: .line 1192
            new java.io.ByteArrayInputStream
            dup
            aload 5 /* bytes */
            invokespecial java.io.ByteArrayInputStream.<init>:([B)V
        11: .line 1191
            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 1199
            aconst_null
            astore 3 /* lChain */
        start local 3 // java.util.ArrayList lChain
         1: .line 1201
            aload 2 /* endCert */
            invokevirtual java.security.cert.X509Certificate.getSubjectX500Principal:()Ljavax/security/auth/x500/X500Principal;
         2: .line 1202
            aload 2 /* endCert */
            invokevirtual java.security.cert.X509Certificate.getIssuerX500Principal:()Ljavax/security/auth/x500/X500Principal;
         3: .line 1201
            invokevirtual javax.security.auth.x500.X500Principal.equals:(Ljava/lang/Object;)Z
         4: .line 1202
            ifeq 6
         5: .line 1204
            iconst_1
            anewarray java.security.cert.X509Certificate
            dup
            iconst_0
            aload 2 /* endCert */
            aastore
            areturn
         6: .line 1206
      StackMap locals: java.util.ArrayList
      StackMap stack:
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 3 /* lChain */
         7: .line 1207
            aload 3 /* lChain */
            aload 2 /* endCert */
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
         8: .line 1213
            aload 2 /* endCert */
            astore 4 /* next */
        start local 4 // java.security.cert.X509Certificate next
         9: .line 1215
      StackMap locals: java.security.cert.X509Certificate
      StackMap stack:
            iconst_3
            anewarray sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            iconst_0
        10: .line 1216
            getstatic sun.security.pkcs11.P11KeyStore.ATTR_TOKEN_TRUE:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            aastore
            dup
            iconst_1
        11: .line 1217
            getstatic sun.security.pkcs11.P11KeyStore.ATTR_CLASS_CERT:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            aastore
            dup
            iconst_2
        12: .line 1218
            new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            ldc 257
        13: .line 1219
            aload 4 /* next */
            invokevirtual java.security.cert.X509Certificate.getIssuerX500Principal:()Ljavax/security/auth/x500/X500Principal;
            invokevirtual javax.security.auth.x500.X500Principal.getEncoded:()[B
        14: .line 1218
            invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JLjava/lang/Object;)V
            aastore
        15: .line 1215
            astore 5 /* attrs */
        start local 5 // sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] attrs
        16: .line 1220
            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 1222
            aload 6 /* ch */
            ifnull 32
            aload 6 /* ch */
            arraylength
            ifne 19
        18: .line 1224
            goto 32
        19: .line 1227
      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 1228
            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 1229
            aload 6 /* ch */
            arraylength
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
        22: .line 1230
            ldc " certificate entries for subject ["
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        23: .line 1231
            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 1232
            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 1228
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        26: .line 1235
      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 1236
            aload 3 /* lChain */
            aload 4 /* next */
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        28: .line 1237
            aload 4 /* next */
            invokevirtual java.security.cert.X509Certificate.getSubjectX500Principal:()Ljavax/security/auth/x500/X500Principal;
        29: .line 1238
            aload 4 /* next */
            invokevirtual java.security.cert.X509Certificate.getIssuerX500Principal:()Ljavax/security/auth/x500/X500Principal;
        30: .line 1237
            invokevirtual javax.security.auth.x500.X500Principal.equals:(Ljava/lang/Object;)Z
        31: .line 1238
            ifeq 9
        end local 6 // long[] ch
        end local 5 // sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] attrs
        32: .line 1245
      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 1251
            iconst_1
            anewarray sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            iconst_0
         1: .line 1252
            new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            ldc 256
            invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(J)V
            aastore
         2: .line 1251
            astore 4 /* attrs */
        start local 4 // sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] attrs
         3: .line 1253
            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 1254
            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 1256
            aconst_null
            astore 7 /* keyType */
        start local 7 // java.lang.String keyType
         6: .line 1257
            iconst_m1
            istore 8 /* keyLength */
        start local 8 // int keyLength
         7: .line 1261
            lload 5 /* kType */
            ldc 19
            lcmp
            ifeq 8
            lload 5 /* kType */
            ldc 21
            lcmp
            ifne 16
         8: .line 1262
      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 1263
            ldc "DES"
            astore 7 /* keyType */
        10: .line 1264
            bipush 64
            istore 8 /* keyLength */
        11: .line 1265
            goto 34
      StackMap locals:
      StackMap stack:
        12: lload 5 /* kType */
            ldc 21
            lcmp
            ifne 34
        13: .line 1266
            ldc "DESede"
            astore 7 /* keyType */
        14: .line 1267
            sipush 192
            istore 8 /* keyLength */
        15: .line 1269
            goto 34
        16: .line 1270
      StackMap locals:
      StackMap stack:
            lload 5 /* kType */
            ldc 31
            lcmp
            ifne 19
        17: .line 1271
            ldc "AES"
            astore 7 /* keyType */
        18: .line 1272
            goto 31
      StackMap locals:
      StackMap stack:
        19: lload 5 /* kType */
            ldc 32
            lcmp
            ifne 22
        20: .line 1273
            ldc "Blowfish"
            astore 7 /* keyType */
        21: .line 1274
            goto 31
      StackMap locals:
      StackMap stack:
        22: lload 5 /* kType */
            ldc 18
            lcmp
            ifne 25
        23: .line 1275
            ldc "ARCFOUR"
            astore 7 /* keyType */
        24: .line 1276
            goto 31
        25: .line 1277
      StackMap locals:
      StackMap stack:
            getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
            ifnull 30
        26: .line 1278
            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 1279
            lload 5 /* kType */
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
        28: .line 1280
            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 1278
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        30: .line 1282
      StackMap locals:
      StackMap stack:
            ldc "Generic Secret"
            astore 7 /* keyType */
        31: .line 1289
      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 1290
            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 1291
            aload 4 /* attrs */
            iconst_0
            aaload
            invokevirtual sun.security.pkcs11.wrapper.CK_ATTRIBUTE.getLong:()J
            l2i
            istore 8 /* keyLength */
        34: .line 1295
      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 1301
            iconst_1
            anewarray sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            iconst_0
         1: .line 1302
            new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            ldc 256
            invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(J)V
            aastore
         2: .line 1301
            astore 4 /* attrs */
        start local 4 // sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] attrs
         3: .line 1303
            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 1304
            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 1305
            aconst_null
            astore 7 /* keyType */
        start local 7 // java.lang.String keyType
         6: .line 1306
            iconst_0
            istore 8 /* keyLength */
        start local 8 // int keyLength
         7: .line 1308
            lload 5 /* kType */
            lconst_0
            lcmp
            ifne 25
         8: .line 1310
            ldc "RSA"
            astore 7 /* keyType */
         9: .line 1312
            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 1313
            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 1314
            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 1315
            aload 9 /* modulus */
            invokevirtual java.math.BigInteger.bitLength:()I
            istore 8 /* keyLength */
        13: .line 1320
            iload 8 /* keyLength */
            aconst_null
        14: .line 1321
            iconst_m1
            ldc 2147483647
        15: .line 1320
            invokestatic sun.security.rsa.RSAKeyFactory.checkKeyLengths:(ILjava/math/BigInteger;II)V
        16: .line 1322
            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 1323
            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 1326
      StackMap locals:
      StackMap stack:
            aload 1 /* session */
        20: .line 1327
            lload 2 /* oHandle */
        21: .line 1328
            aload 7 /* keyType */
        22: .line 1329
            iload 8 /* keyLength */
        23: .line 1330
            aconst_null
        24: .line 1326
            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 1332
      StackMap locals:
      StackMap stack:
            lload 5 /* kType */
            lconst_1
            lcmp
            ifne 37
        26: .line 1334
            ldc "DSA"
            astore 7 /* keyType */
        27: .line 1336
            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 1337
            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 1338
            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 1339
            aload 9 /* prime */
            invokevirtual java.math.BigInteger.bitLength:()I
            istore 8 /* keyLength */
        31: .line 1341
            aload 1 /* session */
        32: .line 1342
            lload 2 /* oHandle */
        33: .line 1343
            aload 7 /* keyType */
        34: .line 1344
            iload 8 /* keyLength */
        35: .line 1345
            aconst_null
        36: .line 1341
            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 1347
      StackMap locals:
      StackMap stack:
            lload 5 /* kType */
            ldc 2
            lcmp
            ifne 49
        38: .line 1349
            ldc "DH"
            astore 7 /* keyType */
        39: .line 1351
            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 1352
            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 1353
            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 1354
            aload 9 /* prime */
            invokevirtual java.math.BigInteger.bitLength:()I
            istore 8 /* keyLength */
        43: .line 1356
            aload 1 /* session */
        44: .line 1357
            lload 2 /* oHandle */
        45: .line 1358
            aload 7 /* keyType */
        46: .line 1359
            iload 8 /* keyLength */
        47: .line 1360
            aconst_null
        48: .line 1356
            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 1362
      StackMap locals:
      StackMap stack:
            lload 5 /* kType */
            ldc 3
            lcmp
            ifne 62
        50: .line 1364
            iconst_1
            anewarray sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            iconst_0
        51: .line 1365
            new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            ldc 384
            invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(J)V
            aastore
        52: .line 1364
            astore 4 /* attrs */
        53: .line 1367
            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 1368
            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 1371
            aconst_null
            aload 9 /* encodedParams */
            invokestatic sun.security.util.ECUtil.getECParameterSpec:(Ljava/security/Provider;[B)Ljava/security/spec/ECParameterSpec;
        56: .line 1370
            astore 10 /* params */
        start local 10 // java.security.spec.ECParameterSpec params
        57: .line 1372
            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 1373
            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 1375
            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 1378
      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 1381
      StackMap locals:
      StackMap stack:
            getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
            ifnull 64
        63: .line 1382
            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 1384
      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 1419
            iconst_1
            istore 4 /* replaceCert */
         1: .line 1421
            aconst_null
            astore 5 /* session */
        start local 5 // sun.security.pkcs11.Session session
         2: .line 1423
            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 1427
            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 1429
            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 1430
            aload 6 /* h */
            getfield sun.security.pkcs11.P11KeyStore$THandle.handle:J
            lstore 7 /* pKeyHandle */
        start local 7 // long pKeyHandle
         6: .line 1431
            goto 12
        end local 7 // long pKeyHandle
         7: .line 1432
      StackMap locals: sun.security.pkcs11.Session sun.security.pkcs11.P11KeyStore$THandle
      StackMap stack:
            new java.security.KeyStoreException
            dup
         8: .line 1433
            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 1435
            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 1433
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        11: .line 1432
            invokespecial java.security.KeyStoreException.<init>:(Ljava/lang/String;)V
            athrow
        start local 7 // long pKeyHandle
        12: .line 1440
      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 1441
            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 1442
            new java.security.KeyStoreException
            dup
        15: .line 1443
            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 1445
            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 1443
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        18: .line 1442
            invokespecial java.security.KeyStoreException.<init>:(Ljava/lang/String;)V
            athrow
        19: .line 1447
      StackMap locals:
      StackMap stack:
            iload 4 /* replaceCert */
            ifeq 22
        20: .line 1449
            aload 0 /* this */
            aload 2 /* cka_id */
            invokevirtual sun.security.pkcs11.P11KeyStore.destroyChain:([B)Z
            pop
        21: .line 1450
            goto 29
        22: .line 1452
      StackMap locals:
      StackMap stack:
            iconst_2
            anewarray sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            iconst_0
        23: .line 1453
            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 1454
            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 1452
            astore 9 /* attrs */
        start local 9 // sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] attrs
        26: .line 1455
            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 1456
            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 1455
            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 1462
      StackMap locals:
      StackMap stack:
            iload 4 /* replaceCert */
            ifeq 32
        30: .line 1464
            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 1465
            goto 33
        32: .line 1468
      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 1475
      StackMap locals:
      StackMap stack:
            iconst_1
            anewarray sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            iconst_0
        34: .line 1476
            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 1475
            astore 9 /* attrs */
        start local 9 // sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] attrs
        36: .line 1477
            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 1479
            getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
            ifnull 46
        38: .line 1480
            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 1481
            aload 1 /* alias */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        40: .line 1482
            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 1480
            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 1484
            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 1485
            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 1486
            aload 10
            athrow
        46: .line 1485
      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 1487
            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 1495
            aconst_null
            astore 4 /* session */
        start local 4 // sun.security.pkcs11.Session session
         1: .line 1497
            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 1498
            aload 3 /* key */
            getfield sun.security.pkcs11.P11Key.tokenObject:Z
            ifeq 15
         3: .line 1502
            iconst_1
            anewarray sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            iconst_0
         4: .line 1503
            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 1502
            astore 5 /* attrs */
        start local 5 // sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] attrs
         6: .line 1504
            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 1505
            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 1504
            invokevirtual sun.security.pkcs11.wrapper.PKCS11.C_SetAttributeValue:(JJ[Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;)V
         9: .line 1506
            getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
            ifnull 31
        10: .line 1507
            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 1508
            aload 1 /* alias */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        12: .line 1509
            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 1507
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        end local 5 // sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] attrs
        14: .line 1511
            goto 31
        15: .line 1515
      StackMap locals: sun.security.pkcs11.Session
      StackMap stack:
            iconst_2
            anewarray sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            iconst_0
        16: .line 1516
            getstatic sun.security.pkcs11.P11KeyStore.ATTR_TOKEN_TRUE:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            aastore
            dup
            iconst_1
        17: .line 1517
            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 1515
            astore 5 /* attrs */
        start local 5 // sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] attrs
        19: .line 1519
            aload 2 /* attribute */
            ifnull 21
        20: .line 1520
            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 1522
      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 1523
            getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
            ifnull 31
        23: .line 1524
            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 1526
            aload 1 /* alias */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        25: .line 1527
            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 1524
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        end local 5 // sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] attrs
        27: .line 1530
            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 1531
            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 1532
            aload 6
            athrow
        31: .line 1531
      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 1533
            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 1538
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 3 /* attrList */
        start local 3 // java.util.ArrayList attrList
         1: .line 1539
            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 1540
            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 1541
            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 1542
            aload 3 /* attrList */
            new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            ldc 257
         5: .line 1543
            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 1542
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
         7: .line 1544
            aload 3 /* attrList */
            new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            ldc 129
         8: .line 1545
            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 1544
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        10: .line 1546
            aload 3 /* attrList */
            new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            ldc 130
        11: .line 1547
            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 1546
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        13: .line 1548
            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 1550
            aload 1 /* alias */
            ifnull 18
        15: .line 1551
            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 1552
            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 1553
            goto 25
        18: .line 1556
      StackMap locals: java.util.ArrayList
      StackMap stack:
            aload 3 /* attrList */
            new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            ldc 258
        19: .line 1557
            aload 0 /* this */
            aload 2 /* cert */
            invokevirtual java.security.cert.X509Certificate.getSubjectX500Principal:()Ljavax/security/auth/x500/X500Principal;
        20: .line 1558
            ldc "CANONICAL"
        21: .line 1557
            invokevirtual javax.security.auth.x500.X500Principal.getName:(Ljava/lang/String;)Ljava/lang/String;
        22: .line 1558
            aload 2 /* cert */
        23: .line 1557
            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 1556
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        25: .line 1561
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 4 /* session */
        start local 4 // sun.security.pkcs11.Session session
        26: .line 1563
            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 1564
            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 1565
            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 1564
            invokevirtual sun.security.pkcs11.wrapper.PKCS11.C_CreateObject:(J[Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;)J
            pop2
        30: .line 1566
            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 1567
            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 1568
            aload 5
            athrow
        34: .line 1567
      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 1569
            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 1579
            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 1580
            aload 0 /* this */
            aload 2 /* chain */
            iconst_1
            invokevirtual sun.security.pkcs11.P11KeyStore.storeCaCerts:([Ljava/security/cert/X509Certificate;I)V
         2: .line 1581
            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 1590
            aconst_null
            astore 3 /* session */
        start local 3 // sun.security.pkcs11.Session session
         1: .line 1591
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 4 /* cacerts */
        start local 4 // java.util.HashSet cacerts
         2: .line 1593
            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 1594
            iconst_2
            anewarray sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            iconst_0
         4: .line 1595
            getstatic sun.security.pkcs11.P11KeyStore.ATTR_TOKEN_TRUE:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            aastore
            dup
            iconst_1
         5: .line 1596
            getstatic sun.security.pkcs11.P11KeyStore.ATTR_CLASS_CERT:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            aastore
         6: .line 1594
            astore 5 /* attrs */
        start local 5 // sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] attrs
         7: .line 1597
            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 1600
            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 1601
            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 1600
            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 1603
            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 1604
            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 1605
            aload 12
            athrow
        17: .line 1604
      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 1607
            iload 2 /* start */
            istore 5 /* i */
        start local 5 // int i
        19: goto 29
        20: .line 1608
      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 1609
            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 1610
            goto 28
      StackMap locals:
      StackMap stack:
        23: getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
            ifnull 28
        24: .line 1611
            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 1612
            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 1613
            ldc "]"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        27: .line 1611
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        28: .line 1607
      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 1616
            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 1621
            aload 2 /* ske */
            invokevirtual java.security.KeyStore$SecretKeyEntry.getSecretKey:()Ljavax/crypto/SecretKey;
            astore 3 /* skey */
        start local 3 // javax.crypto.SecretKey skey
         1: .line 1624
            iconst_3
            anewarray sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            iconst_0
         2: .line 1625
            getstatic sun.security.pkcs11.P11KeyStore.ATTR_SKEY_TOKEN_TRUE:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            aastore
            dup
            iconst_1
         3: .line 1626
            getstatic sun.security.pkcs11.P11KeyStore.ATTR_PRIVATE_TRUE:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            aastore
            dup
            iconst_2
         4: .line 1627
            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 1624
            astore 4 /* attrs */
        start local 4 // sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] attrs
         6: .line 1630
            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 1631
            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 1633
            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 1637
      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 1639
            getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
            ifnull 15
        12: .line 1640
            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 1641
            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 1640
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        15: .line 1643
      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 1646
            aload 0 /* attrs */
            arraylength
            istore 2 /* n */
        start local 2 // int n
         1: .line 1647
            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 1648
            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 1649
            aload 3 /* newAttrs */
            iload 2 /* n */
            aload 1 /* attr */
            aastore
         4: .line 1650
            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 1656
            aload 2 /* pke */
            invokevirtual java.security.KeyStore$PrivateKeyEntry.getPrivateKey:()Ljava/security/PrivateKey;
            astore 3 /* key */
        start local 3 // java.security.PrivateKey key
         1: .line 1657
            aconst_null
            astore 4 /* attrs */
        start local 4 // sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] attrs
         2: .line 1662
            aload 3 /* key */
            instanceof sun.security.pkcs11.P11Key
            ifeq 8
         3: .line 1663
            aload 3 /* key */
            checkcast sun.security.pkcs11.P11Key
            astore 5 /* p11Key */
        start local 5 // sun.security.pkcs11.P11Key p11Key
         4: .line 1664
            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 1665
            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 1666
            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 1667
            return
        end local 5 // sun.security.pkcs11.P11Key p11Key
         8: .line 1671
      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 1672
            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 1674
            aload 3 /* key */
            instanceof java.security.interfaces.RSAPrivateKey
            ifeq 16
        11: .line 1676
            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 1677
            aload 0 /* this */
        13: .line 1678
            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 1677
            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 1680
            goto 99
      StackMap locals: int java.security.PublicKey
      StackMap stack:
        16: aload 3 /* key */
            instanceof java.security.interfaces.DSAPrivateKey
            ifeq 40
        17: .line 1682
            aload 3 /* key */
            checkcast java.security.interfaces.DSAPrivateKey
            astore 7 /* dsaKey */
        start local 7 // java.security.interfaces.DSAPrivateKey dsaKey
        18: .line 1684
            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 1685
            aload 8 /* idAttrs */
            iconst_0
            aaload
            ifnonnull 21
        20: .line 1686
            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 1689
      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 1690
            getstatic sun.security.pkcs11.P11KeyStore.ATTR_TOKEN_TRUE:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            aastore
            dup
            iconst_1
        23: .line 1691
            getstatic sun.security.pkcs11.P11KeyStore.ATTR_CLASS_PKEY:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            aastore
            dup
            iconst_2
        24: .line 1692
            getstatic sun.security.pkcs11.P11KeyStore.ATTR_PRIVATE_TRUE:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            aastore
            dup
            iconst_3
        25: .line 1693
            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 1694
            aload 8 /* idAttrs */
            iconst_0
            aaload
            aastore
            dup
            iconst_5
        27: .line 1695
            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 1696
            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 1697
            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 1698
            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 1689
            astore 4 /* attrs */
        32: .line 1700
            aload 8 /* idAttrs */
            iconst_1
            aaload
            ifnull 34
        33: .line 1701
            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 1704
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
        35: .line 1705
            ldc "import"
            ldc 3
            lconst_1
            aload 4 /* attrs */
        36: .line 1704
            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 1707
            getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
            ifnull 99
        38: .line 1708
            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 1711
            goto 99
      StackMap locals:
      StackMap stack:
        40: aload 3 /* key */
            instanceof javax.crypto.interfaces.DHPrivateKey
            ifeq 61
        41: .line 1713
            aload 3 /* key */
            checkcast javax.crypto.interfaces.DHPrivateKey
            astore 7 /* dhKey */
        start local 7 // javax.crypto.interfaces.DHPrivateKey dhKey
        42: .line 1715
            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 1716
            aload 8 /* idAttrs */
            iconst_0
            aaload
            ifnonnull 45
        44: .line 1717
            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 1720
      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 1721
            getstatic sun.security.pkcs11.P11KeyStore.ATTR_TOKEN_TRUE:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            aastore
            dup
            iconst_1
        47: .line 1722
            getstatic sun.security.pkcs11.P11KeyStore.ATTR_CLASS_PKEY:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            aastore
            dup
            iconst_2
        48: .line 1723
            getstatic sun.security.pkcs11.P11KeyStore.ATTR_PRIVATE_TRUE:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            aastore
            dup
            iconst_3
        49: .line 1724
            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 1725
            aload 8 /* idAttrs */
            iconst_0
            aaload
            aastore
            dup
            iconst_5
        51: .line 1726
            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 1727
            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 1728
            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 1720
            astore 4 /* attrs */
        55: .line 1730
            aload 8 /* idAttrs */
            iconst_1
            aaload
            ifnull 57
        56: .line 1731
            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 1734
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
        58: .line 1735
            ldc "import"
            ldc 3
            ldc 2
            aload 4 /* attrs */
        59: .line 1734
            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 1737
            goto 99
      StackMap locals:
      StackMap stack:
        61: aload 3 /* key */
            instanceof java.security.interfaces.ECPrivateKey
            ifeq 85
        62: .line 1739
            aload 3 /* key */
            checkcast java.security.interfaces.ECPrivateKey
            astore 7 /* ecKey */
        start local 7 // java.security.interfaces.ECPrivateKey ecKey
        63: .line 1741
            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 1742
            aload 8 /* idAttrs */
            iconst_0
            aaload
            ifnonnull 66
        65: .line 1743
            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 1747
      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 1746
            astore 9 /* encodedParams */
        start local 9 // byte[] encodedParams
        68: .line 1748
            bipush 7
            anewarray sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            iconst_0
        69: .line 1749
            getstatic sun.security.pkcs11.P11KeyStore.ATTR_TOKEN_TRUE:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            aastore
            dup
            iconst_1
        70: .line 1750
            getstatic sun.security.pkcs11.P11KeyStore.ATTR_CLASS_PKEY:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            aastore
            dup
            iconst_2
        71: .line 1751
            getstatic sun.security.pkcs11.P11KeyStore.ATTR_PRIVATE_TRUE:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            aastore
            dup
            iconst_3
        72: .line 1752
            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 1753
            aload 8 /* idAttrs */
            iconst_0
            aaload
            aastore
            dup
            iconst_5
        74: .line 1754
            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 1755
            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 1748
            astore 4 /* attrs */
        77: .line 1757
            aload 8 /* idAttrs */
            iconst_1
            aaload
            ifnull 79
        78: .line 1758
            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 1761
      StackMap locals: byte[]
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
        80: .line 1762
            ldc "import"
            ldc 3
            ldc 3
            aload 4 /* attrs */
        81: .line 1761
            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 1764
            getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
            ifnull 99
        83: .line 1765
            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 1768
            goto 99
      StackMap locals:
      StackMap stack:
        85: aload 3 /* key */
            instanceof sun.security.pkcs11.P11Key
            ifeq 98
        86: .line 1770
            aload 3 /* key */
            checkcast sun.security.pkcs11.P11Key
            astore 7 /* p11Key */
        start local 7 // sun.security.pkcs11.P11Key p11Key
        87: .line 1771
            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 1772
            new java.security.KeyStoreException
            dup
        89: .line 1773
            ldc "Cannot move sensitive keys across tokens"
        90: .line 1772
            invokespecial java.security.KeyStoreException.<init>:(Ljava/lang/String;)V
            athrow
        91: .line 1775
      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 1776
            iload 5 /* useNDB */
            ifeq 95
        93: .line 1783
            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 1784
            aload 9 /* idAttrs */
            iconst_1
            aaload
            astore 8 /* netscapeDB */
        end local 9 // sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] idAttrs
        95: .line 1787
      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 1788
            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 1789
            return
        end local 8 // sun.security.pkcs11.wrapper.CK_ATTRIBUTE netscapeDB
        end local 7 // sun.security.pkcs11.P11Key p11Key
        98: .line 1792
      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 1795
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 7 /* session */
        start local 7 // sun.security.pkcs11.Session session
       100: .line 1797
            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 1800
            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 1801
            getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
            ifnull 111
       103: .line 1802
            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 1803
            aload 1 /* alias */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
       105: .line 1804
            ldc "]"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
       106: .line 1802
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
       107: .line 1806
            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 1807
            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 1808
            aload 8
            athrow
       111: .line 1807
      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 1810
            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 1811
            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 1819
            aconst_null
            astore 4 /* attrs */
        start local 4 // sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] attrs
         1: .line 1820
            aload 2 /* key */
            instanceof java.security.interfaces.RSAPrivateCrtKey
            ifeq 40
         2: .line 1822
            getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
            ifnull 4
         3: .line 1823
            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 1826
      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 1828
            bipush 13
            anewarray sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            iconst_0
         6: .line 1829
            getstatic sun.security.pkcs11.P11KeyStore.ATTR_TOKEN_TRUE:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            aastore
            dup
            iconst_1
         7: .line 1830
            getstatic sun.security.pkcs11.P11KeyStore.ATTR_CLASS_PKEY:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            aastore
            dup
            iconst_2
         8: .line 1831
            getstatic sun.security.pkcs11.P11KeyStore.ATTR_PRIVATE_TRUE:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            aastore
            dup
            iconst_3
         9: .line 1832
            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 1833
            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 1834
            new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            ldc 288
        12: .line 1835
            aload 5 /* rsaKey */
            invokeinterface java.security.interfaces.RSAPrivateCrtKey.getModulus:()Ljava/math/BigInteger;
        13: .line 1834
            invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JLjava/math/BigInteger;)V
            aastore
            dup
            bipush 6
        14: .line 1836
            new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            ldc 291
        15: .line 1837
            aload 5 /* rsaKey */
            invokeinterface java.security.interfaces.RSAPrivateCrtKey.getPrivateExponent:()Ljava/math/BigInteger;
        16: .line 1836
            invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JLjava/math/BigInteger;)V
            aastore
            dup
            bipush 7
        17: .line 1838
            new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            ldc 290
        18: .line 1839
            aload 5 /* rsaKey */
            invokeinterface java.security.interfaces.RSAPrivateCrtKey.getPublicExponent:()Ljava/math/BigInteger;
        19: .line 1838
            invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JLjava/math/BigInteger;)V
            aastore
            dup
            bipush 8
        20: .line 1840
            new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            ldc 292
        21: .line 1841
            aload 5 /* rsaKey */
            invokeinterface java.security.interfaces.RSAPrivateCrtKey.getPrimeP:()Ljava/math/BigInteger;
        22: .line 1840
            invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JLjava/math/BigInteger;)V
            aastore
            dup
            bipush 9
        23: .line 1842
            new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            ldc 293
        24: .line 1843
            aload 5 /* rsaKey */
            invokeinterface java.security.interfaces.RSAPrivateCrtKey.getPrimeQ:()Ljava/math/BigInteger;
        25: .line 1842
            invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JLjava/math/BigInteger;)V
            aastore
            dup
            bipush 10
        26: .line 1844
            new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            ldc 294
        27: .line 1845
            aload 5 /* rsaKey */
            invokeinterface java.security.interfaces.RSAPrivateCrtKey.getPrimeExponentP:()Ljava/math/BigInteger;
        28: .line 1844
            invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JLjava/math/BigInteger;)V
            aastore
            dup
            bipush 11
        29: .line 1846
            new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            ldc 295
        30: .line 1847
            aload 5 /* rsaKey */
            invokeinterface java.security.interfaces.RSAPrivateCrtKey.getPrimeExponentQ:()Ljava/math/BigInteger;
        31: .line 1846
            invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JLjava/math/BigInteger;)V
            aastore
            dup
            bipush 12
        32: .line 1848
            new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            ldc 296
        33: .line 1849
            aload 5 /* rsaKey */
            invokeinterface java.security.interfaces.RSAPrivateCrtKey.getCrtCoefficient:()Ljava/math/BigInteger;
        34: .line 1848
            invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JLjava/math/BigInteger;)V
            aastore
        35: .line 1828
            astore 4 /* attrs */
        36: .line 1850
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
        37: .line 1851
            ldc "import"
            ldc 3
            lconst_0
            aload 4 /* attrs */
        38: .line 1850
            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 1853
            goto 59
        40: .line 1855
      StackMap locals:
      StackMap stack:
            getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
            ifnull 42
        41: .line 1856
            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 1859
      StackMap locals:
      StackMap stack:
            aload 2 /* key */
            astore 5 /* rsaKey */
        start local 5 // java.security.interfaces.RSAPrivateKey rsaKey
        43: .line 1861
            bipush 7
            anewarray sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            iconst_0
        44: .line 1862
            getstatic sun.security.pkcs11.P11KeyStore.ATTR_TOKEN_TRUE:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            aastore
            dup
            iconst_1
        45: .line 1863
            getstatic sun.security.pkcs11.P11KeyStore.ATTR_CLASS_PKEY:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            aastore
            dup
            iconst_2
        46: .line 1864
            getstatic sun.security.pkcs11.P11KeyStore.ATTR_PRIVATE_TRUE:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            aastore
            dup
            iconst_3
        47: .line 1865
            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 1866
            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 1867
            new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            ldc 288
        50: .line 1868
            aload 5 /* rsaKey */
            invokeinterface java.security.interfaces.RSAPrivateKey.getModulus:()Ljava/math/BigInteger;
        51: .line 1867
            invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JLjava/math/BigInteger;)V
            aastore
            dup
            bipush 6
        52: .line 1869
            new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            ldc 291
        53: .line 1870
            aload 5 /* rsaKey */
            invokeinterface java.security.interfaces.RSAPrivateKey.getPrivateExponent:()Ljava/math/BigInteger;
        54: .line 1869
            invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JLjava/math/BigInteger;)V
            aastore
        55: .line 1861
            astore 4 /* attrs */
        56: .line 1871
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
        57: .line 1872
            ldc "import"
            ldc 3
            lconst_0
            aload 4 /* attrs */
        58: .line 1871
            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 1875
      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 1893
            iconst_2
            anewarray sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            astore 5 /* attrs */
        start local 5 // sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] attrs
         1: .line 1894
            iload 3 /* id */
            ifne 3
            iload 4 /* netscapeDb */
            ifne 3
         2: .line 1895
            aload 5 /* attrs */
            areturn
         3: .line 1897
      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 1898
            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 1900
            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 1901
            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 1902
            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 1903
            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 1904
            iload 3 /* id */
            ifeq 12
        11: .line 1905
            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 1907
      StackMap locals: java.math.BigInteger
      StackMap stack:
            iload 4 /* netscapeDb */
            ifeq 33
        13: .line 1908
            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 1910
            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 1911
            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 1912
            iload 3 /* id */
            ifeq 19
        18: .line 1913
            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 1915
      StackMap locals: java.math.BigInteger
      StackMap stack:
            iload 4 /* netscapeDb */
            ifeq 33
        20: .line 1916
            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 1918
            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 1919
            aload 2 /* publicKey */
            checkcast java.security.interfaces.ECPublicKey
            astore 7 /* ecPub */
        start local 7 // java.security.interfaces.ECPublicKey ecPub
        24: .line 1920
            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 1921
            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 1922
            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 1923
            iload 3 /* id */
            ifeq 29
        28: .line 1924
            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 1926
      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 1927
            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 1929
            goto 33
        32: .line 1930
      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 1932
      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 1940
            aconst_null
            astore 2 /* session */
        start local 2 // sun.security.pkcs11.Session session
         1: .line 1942
            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 1943
            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 1944
            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 1956
            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 1945
            iconst_0
            ireturn
         6: .line 1948
      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 1949
            getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
            ifnull 12
         8: .line 1950
            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 1951
            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 1952
            ldc "]"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        11: .line 1950
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        12: .line 1956
      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 1954
            iconst_1
            ireturn
        end local 3 // sun.security.pkcs11.P11KeyStore$THandle h
        14: .line 1955
      StackMap locals: sun.security.pkcs11.P11KeyStore byte[] sun.security.pkcs11.Session
      StackMap stack: java.lang.Throwable
            astore 4
        15: .line 1956
            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 1957
            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 1966
            aconst_null
            astore 2 /* session */
        start local 2 // sun.security.pkcs11.Session session
         1: .line 1968
            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 1970
            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 1971
            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 1972
            getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
            ifnull 9
         5: .line 1973
            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 1975
            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 1976
            ldc "]"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         8: .line 1973
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
         9: .line 2067
      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 1978
            iconst_0
            ireturn
        11: .line 1981
      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 1982
            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 1983
            getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
            ifnull 18
        14: .line 1984
            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 1986
            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 1987
            ldc "]"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        17: .line 1984
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        18: .line 1992
      StackMap locals: java.security.cert.X509Certificate
      StackMap stack:
            aload 4 /* endCert */
            astore 5 /* next */
        start local 5 // java.security.cert.X509Certificate next
        19: .line 1995
      StackMap locals: java.security.cert.X509Certificate
      StackMap stack:
            aload 5 /* next */
            invokevirtual java.security.cert.X509Certificate.getSubjectX500Principal:()Ljavax/security/auth/x500/X500Principal;
        20: .line 1996
            aload 5 /* next */
            invokevirtual java.security.cert.X509Certificate.getIssuerX500Principal:()Ljavax/security/auth/x500/X500Principal;
        21: .line 1995
            invokevirtual javax.security.auth.x500.X500Principal.equals:(Ljava/lang/Object;)Z
        22: .line 1996
            ifeq 24
        23: .line 1998
            goto 72
        24: .line 2001
      StackMap locals:
      StackMap stack:
            iconst_3
            anewarray sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            iconst_0
        25: .line 2002
            getstatic sun.security.pkcs11.P11KeyStore.ATTR_TOKEN_TRUE:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            aastore
            dup
            iconst_1
        26: .line 2003
            getstatic sun.security.pkcs11.P11KeyStore.ATTR_CLASS_CERT:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            aastore
            dup
            iconst_2
        27: .line 2004
            new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            ldc 257
        28: .line 2005
            aload 5 /* next */
            invokevirtual java.security.cert.X509Certificate.getIssuerX500Principal:()Ljavax/security/auth/x500/X500Principal;
            invokevirtual javax.security.auth.x500.X500Principal.getEncoded:()[B
        29: .line 2004
            invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JLjava/lang/Object;)V
            aastore
        30: .line 2001
            astore 6 /* attrs */
        start local 6 // sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] attrs
        31: .line 2006
            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 2008
            aload 7 /* ch */
            ifnull 72
            aload 7 /* ch */
            arraylength
            ifne 34
        33: .line 2010
            goto 72
        34: .line 2013
      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 2014
            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 2015
            aload 7 /* ch */
            arraylength
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
        37: .line 2016
            ldc " certificate entries for subject ["
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        38: .line 2017
            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 2018
            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 2014
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        41: .line 2021
      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 2025
            iconst_3
            anewarray sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            iconst_0
        43: .line 2026
            getstatic sun.security.pkcs11.P11KeyStore.ATTR_TOKEN_TRUE:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            aastore
            dup
            iconst_1
        44: .line 2027
            getstatic sun.security.pkcs11.P11KeyStore.ATTR_CLASS_CERT:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            aastore
            dup
            iconst_2
        45: .line 2028
            new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            ldc 129
        46: .line 2029
            aload 5 /* next */
            invokevirtual java.security.cert.X509Certificate.getSubjectX500Principal:()Ljavax/security/auth/x500/X500Principal;
            invokevirtual javax.security.auth.x500.X500Principal.getEncoded:()[B
        47: .line 2028
            invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JLjava/lang/Object;)V
            aastore
        48: .line 2025
            astore 6 /* attrs */
        49: .line 2030
            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 2032
            iconst_0
            istore 9 /* destroyIt */
        start local 9 // boolean destroyIt
        51: .line 2033
            aload 8 /* issuers */
            ifnull 52
            aload 8 /* issuers */
            arraylength
            ifne 54
        52: .line 2036
      StackMap locals: long[] int
      StackMap stack:
            iconst_1
            istore 9 /* destroyIt */
        53: .line 2037
            goto 58
      StackMap locals:
      StackMap stack:
        54: aload 8 /* issuers */
            arraylength
            iconst_1
            if_icmpne 58
        55: .line 2038
            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 2039
            aload 5 /* next */
            aload 10 /* iCert */
            invokevirtual java.security.cert.X509Certificate.equals:(Ljava/lang/Object;)Z
            ifeq 58
        57: .line 2042
            iconst_1
            istore 9 /* destroyIt */
        end local 10 // java.security.cert.X509Certificate iCert
        58: .line 2046
      StackMap locals:
      StackMap stack:
            iload 9 /* destroyIt */
            ifeq 67
        59: .line 2047
            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 2048
            getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
            ifnull 19
        61: .line 2049
            getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
        62: .line 2050
            new java.lang.StringBuilder
            dup
            ldc "destroyChain destroyed cert in chain with subject ["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        63: .line 2052
            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 2050
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        65: .line 2049
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        66: .line 2054
            goto 19
        67: .line 2055
      StackMap locals:
      StackMap stack:
            getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
            ifnull 19
        68: .line 2056
            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 2058
            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 2056
            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 1993
            goto 19
        72: .line 2067
      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 2064
            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 2066
      StackMap locals: sun.security.pkcs11.P11KeyStore byte[] sun.security.pkcs11.Session
      StackMap stack: java.lang.Throwable
            astore 11
        75: .line 2067
            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 2068
            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 2076
            aconst_null
            astore 2 /* session */
        start local 2 // sun.security.pkcs11.Session session
         1: .line 2078
            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 2080
            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 2081
            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 2082
            getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
            ifnull 9
         5: .line 2083
            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 2085
            aload 1 /* alias */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         7: .line 2086
            ldc "]"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         8: .line 2083
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
         9: .line 2093
      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 2088
            iconst_0
            ireturn
        11: .line 2090
      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 2093
            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 2091
            iconst_1
            ireturn
        end local 3 // sun.security.pkcs11.P11KeyStore$THandle h
        14: .line 2092
      StackMap locals: sun.security.pkcs11.P11KeyStore java.lang.String sun.security.pkcs11.Session
      StackMap stack: java.lang.Throwable
            astore 4
        15: .line 2093
            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 2094
            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 2102
            aconst_null
            astore 2 /* session */
        start local 2 // sun.security.pkcs11.Session session
         1: .line 2104
            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 2106
            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 2107
            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 2108
            getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
            ifnull 11
         5: .line 2109
            getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
         6: .line 2110
            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 2111
            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 2112
            ldc "]"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         9: .line 2110
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        10: .line 2109
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        11: .line 2119
      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 2114
            iconst_0
            ireturn
        13: .line 2116
      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 2119
            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 2117
            iconst_1
            ireturn
        end local 3 // sun.security.pkcs11.P11KeyStore$THandle h
        16: .line 2118
      StackMap locals: sun.security.pkcs11.P11KeyStore byte[] sun.security.pkcs11.Session
      StackMap stack: java.lang.Throwable
            astore 4
        17: .line 2119
            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 2120
            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 2127
            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 2128
            aload 2 /* cert */
            invokevirtual java.security.cert.X509Certificate.getSerialNumber:()Ljava/math/BigInteger;
            astore 4 /* serialNum */
        start local 4 // java.math.BigInteger serialNum
         2: .line 2130
            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 2131
            ldc "/"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         4: .line 2132
            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 2133
            ldc "/"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         6: .line 2134
            aload 4 /* serialNum */
            invokevirtual java.math.BigInteger.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         7: .line 2130
            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 2141
            iconst_1
            istore 1 /* printable */
        start local 1 // boolean printable
         1: .line 2142
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         2: goto 7
         3: .line 2143
      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 2144
            iconst_0
            istore 1 /* printable */
         5: .line 2145
            goto 8
         6: .line 2142
      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 2149
      StackMap locals:
      StackMap stack:
            iload 1 /* printable */
            ifne 10
         9: .line 2150
            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 2153
      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 2154
      StackMap locals:
      StackMap stack: java.io.UnsupportedEncodingException
            pop
        13: .line 2155
            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 2174
            aload 2 /* type */
            getstatic sun.security.pkcs11.P11KeyStore.ATTR_CLASS_SKEY:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            if_acmpne 7
         1: .line 2175
            iconst_3
            anewarray sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            iconst_0
         2: .line 2176
            getstatic sun.security.pkcs11.P11KeyStore.ATTR_SKEY_TOKEN_TRUE:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            aastore
            dup
            iconst_1
         3: .line 2177
            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 2178
            aload 2 /* type */
            aastore
         5: .line 2175
            astore 5 /* attrs */
        start local 5 // sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] attrs
         6: .line 2179
            goto 12
        end local 5 // sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] attrs
         7: .line 2180
      StackMap locals:
      StackMap stack:
            iconst_3
            anewarray sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            iconst_0
         8: .line 2181
            getstatic sun.security.pkcs11.P11KeyStore.ATTR_TOKEN_TRUE:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            aastore
            dup
            iconst_1
         9: .line 2182
            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 2183
            aload 2 /* type */
            aastore
        11: .line 2180
            astore 5 /* attrs */
        start local 5 // sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] attrs
        12: .line 2185
      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 2186
            aload 6 /* h */
            arraylength
            ifne 34
        14: .line 2187
            getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
            ifnull 67
        15: .line 2188
            aload 2 /* type */
            getstatic sun.security.pkcs11.P11KeyStore.ATTR_CLASS_SKEY:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            if_acmpne 21
        16: .line 2189
            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 2191
            aload 4 /* cka_label */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        18: .line 2192
            ldc "]"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        19: .line 2189
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        20: .line 2193
            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 2194
            getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
        23: .line 2195
            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 2196
            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 2197
            ldc "]"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        26: .line 2195
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        27: .line 2194
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        28: .line 2198
            goto 67
        29: .line 2199
      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 2201
            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 2202
            ldc "]"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        32: .line 2199
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        33: .line 2205
            goto 67
      StackMap locals:
      StackMap stack:
        34: aload 6 /* h */
            arraylength
            iconst_1
            if_icmpne 36
        35: .line 2208
            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 2215
      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 2217
            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 2218
            iconst_0
            istore 8 /* i */
        start local 8 // int i
        39: goto 47
        40: .line 2221
      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 2220
            astore 9 /* label */
        start local 9 // sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] label
        42: .line 2222
            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 2223
            aload 9 /* label */
            iconst_0
            aaload
            getfield sun.security.pkcs11.wrapper.CK_ATTRIBUTE.pValue:Ljava/lang/Object;
            ifnull 46
        44: .line 2224
            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 2225
            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 2218
      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 2228
            aload 7 /* list */
            invokevirtual java.util.ArrayList.size:()I
            iconst_1
            if_icmpne 50
        49: .line 2230
            aload 7 /* list */
            iconst_0
            invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
            checkcast sun.security.pkcs11.P11KeyStore$THandle
            areturn
        50: .line 2232
      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 2234
            aload 7 /* list */
            invokevirtual java.util.ArrayList.size:()I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
        52: .line 2235
            ldc " secret keys sharing CKA_LABEL ["
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        53: .line 2236
            aload 4 /* cka_label */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        54: .line 2237
            ldc "]"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        55: .line 2232
            invokespecial java.security.KeyStoreException.<init>:(Ljava/lang/String;)V
            athrow
        end local 7 // java.util.ArrayList list
        56: .line 2239
      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 2240
            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 2242
            aload 6 /* h */
            arraylength
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
        59: .line 2243
            ldc " certificates sharing CKA_ID "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        60: .line 2244
            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 2240
            invokespecial java.security.KeyStoreException.<init>:(Ljava/lang/String;)V
            athrow
        62: .line 2246
      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 2248
            aload 6 /* h */
            arraylength
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
        64: .line 2249
            ldc " private keys sharing CKA_ID "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        65: .line 2250
            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 2246
            invokespecial java.security.KeyStoreException.<init>:(Ljava/lang/String;)V
            athrow
        67: .line 2253
      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 2274
            iconst_1
            anewarray sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            iconst_0
         1: .line 2275
            new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            ldc 134
            invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(J)V
            aastore
         2: .line 2274
            astore 1 /* trustedAttr */
        start local 1 // sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] trustedAttr
         3: .line 2277
            aconst_null
            astore 2 /* session */
        start local 2 // sun.security.pkcs11.Session session
         4: .line 2279
            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 2283
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 3 /* pkeyIDs */
        start local 3 // java.util.ArrayList pkeyIDs
         6: .line 2284
            iconst_2
            anewarray sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            iconst_0
         7: .line 2285
            getstatic sun.security.pkcs11.P11KeyStore.ATTR_TOKEN_TRUE:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            aastore
            dup
            iconst_1
         8: .line 2286
            getstatic sun.security.pkcs11.P11KeyStore.ATTR_CLASS_PKEY:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            aastore
         9: .line 2284
            astore 4 /* attrs */
        start local 4 // sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] attrs
        10: .line 2288
            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 2290
            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 2291
            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 2292
            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 2294
            aload 4 /* attrs */
            iconst_0
            aaload
            getfield sun.security.pkcs11.wrapper.CK_ATTRIBUTE.pValue:Ljava/lang/Object;
            ifnull 17
        16: .line 2295
            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 2290
      StackMap locals:
      StackMap stack:
            iinc 8 1
      StackMap locals:
      StackMap stack:
        18: iload 8
            iload 9
            if_icmplt 12
        19: .line 2310
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
        20: .line 2309
            astore 6 /* certMap */
        start local 6 // java.util.HashMap certMap
        21: .line 2312
            iconst_2
            anewarray sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            iconst_0
        22: .line 2313
            getstatic sun.security.pkcs11.P11KeyStore.ATTR_TOKEN_TRUE:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            aastore
            dup
            iconst_1
        23: .line 2314
            getstatic sun.security.pkcs11.P11KeyStore.ATTR_CLASS_CERT:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            aastore
        24: .line 2312
            astore 4 /* attrs */
        25: .line 2316
            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 2318
            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 2319
            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 2321
            aconst_null
            astore 12 /* cka_label */
        start local 12 // java.lang.String cka_label
        30: .line 2322
            aconst_null
            astore 13 /* cka_id */
        start local 13 // byte[] cka_id
        31: .line 2324
            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 2325
            aload 4 /* attrs */
            iconst_0
            aaload
            getfield sun.security.pkcs11.wrapper.CK_ATTRIBUTE.pValue:Ljava/lang/Object;
            ifnull 38
        33: .line 2327
            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 2329
            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 2330
            aload 14 /* pe */
            invokevirtual sun.security.pkcs11.wrapper.PKCS11Exception.getErrorCode:()J
            ldc 18
            lcmp
            ifeq 38
        37: .line 2331
            aload 14 /* pe */
            athrow
        end local 14 // sun.security.pkcs11.wrapper.PKCS11Exception pe
        38: .line 2341
      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 2342
            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 2343
            aload 4 /* attrs */
            iconst_0
            aaload
            getfield sun.security.pkcs11.wrapper.CK_ATTRIBUTE.pValue:Ljava/lang/Object;
            ifnonnull 43
        41: .line 2344
            aload 12 /* cka_label */
            ifnonnull 46
        42: .line 2346
            goto 74
        43: .line 2349
      StackMap locals:
      StackMap stack:
            aload 12 /* cka_label */
            ifnonnull 45
        44: .line 2351
            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 2353
      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 2356
      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 2360
            iconst_0
            istore 15 /* cka_trusted */
        start local 15 // boolean cka_trusted
        48: .line 2362
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.useSecmodTrust:Z
            ifeq 51
        49: .line 2363
            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 2364
            goto 64
        51: .line 2365
      StackMap locals: java.security.cert.X509Certificate int
      StackMap stack:
            getstatic sun.security.pkcs11.P11KeyStore.CKA_TRUSTED_SUPPORTED:Z
            ifeq 64
        52: .line 2367
            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 2368
            aload 2 /* session */
            invokevirtual sun.security.pkcs11.Session.id:()J
            lload 7 /* handle */
            aload 1 /* trustedAttr */
        54: .line 2367
            invokevirtual sun.security.pkcs11.wrapper.PKCS11.C_GetAttributeValue:(JJ[Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;)V
        55: .line 2369
            aload 1 /* trustedAttr */
            iconst_0
            aaload
            invokevirtual sun.security.pkcs11.wrapper.CK_ATTRIBUTE.getBoolean:()Z
            istore 15 /* cka_trusted */
        56: .line 2370
            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 2371
            aload 16 /* pe */
            invokevirtual sun.security.pkcs11.wrapper.PKCS11Exception.getErrorCode:()J
            ldc 18
            lcmp
            ifne 64
        59: .line 2373
            iconst_0
            putstatic sun.security.pkcs11.P11KeyStore.CKA_TRUSTED_SUPPORTED:Z
        60: .line 2374
            getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
            ifnull 64
        61: .line 2375
            getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
        62: .line 2376
            ldc "CKA_TRUSTED attribute not supported"
        63: .line 2375
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        end local 16 // sun.security.pkcs11.wrapper.PKCS11Exception pe
        64: .line 2383
      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 2384
            aload 16 /* infoSet */
            ifnonnull 68
        66: .line 2385
            new java.util.HashSet
            dup
            iconst_2
            invokespecial java.util.HashSet.<init>:(I)V
            astore 16 /* infoSet */
        67: .line 2386
            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 2393
      StackMap locals: java.util.HashSet
      StackMap stack:
            aload 16 /* infoSet */
            new sun.security.pkcs11.P11KeyStore$AliasInfo
            dup
        69: .line 2394
            aload 12 /* cka_label */
        70: .line 2395
            aload 13 /* cka_id */
        71: .line 2396
            iload 15 /* cka_trusted */
        72: .line 2397
            aload 14 /* cert */
            invokespecial sun.security.pkcs11.P11KeyStore$AliasInfo.<init>:(Ljava/lang/String;[BZLjava/security/cert/X509Certificate;)V
        73: .line 2393
            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 2318
      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 2405
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
        77: .line 2404
            astore 7 /* sKeyMap */
        start local 7 // java.util.HashMap sKeyMap
        78: .line 2407
            iconst_2
            anewarray sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            iconst_0
        79: .line 2408
            getstatic sun.security.pkcs11.P11KeyStore.ATTR_SKEY_TOKEN_TRUE:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            aastore
            dup
            iconst_1
        80: .line 2409
            getstatic sun.security.pkcs11.P11KeyStore.ATTR_CLASS_SKEY:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            aastore
        81: .line 2407
            astore 4 /* attrs */
        82: .line 2411
            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 2413
            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 2414
            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 2415
            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 2416
            aload 4 /* attrs */
            iconst_0
            aaload
            getfield sun.security.pkcs11.wrapper.CK_ATTRIBUTE.pValue:Ljava/lang/Object;
            ifnull 96
        88: .line 2419
            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 2420
            aload 7 /* sKeyMap */
            aload 13 /* cka_label */
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            ifnonnull 92
        90: .line 2421
            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 2422
            goto 96
        92: .line 2423
      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 2426
            aload 13 /* cka_label */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        94: .line 2427
            ldc "]"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        95: .line 2423
            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 2413
      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 2434
            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 2433
            astore 8 /* matchedCerts */
        start local 8 // java.util.ArrayList matchedCerts
       100: .line 2435
            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 2436
            aload 0 /* this */
            aload 7 /* sKeyMap */
            invokevirtual sun.security.pkcs11.P11KeyStore.mapSecretKeys:(Ljava/util/HashMap;)V
       102: .line 2438
            iload 9 /* sharedLabel */
            istore 18
       103: .line 2441
            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 2438
            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 2440
      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 2441
            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 2442
            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 2461
            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 2464
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 3 /* matchedCerts */
        start local 3 // java.util.ArrayList matchedCerts
         2: .line 2466
            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 2470
            iconst_0
            istore 6 /* foundMatch */
        start local 6 // boolean foundMatch
         5: .line 2471
            aload 2 /* certMap */
            invokevirtual java.util.HashMap.keySet:()Ljava/util/Set;
            astore 7 /* certLabels */
        start local 7 // java.util.Set certLabels
         6: .line 2472
            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 2476
            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 2477
            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 2478
            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 2482
            aload 10 /* infoSet */
            invokevirtual java.util.HashSet.size:()I
            iconst_1
            if_icmpne 16
        13: .line 2484
            aload 11 /* aliasInfo */
            iconst_1
            putfield sun.security.pkcs11.P11KeyStore$AliasInfo.matched:Z
        14: .line 2485
            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 2486
            goto 20
        16: .line 2488
      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 2489
            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 2490
            aload 11 /* aliasInfo */
        19: .line 2489
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        20: .line 2492
      StackMap locals:
      StackMap stack:
            aload 3 /* matchedCerts */
            aload 11 /* aliasInfo */
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        21: .line 2493
            iconst_1
            istore 6 /* foundMatch */
        22: .line 2494
            goto 24
        end local 11 // sun.security.pkcs11.P11KeyStore$AliasInfo aliasInfo
        23: .line 2477
      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 2497
      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 2498
            goto 27
        end local 10 // java.util.HashSet infoSet
        end local 8 // java.lang.String certLabel
        26: .line 2472
      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 2502
      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 2503
            getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
            ifnull 35
        29: .line 2504
            getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
        30: .line 2505
            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 2506
            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 2507
            ldc "] (ignoring entry)"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        33: .line 2505
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        34: .line 2504
            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 2466
      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 2512
            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 2530
            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 2531
            aconst_null
            astore 5 /* session */
        start local 5 // sun.security.pkcs11.Session session
         3: .line 2533
            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 2534
            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 2535
            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 2536
            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 2537
            aload 6
            athrow
         9: .line 2536
      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 2530
      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 2543
            iconst_0
            istore 3 /* sharedLabel */
        start local 3 // boolean sharedLabel
        12: .line 2545
            aload 2 /* certMap */
            invokevirtual java.util.HashMap.keySet:()Ljava/util/Set;
            astore 4 /* certLabels */
        start local 4 // java.util.Set certLabels
        13: .line 2546
            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 2547
            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 2548
            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 2550
            aload 8 /* aliasInfo */
            getfield sun.security.pkcs11.P11KeyStore$AliasInfo.matched:Z
            ifeq 21
        19: .line 2553
            aload 8 /* aliasInfo */
            iconst_0
            putfield sun.security.pkcs11.P11KeyStore$AliasInfo.trusted:Z
        20: .line 2554
            goto 28
        21: .line 2562
      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 2563
            aload 8 /* aliasInfo */
            getfield sun.security.pkcs11.P11KeyStore$AliasInfo.trusted:Z
            ifeq 28
        23: .line 2565
            aload 0 /* this */
        24: .line 2566
            aload 5 /* certLabel */
            aload 8 /* aliasInfo */
            aload 7 /* infoSet */
        25: .line 2565
            invokevirtual sun.security.pkcs11.P11KeyStore.mapTrustedCert:(Ljava/lang/String;Lsun/security/pkcs11/P11KeyStore$AliasInfo;Ljava/util/HashSet;)Z
        26: .line 2566
            ifeq 28
        27: .line 2567
            iconst_1
            istore 3 /* sharedLabel */
        end local 8 // sun.security.pkcs11.P11KeyStore$AliasInfo aliasInfo
        28: .line 2548
      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 2546
      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 2608
            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 2615
            iconst_0
            istore 4 /* sharedLabel */
        start local 4 // boolean sharedLabel
         1: .line 2617
            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 2618
            aload 2 /* aliasInfo */
            iconst_1
            putfield sun.security.pkcs11.P11KeyStore$AliasInfo.trusted:Z
         3: .line 2619
            aload 3 /* infoSet */
            invokevirtual java.util.HashSet.size:()I
            iconst_1
            if_icmpne 6
         4: .line 2621
            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 2622
            goto 8
         6: .line 2624
      StackMap locals: int
      StackMap stack:
            iconst_1
            istore 4 /* sharedLabel */
         7: .line 2625
            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 2628
      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 2637
            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 2638
            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 2639
            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 2641
            aload 2 /* label */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         5: .line 2642
            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 2639
            invokespecial java.security.KeyStoreException.<init>:(Ljava/lang/String;)V
            athrow
        end local 2 // java.lang.String label
         7: .line 2637
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         8: .line 2645
            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 2646
            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 2649
            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 2650
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc "Token Alias Map:"
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         2: .line 2651
            aload 1 /* aliases */
            invokeinterface java.util.Set.isEmpty:()Z
            ifeq 5
         3: .line 2652
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc "  [empty]"
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         4: .line 2653
            goto 9
         5: .line 2654
      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 2655
            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 2654
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 6
         9: .line 2658
      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 2661
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.writeDisabled:Z
            ifeq 4
         1: .line 2662
            new java.security.KeyStoreException
            dup
         2: .line 2663
            ldc "This PKCS11KeyStore does not support write capabilities"
         3: .line 2662
            invokespecial java.security.KeyStoreException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 2665
      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 2671
            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 2672
            getstatic sun.security.pkcs11.P11KeyStore.LONG0:[J
            astore 3 /* handles */
        start local 3 // long[] handles
         2: .line 2673
            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 2675
      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 2676
            aload 4 /* h */
            arraylength
            ifne 6
         5: .line 2677
            goto 8
         6: .line 2679
      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 2674
            goto 3
         8: .line 2681
      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 2682
            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