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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  public synchronized java.security.cert.Certificate engineGetCertificate(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/security/cert/Certificate;
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // sun.security.pkcs11.P11KeyStore this
        start local 1 // java.lang.String alias
         0: .line 381
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
            invokevirtual sun.security.pkcs11.Token.ensureValid:()V
         1: .line 383
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.aliasMap:Ljava/util/HashMap;
            aload 1 /* alias */
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast sun.security.pkcs11.P11KeyStore$AliasInfo
            astore 2 /* aliasInfo */
        start local 2 // sun.security.pkcs11.P11KeyStore$AliasInfo aliasInfo
         2: .line 384
            aload 2 /* aliasInfo */
            ifnonnull 4
         3: .line 385
            aconst_null
            areturn
         4: .line 387
      StackMap locals: sun.security.pkcs11.P11KeyStore$AliasInfo
      StackMap stack:
            aload 2 /* aliasInfo */
            getfield sun.security.pkcs11.P11KeyStore$AliasInfo.cert:Ljava/security/cert/X509Certificate;
            areturn
        end local 2 // sun.security.pkcs11.P11KeyStore$AliasInfo aliasInfo
        end local 1 // java.lang.String alias
        end local 0 // sun.security.pkcs11.P11KeyStore this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    5     0       this  Lsun/security/pkcs11/P11KeyStore;
            0    5     1      alias  Ljava/lang/String;
            2    5     2  aliasInfo  Lsun/security/pkcs11/P11KeyStore$AliasInfo;
    MethodParameters:
       Name  Flags
      alias  

  public java.util.Date engineGetCreationDate(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/util/Date;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // sun.security.pkcs11.P11KeyStore this
        start local 1 // java.lang.String alias
         0: .line 399
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
            invokevirtual sun.security.pkcs11.Token.ensureValid:()V
         1: .line 400
            new java.security.ProviderException
            dup
            new java.lang.UnsupportedOperationException
            dup
            invokespecial java.lang.UnsupportedOperationException.<init>:()V
            invokespecial java.security.ProviderException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 1 // java.lang.String alias
        end local 0 // sun.security.pkcs11.P11KeyStore this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lsun/security/pkcs11/P11KeyStore;
            0    2     1  alias  Ljava/lang/String;
    MethodParameters:
       Name  Flags
      alias  

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

  public void engineSetKeyEntry(java.lang.String, byte[], java.security.cert.Certificate[]);
    descriptor: (Ljava/lang/String;[B[Ljava/security/cert/Certificate;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // sun.security.pkcs11.P11KeyStore this
        start local 1 // java.lang.String alias
        start local 2 // byte[] key
        start local 3 // java.security.cert.Certificate[] chain
         0: .line 482
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
            invokevirtual sun.security.pkcs11.Token.ensureValid:()V
         1: .line 483
            new java.security.ProviderException
            dup
            new java.lang.UnsupportedOperationException
            dup
            invokespecial java.lang.UnsupportedOperationException.<init>:()V
            invokespecial java.security.ProviderException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 3 // java.security.cert.Certificate[] chain
        end local 2 // byte[] key
        end local 1 // java.lang.String alias
        end local 0 // sun.security.pkcs11.P11KeyStore this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lsun/security/pkcs11/P11KeyStore;
            0    2     1  alias  Ljava/lang/String;
            0    2     2    key  [B
            0    2     3  chain  [Ljava/security/cert/Certificate;
    Exceptions:
      throws java.security.KeyStoreException
    MethodParameters:
       Name  Flags
      alias  
      key    
      chain  

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

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

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

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

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

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

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

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

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

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

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

  public synchronized void engineLoad(java.io.InputStream, char[]);
    descriptor: (Ljava/io/InputStream;[C)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=5, locals=6, args_size=3
        start local 0 // sun.security.pkcs11.P11KeyStore this
        start local 1 // java.io.InputStream stream
        start local 2 // char[] password
         0: .line 734
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
            invokevirtual sun.security.pkcs11.Token.ensureValid:()V
         1: .line 740
            aload 1 /* stream */
            ifnull 3
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
            getfield sun.security.pkcs11.Token.config:Lsun/security/pkcs11/Config;
            invokevirtual sun.security.pkcs11.Config.getKeyStoreCompatibilityMode:()Z
            ifne 3
         2: .line 741
            new java.io.IOException
            dup
            ldc "input stream must be null"
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 744
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.useSecmodTrust:Z
            ifeq 5
         4: .line 745
            aload 0 /* this */
            getstatic sun.security.pkcs11.Secmod$TrustType.ALL:Lsun/security/pkcs11/Secmod$TrustType;
            putfield sun.security.pkcs11.P11KeyStore.nssTrustType:Lsun/security/pkcs11/Secmod$TrustType;
         5: .line 749
      StackMap locals:
      StackMap stack:
            aload 2 /* password */
            ifnonnull 8
         6: .line 750
            aload 0 /* this */
            aconst_null
            invokevirtual sun.security.pkcs11.P11KeyStore.login:(Ljavax/security/auth/callback/CallbackHandler;)V
         7: .line 751
            goto 19
         8: .line 752
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            new sun.security.pkcs11.P11KeyStore$PasswordCallbackHandler
            dup
            aload 2 /* password */
            invokespecial sun.security.pkcs11.P11KeyStore$PasswordCallbackHandler.<init>:([C)V
            invokevirtual sun.security.pkcs11.P11KeyStore.login:(Ljavax/security/auth/callback/CallbackHandler;)V
         9: .line 754
            goto 19
      StackMap locals:
      StackMap stack: javax.security.auth.login.LoginException
        10: astore 3 /* e */
        start local 3 // javax.security.auth.login.LoginException e
        11: .line 755
            aload 3 /* e */
            invokevirtual javax.security.auth.login.LoginException.getCause:()Ljava/lang/Throwable;
            astore 4 /* cause */
        start local 4 // java.lang.Throwable cause
        12: .line 756
            aload 4 /* cause */
            instanceof sun.security.pkcs11.wrapper.PKCS11Exception
            ifeq 18
        13: .line 757
            aload 4 /* cause */
            checkcast sun.security.pkcs11.wrapper.PKCS11Exception
            astore 5 /* pe */
        start local 5 // sun.security.pkcs11.wrapper.PKCS11Exception pe
        14: .line 758
            aload 5 /* pe */
            invokevirtual sun.security.pkcs11.wrapper.PKCS11Exception.getErrorCode:()J
            ldc 160
            lcmp
            ifne 18
        15: .line 761
            new java.io.IOException
            dup
            ldc "load failed"
        16: .line 762
            new java.security.UnrecoverableKeyException
            dup
            invokespecial java.security.UnrecoverableKeyException.<init>:()V
            aload 3 /* e */
            invokevirtual java.security.UnrecoverableKeyException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
        17: .line 761
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 5 // sun.security.pkcs11.wrapper.PKCS11Exception pe
        18: .line 765
      StackMap locals: javax.security.auth.login.LoginException java.lang.Throwable
      StackMap stack:
            new java.io.IOException
            dup
            ldc "load failed"
            aload 3 /* e */
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 4 // java.lang.Throwable cause
        end local 3 // javax.security.auth.login.LoginException e
        19: .line 769
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual sun.security.pkcs11.P11KeyStore.mapLabels:()Z
            ifeq 21
        20: .line 771
            aload 0 /* this */
            iconst_1
            putfield sun.security.pkcs11.P11KeyStore.writeDisabled:Z
        21: .line 773
      StackMap locals:
      StackMap stack:
            getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
            ifnull 29
        22: .line 774
            aload 0 /* this */
            invokevirtual sun.security.pkcs11.P11KeyStore.dumpTokenMap:()V
        23: .line 775
            getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
            new java.lang.StringBuilder
            dup
            ldc "P11KeyStore load. Entry count: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        24: .line 776
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.aliasMap:Ljava/util/HashMap;
            invokevirtual java.util.HashMap.size:()I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        25: .line 775
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        26: .line 778
            goto 29
      StackMap locals:
      StackMap stack: java.lang.Exception
        27: astore 3 /* e */
        start local 3 // java.lang.Exception e
        28: .line 779
            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
        29: .line 781
      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   30     0      this  Lsun/security/pkcs11/P11KeyStore;
            0   30     1    stream  Ljava/io/InputStream;
            0   30     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;
           28   29     3         e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           5     9      10  Class javax.security.auth.login.LoginException
          19    26      27  Class java.security.KeyStoreException
          19    26      27  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 810
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
            invokevirtual sun.security.pkcs11.Token.ensureValid:()V
         1: .line 820
            aload 1 /* param */
            ifnonnull 5
         2: .line 821
            new java.lang.IllegalArgumentException
            dup
         3: .line 822
            ldc "invalid null LoadStoreParameter"
         4: .line 821
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         5: .line 824
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.useSecmodTrust:Z
            ifeq 10
         6: .line 825
            aload 1 /* param */
            instanceof sun.security.pkcs11.Secmod$KeyStoreLoadParameter
            ifeq 9
         7: .line 826
            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 827
            goto 10
         9: .line 828
      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 833
      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 834
            aload 3 /* pp */
            instanceof java.security.KeyStore$PasswordProtection
            ifeq 18
        12: .line 835
            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 836
            aload 4 /* password */
            ifnonnull 16
        14: .line 837
            aconst_null
            astore 2 /* handler */
        start local 2 // javax.security.auth.callback.CallbackHandler handler
        15: .line 838
            goto 24
        end local 2 // javax.security.auth.callback.CallbackHandler handler
        16: .line 839
      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 841
            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 842
            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 843
            goto 24
        end local 2 // javax.security.auth.callback.CallbackHandler handler
        21: .line 844
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
        22: .line 845
            ldc "ProtectionParameter must be either PasswordProtection or CallbackHandlerProtection"
        23: .line 844
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        start local 2 // javax.security.auth.callback.CallbackHandler handler
        24: .line 850
      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 851
            aload 0 /* this */
            invokevirtual sun.security.pkcs11.P11KeyStore.mapLabels:()Z
            ifeq 27
        26: .line 853
            aload 0 /* this */
            iconst_1
            putfield sun.security.pkcs11.P11KeyStore.writeDisabled:Z
        27: .line 855
      StackMap locals:
      StackMap stack:
            getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
            ifnull 32
        28: .line 856
            aload 0 /* this */
            invokevirtual sun.security.pkcs11.P11KeyStore.dumpTokenMap:()V
        29: .line 858
            goto 32
      StackMap locals:
      StackMap stack: java.lang.Exception
        30: astore 4 /* e */
        start local 4 // java.lang.Exception e
        31: .line 859
            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 861
      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 864
            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 865
            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 866
            goto 7
         3: .line 869
      StackMap locals:
      StackMap stack:
            aload 1 /* handler */
            ifnull 6
         4: .line 870
            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 871
            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 877
      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 879
      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 903
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
            invokevirtual sun.security.pkcs11.Token.ensureValid:()V
         1: .line 905
            aload 2 /* protParam */
            ifnull 6
         2: .line 906
            aload 2 /* protParam */
            instanceof java.security.KeyStore$PasswordProtection
            ifeq 6
         3: .line 907
            aload 2 /* protParam */
            checkcast java.security.KeyStore$PasswordProtection
            invokevirtual java.security.KeyStore$PasswordProtection.getPassword:()[C
            ifnull 6
         4: .line 908
            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 909
            new java.security.KeyStoreException
            dup
            ldc "ProtectionParameter must be null"
            invokespecial java.security.KeyStoreException.<init>:(Ljava/lang/String;)V
            athrow
         6: .line 912
      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 913
            aload 3 /* aliasInfo */
            ifnonnull 14
         8: .line 914
            getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
            ifnull 13
         9: .line 915
            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 916
            aload 1 /* alias */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        11: .line 917
            ldc "] in map"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        12: .line 915
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        13: .line 919
      StackMap locals: sun.security.pkcs11.P11KeyStore$AliasInfo
      StackMap stack:
            aconst_null
            areturn
        14: .line 922
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 4 /* session */
        start local 4 // sun.security.pkcs11.Session session
        15: .line 924
            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 926
            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 928
            getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
            ifnull 19
        18: .line 929
            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 931
      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 975
            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 931
            aload 9
            areturn
        22: .line 932
      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 934
            getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
            ifnull 25
        24: .line 935
            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 938
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
        26: .line 939
            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 938
            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 940
            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 941
            new java.security.KeyStoreException
            dup
        30: .line 942
            ldc "expected but could not find secret key"
        31: .line 941
            invokespecial java.security.KeyStoreException.<init>:(Ljava/lang/String;)V
            athrow
        32: .line 944
      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 945
            new java.security.KeyStore$SecretKeyEntry
            dup
            aload 6 /* skey */
            invokespecial java.security.KeyStore$SecretKeyEntry.<init>:(Ljavax/crypto/SecretKey;)V
            astore 9
        34: .line 975
            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 945
            aload 9
            areturn
        end local 6 // javax.crypto.SecretKey skey
        end local 5 // sun.security.pkcs11.P11KeyStore$THandle h
        36: .line 949
      StackMap locals:
      StackMap stack:
            getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
            ifnull 38
        37: .line 950
            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 953
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
        39: .line 954
            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 953
            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 955
            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 956
            new java.security.KeyStoreException
            dup
        43: .line 957
            ldc "expected but could not find private key"
        44: .line 956
            invokespecial java.security.KeyStoreException.<init>:(Ljava/lang/String;)V
            athrow
        45: .line 959
      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 960
            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 961
            aload 6 /* pkey */
            ifnull 51
            aload 7 /* chain */
            ifnull 51
        48: .line 962
            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 975
            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 962
            aload 9
            areturn
        51: .line 964
      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 965
            getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
        53: .line 966
            ldc "engineGetEntry got null cert chain or private key"
        54: .line 965
            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 975
      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 971
            aconst_null
            areturn
        57: .line 972
      StackMap locals:
      StackMap stack: sun.security.pkcs11.wrapper.PKCS11Exception
            astore 5 /* pe */
        start local 5 // sun.security.pkcs11.wrapper.PKCS11Exception pe
        58: .line 973
            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 974
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 8
        60: .line 975
            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 976
            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 1005
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
            invokevirtual sun.security.pkcs11.Token.ensureValid:()V
         1: .line 1006
            aload 0 /* this */
            invokevirtual sun.security.pkcs11.P11KeyStore.checkWrite:()V
         2: .line 1008
            aload 3 /* protParam */
            ifnull 9
         3: .line 1009
            aload 3 /* protParam */
            instanceof java.security.KeyStore$PasswordProtection
            ifeq 9
         4: .line 1010
            aload 3 /* protParam */
            checkcast java.security.KeyStore$PasswordProtection
            invokevirtual java.security.KeyStore$PasswordProtection.getPassword:()[C
            ifnull 9
         5: .line 1011
            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 1012
            new java.security.KeyStoreException
            dup
            new java.lang.UnsupportedOperationException
            dup
         7: .line 1013
            ldc "ProtectionParameter must be null"
            invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
         8: .line 1012
            invokespecial java.security.KeyStoreException.<init>:(Ljava/lang/Throwable;)V
            athrow
         9: .line 1016
      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 1017
            new java.security.KeyStoreException
            dup
            ldc "token write-protected"
            invokespecial java.security.KeyStoreException.<init>:(Ljava/lang/String;)V
            athrow
        11: .line 1020
      StackMap locals:
      StackMap stack:
            aload 2 /* entry */
            instanceof java.security.KeyStore$TrustedCertificateEntry
            ifeq 32
        12: .line 1022
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.useSecmodTrust:Z
            ifne 16
        13: .line 1024
            new java.security.KeyStoreException
            dup
            new java.lang.UnsupportedOperationException
            dup
        14: .line 1025
            ldc "trusted certificates may only be set by token initialization application"
            invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
        15: .line 1024
            invokespecial java.security.KeyStoreException.<init>:(Ljava/lang/Throwable;)V
            athrow
        16: .line 1028
      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 1029
            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 1031
            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 1034
      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 1035
            aload 5 /* cert */
            instanceof java.security.cert.X509Certificate
            ifne 22
        21: .line 1036
            new java.security.KeyStoreException
            dup
            ldc "Certificate must be an X509Certificate"
            invokespecial java.security.KeyStoreException.<init>:(Ljava/lang/String;)V
            athrow
        22: .line 1038
      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 1039
            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 1040
            aload 7 /* info */
            ifnull 26
        25: .line 1042
            aload 0 /* this */
            aload 1 /* alias */
            invokevirtual sun.security.pkcs11.P11KeyStore.deleteEntry:(Ljava/lang/String;)Z
            pop
        26: .line 1045
      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 1046
            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 1047
            aload 0 /* this */
            invokevirtual sun.security.pkcs11.P11KeyStore.mapLabels:()Z
            pop
        29: .line 1048
            goto 97
      StackMap locals:
      StackMap stack: java.lang.Exception
        30: astore 8 /* e */
        start local 8 // java.lang.Exception e
        31: .line 1049
            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 1054
      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 1057
            aload 2 /* entry */
            checkcast java.security.KeyStore$PrivateKeyEntry
            invokevirtual java.security.KeyStore$PrivateKeyEntry.getPrivateKey:()Ljava/security/PrivateKey;
        34: .line 1056
            astore 4 /* key */
        start local 4 // java.security.PrivateKey key
        35: .line 1058
            aload 4 /* key */
            instanceof sun.security.pkcs11.P11Key
            ifne 43
        36: .line 1059
            aload 4 /* key */
            instanceof java.security.interfaces.RSAPrivateKey
            ifne 43
        37: .line 1060
            aload 4 /* key */
            instanceof java.security.interfaces.DSAPrivateKey
            ifne 43
        38: .line 1061
            aload 4 /* key */
            instanceof javax.crypto.interfaces.DHPrivateKey
            ifne 43
        39: .line 1062
            aload 4 /* key */
            instanceof java.security.interfaces.ECPrivateKey
            ifne 43
        40: .line 1063
            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 1064
            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 1063
            invokespecial java.security.KeyStoreException.<init>:(Ljava/lang/String;)V
            athrow
        43: .line 1069
      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 1068
            astore 5 /* chain */
        start local 5 // java.security.cert.Certificate[] chain
        45: .line 1070
            aload 5 /* chain */
            instanceof java.security.cert.X509Certificate[]
            ifne 53
        46: .line 1071
            new java.security.KeyStoreException
            dup
        47: .line 1072
            new java.lang.UnsupportedOperationException
            dup
        48: .line 1073
            new java.lang.StringBuilder
            dup
            ldc "unsupported certificate array type: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        49: .line 1074
            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 1073
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        51: .line 1072
            invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
        52: .line 1071
            invokespecial java.security.KeyStoreException.<init>:(Ljava/lang/Throwable;)V
            athrow
        53: .line 1078
      StackMap locals: java.security.cert.Certificate[]
      StackMap stack:
            iconst_0
            istore 6 /* updatedAlias */
        start local 6 // boolean updatedAlias
        54: .line 1079
            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 1080
            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 1084
            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 1085
            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 1086
            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 1087
            aload 5 /* chain */
            iconst_0
            aaload
            invokevirtual java.security.cert.Certificate.getPublicKey:()Ljava/security/PublicKey;
        61: .line 1086
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
        62: .line 1087
            ifeq 71
        63: .line 1095
            aload 0 /* this */
            aload 1 /* alias */
        64: .line 1096
            aload 10 /* aliasInfo */
            getfield sun.security.pkcs11.P11KeyStore$AliasInfo.id:[B
        65: .line 1097
            aload 5 /* chain */
            checkcast java.security.cert.X509Certificate[]
        66: .line 1098
            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 1095
      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 1099
            iconst_1
            istore 6 /* updatedAlias */
        70: .line 1100
            goto 72
        end local 10 // sun.security.pkcs11.P11KeyStore$AliasInfo aliasInfo
        end local 8 // java.lang.String oldAlias
        71: .line 1080
      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 1104
      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 1106
            aload 0 /* this */
            aload 1 /* alias */
            invokevirtual sun.security.pkcs11.P11KeyStore.engineDeleteEntry:(Ljava/lang/String;)V
        74: .line 1107
            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 1110
            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 1111
            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 1114
      StackMap locals:
      StackMap stack:
            aload 2 /* entry */
            instanceof java.security.KeyStore$SecretKeyEntry
            ifeq 88
        79: .line 1116
            aload 2 /* entry */
            checkcast java.security.KeyStore$SecretKeyEntry
            astore 4 /* ske */
        start local 4 // java.security.KeyStore$SecretKeyEntry ske
        80: .line 1117
            aload 4 /* ske */
            invokevirtual java.security.KeyStore$SecretKeyEntry.getSecretKey:()Ljavax/crypto/SecretKey;
            pop
        81: .line 1121
            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 1123
            aload 5 /* aliasInfo */
            ifnull 84
        83: .line 1124
            aload 0 /* this */
            aload 1 /* alias */
            invokevirtual sun.security.pkcs11.P11KeyStore.engineDeleteEntry:(Ljava/lang/String;)V
        84: .line 1126
      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 1128
            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 1129
            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 1133
      StackMap locals:
      StackMap stack:
            new java.security.KeyStoreException
            dup
            new java.lang.UnsupportedOperationException
            dup
        89: .line 1134
            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 1133
            invokespecial java.security.KeyStoreException.<init>:(Ljava/lang/Throwable;)V
            athrow
        91: .line 1144
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual sun.security.pkcs11.P11KeyStore.mapLabels:()Z
            pop
        92: .line 1145
            getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
            ifnull 97
        93: .line 1146
            aload 0 /* this */
            invokevirtual sun.security.pkcs11.P11KeyStore.dumpTokenMap:()V
        94: .line 1148
            goto 97
      StackMap locals:
      StackMap stack: java.lang.Exception
        95: astore 4 /* pe */
        start local 4 // java.lang.Exception pe
        96: .line 1149
            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 1153
      StackMap locals:
      StackMap stack:
            getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
            ifnull 104
        98: .line 1154
            getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
        99: .line 1155
            new java.lang.StringBuilder
            dup
            ldc "engineSetEntry added new entry for ["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
       100: .line 1156
            aload 1 /* alias */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
       101: .line 1157
            ldc "] to token"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
       102: .line 1155
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
       103: .line 1154
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
       104: .line 1159
      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 1175
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
            invokevirtual sun.security.pkcs11.Token.ensureValid:()V
         1: .line 1176
            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 1183
            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 1182
            astore 4 /* attrs */
        start local 4 // sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] attrs
         2: .line 1184
            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 1186
            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 1187
            aload 5 /* bytes */
            ifnonnull 8
         5: .line 1188
            new java.security.cert.CertificateException
            dup
         6: .line 1189
            ldc "unexpectedly retrieved null byte array"
         7: .line 1188
            invokespecial java.security.cert.CertificateException.<init>:(Ljava/lang/String;)V
            athrow
         8: .line 1191
      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 1192
            aload 6 /* cf */
        10: .line 1193
            new java.io.ByteArrayInputStream
            dup
            aload 5 /* bytes */
            invokespecial java.io.ByteArrayInputStream.<init>:([B)V
        11: .line 1192
            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 1200
            aconst_null
            astore 3 /* lChain */
        start local 3 // java.util.ArrayList lChain
         1: .line 1202
            aload 2 /* endCert */
            invokevirtual java.security.cert.X509Certificate.getSubjectX500Principal:()Ljavax/security/auth/x500/X500Principal;
         2: .line 1203
            aload 2 /* endCert */
            invokevirtual java.security.cert.X509Certificate.getIssuerX500Principal:()Ljavax/security/auth/x500/X500Principal;
         3: .line 1202
            invokevirtual javax.security.auth.x500.X500Principal.equals:(Ljava/lang/Object;)Z
         4: .line 1203
            ifeq 6
         5: .line 1205
            iconst_1
            anewarray java.security.cert.X509Certificate
            dup
            iconst_0
            aload 2 /* endCert */
            aastore
            areturn
         6: .line 1207
      StackMap locals: java.util.ArrayList
      StackMap stack:
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 3 /* lChain */
         7: .line 1208
            aload 3 /* lChain */
            aload 2 /* endCert */
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
         8: .line 1214
            aload 2 /* endCert */
            astore 4 /* next */
        start local 4 // java.security.cert.X509Certificate next
         9: .line 1216
      StackMap locals: java.security.cert.X509Certificate
      StackMap stack:
            iconst_3
            anewarray sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            iconst_0
        10: .line 1217
            getstatic sun.security.pkcs11.P11KeyStore.ATTR_TOKEN_TRUE:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            aastore
            dup
            iconst_1
        11: .line 1218
            getstatic sun.security.pkcs11.P11KeyStore.ATTR_CLASS_CERT:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            aastore
            dup
            iconst_2
        12: .line 1219
            new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            ldc 257
        13: .line 1220
            aload 4 /* next */
            invokevirtual java.security.cert.X509Certificate.getIssuerX500Principal:()Ljavax/security/auth/x500/X500Principal;
            invokevirtual javax.security.auth.x500.X500Principal.getEncoded:()[B
        14: .line 1219
            invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JLjava/lang/Object;)V
            aastore
        15: .line 1216
            astore 5 /* attrs */
        start local 5 // sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] attrs
        16: .line 1221
            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 1223
            aload 6 /* ch */
            ifnull 32
            aload 6 /* ch */
            arraylength
            ifne 19
        18: .line 1225
            goto 32
        19: .line 1228
      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 1229
            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 1230
            aload 6 /* ch */
            arraylength
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
        22: .line 1231
            ldc " certificate entries for subject ["
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        23: .line 1232
            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 1233
            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 1229
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        26: .line 1236
      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 1237
            aload 3 /* lChain */
            aload 4 /* next */
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        28: .line 1238
            aload 4 /* next */
            invokevirtual java.security.cert.X509Certificate.getSubjectX500Principal:()Ljavax/security/auth/x500/X500Principal;
        29: .line 1239
            aload 4 /* next */
            invokevirtual java.security.cert.X509Certificate.getIssuerX500Principal:()Ljavax/security/auth/x500/X500Principal;
        30: .line 1238
            invokevirtual javax.security.auth.x500.X500Principal.equals:(Ljava/lang/Object;)Z
        31: .line 1239
            ifeq 9
        end local 6 // long[] ch
        end local 5 // sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] attrs
        32: .line 1246
      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 1252
            iconst_1
            anewarray sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            iconst_0
         1: .line 1253
            new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            ldc 256
            invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(J)V
            aastore
         2: .line 1252
            astore 4 /* attrs */
        start local 4 // sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] attrs
         3: .line 1254
            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 1255
            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 1257
            aconst_null
            astore 7 /* keyType */
        start local 7 // java.lang.String keyType
         6: .line 1258
            iconst_m1
            istore 8 /* keyLength */
        start local 8 // int keyLength
         7: .line 1262
            lload 5 /* kType */
            ldc 19
            lcmp
            ifeq 8
            lload 5 /* kType */
            ldc 21
            lcmp
            ifne 16
         8: .line 1263
      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 1264
            ldc "DES"
            astore 7 /* keyType */
        10: .line 1265
            bipush 64
            istore 8 /* keyLength */
        11: .line 1266
            goto 34
      StackMap locals:
      StackMap stack:
        12: lload 5 /* kType */
            ldc 21
            lcmp
            ifne 34
        13: .line 1267
            ldc "DESede"
            astore 7 /* keyType */
        14: .line 1268
            sipush 192
            istore 8 /* keyLength */
        15: .line 1270
            goto 34
        16: .line 1271
      StackMap locals:
      StackMap stack:
            lload 5 /* kType */
            ldc 31
            lcmp
            ifne 19
        17: .line 1272
            ldc "AES"
            astore 7 /* keyType */
        18: .line 1273
            goto 31
      StackMap locals:
      StackMap stack:
        19: lload 5 /* kType */
            ldc 32
            lcmp
            ifne 22
        20: .line 1274
            ldc "Blowfish"
            astore 7 /* keyType */
        21: .line 1275
            goto 31
      StackMap locals:
      StackMap stack:
        22: lload 5 /* kType */
            ldc 18
            lcmp
            ifne 25
        23: .line 1276
            ldc "ARCFOUR"
            astore 7 /* keyType */
        24: .line 1277
            goto 31
        25: .line 1278
      StackMap locals:
      StackMap stack:
            getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
            ifnull 30
        26: .line 1279
            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 1280
            lload 5 /* kType */
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
        28: .line 1281
            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 1279
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        30: .line 1283
      StackMap locals:
      StackMap stack:
            ldc "Generic Secret"
            astore 7 /* keyType */
        31: .line 1290
      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 1291
            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 1292
            aload 4 /* attrs */
            iconst_0
            aaload
            invokevirtual sun.security.pkcs11.wrapper.CK_ATTRIBUTE.getLong:()J
            l2i
            istore 8 /* keyLength */
        34: .line 1296
      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 1302
            iconst_1
            anewarray sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            iconst_0
         1: .line 1303
            new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            ldc 256
            invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(J)V
            aastore
         2: .line 1302
            astore 4 /* attrs */
        start local 4 // sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] attrs
         3: .line 1304
            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 1305
            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 1306
            aconst_null
            astore 7 /* keyType */
        start local 7 // java.lang.String keyType
         6: .line 1307
            iconst_0
            istore 8 /* keyLength */
        start local 8 // int keyLength
         7: .line 1309
            lload 5 /* kType */
            lconst_0
            lcmp
            ifne 25
         8: .line 1311
            ldc "RSA"
            astore 7 /* keyType */
         9: .line 1313
            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 1314
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
            getfield sun.security.pkcs11.Token.p11:Lsun/security/pkcs11/wrapper/PKCS11;
            aload 1 /* session */
            invokevirtual sun.security.pkcs11.Session.id:()J
            lload 2 /* oHandle */
            aload 4 /* attrs */
            invokevirtual sun.security.pkcs11.wrapper.PKCS11.C_GetAttributeValue:(JJ[Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;)V
        11: .line 1315
            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 1316
            aload 9 /* modulus */
            invokevirtual java.math.BigInteger.bitLength:()I
            istore 8 /* keyLength */
        13: .line 1321
            iload 8 /* keyLength */
            aconst_null
        14: .line 1322
            iconst_m1
            ldc 2147483647
        15: .line 1321
            invokestatic sun.security.rsa.RSAKeyFactory.checkKeyLengths:(ILjava/math/BigInteger;II)V
        16: .line 1323
            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 1324
            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 1327
      StackMap locals:
      StackMap stack:
            aload 1 /* session */
        20: .line 1328
            lload 2 /* oHandle */
        21: .line 1329
            aload 7 /* keyType */
        22: .line 1330
            iload 8 /* keyLength */
        23: .line 1331
            aconst_null
        24: .line 1327
            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 1333
      StackMap locals:
      StackMap stack:
            lload 5 /* kType */
            lconst_1
            lcmp
            ifne 37
        26: .line 1335
            ldc "DSA"
            astore 7 /* keyType */
        27: .line 1337
            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 1338
            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 1339
            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 1340
            aload 9 /* prime */
            invokevirtual java.math.BigInteger.bitLength:()I
            istore 8 /* keyLength */
        31: .line 1342
            aload 1 /* session */
        32: .line 1343
            lload 2 /* oHandle */
        33: .line 1344
            aload 7 /* keyType */
        34: .line 1345
            iload 8 /* keyLength */
        35: .line 1346
            aconst_null
        36: .line 1342
            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 1348
      StackMap locals:
      StackMap stack:
            lload 5 /* kType */
            ldc 2
            lcmp
            ifne 49
        38: .line 1350
            ldc "DH"
            astore 7 /* keyType */
        39: .line 1352
            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 1353
            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 1354
            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 1355
            aload 9 /* prime */
            invokevirtual java.math.BigInteger.bitLength:()I
            istore 8 /* keyLength */
        43: .line 1357
            aload 1 /* session */
        44: .line 1358
            lload 2 /* oHandle */
        45: .line 1359
            aload 7 /* keyType */
        46: .line 1360
            iload 8 /* keyLength */
        47: .line 1361
            aconst_null
        48: .line 1357
            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 1363
      StackMap locals:
      StackMap stack:
            lload 5 /* kType */
            ldc 3
            lcmp
            ifne 62
        50: .line 1365
            iconst_1
            anewarray sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            iconst_0
        51: .line 1366
            new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            ldc 384
            invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(J)V
            aastore
        52: .line 1365
            astore 4 /* attrs */
        53: .line 1368
            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 1369
            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 1372
            aconst_null
            aload 9 /* encodedParams */
            invokestatic sun.security.util.ECUtil.getECParameterSpec:(Ljava/security/Provider;[B)Ljava/security/spec/ECParameterSpec;
        56: .line 1371
            astore 10 /* params */
        start local 10 // java.security.spec.ECParameterSpec params
        57: .line 1373
            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 1374
            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 1376
            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 1379
      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 1382
      StackMap locals:
      StackMap stack:
            getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
            ifnull 64
        63: .line 1383
            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 1385
      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 1420
            iconst_1
            istore 4 /* replaceCert */
         1: .line 1422
            aconst_null
            astore 5 /* session */
        start local 5 // sun.security.pkcs11.Session session
         2: .line 1424
            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 1428
            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 1430
            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 1431
            aload 6 /* h */
            getfield sun.security.pkcs11.P11KeyStore$THandle.handle:J
            lstore 7 /* pKeyHandle */
        start local 7 // long pKeyHandle
         6: .line 1432
            goto 12
        end local 7 // long pKeyHandle
         7: .line 1433
      StackMap locals: sun.security.pkcs11.Session sun.security.pkcs11.P11KeyStore$THandle
      StackMap stack:
            new java.security.KeyStoreException
            dup
         8: .line 1434
            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 1436
            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 1434
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        11: .line 1433
            invokespecial java.security.KeyStoreException.<init>:(Ljava/lang/String;)V
            athrow
        start local 7 // long pKeyHandle
        12: .line 1441
      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 1442
            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 1443
            new java.security.KeyStoreException
            dup
        15: .line 1444
            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 1446
            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 1444
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        18: .line 1443
            invokespecial java.security.KeyStoreException.<init>:(Ljava/lang/String;)V
            athrow
        19: .line 1448
      StackMap locals:
      StackMap stack:
            iload 4 /* replaceCert */
            ifeq 22
        20: .line 1450
            aload 0 /* this */
            aload 2 /* cka_id */
            invokevirtual sun.security.pkcs11.P11KeyStore.destroyChain:([B)Z
            pop
        21: .line 1451
            goto 29
        22: .line 1453
      StackMap locals:
      StackMap stack:
            iconst_2
            anewarray sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            iconst_0
        23: .line 1454
            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 1455
            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 1453
            astore 9 /* attrs */
        start local 9 // sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] attrs
        26: .line 1456
            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 1457
            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 1456
            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 1463
      StackMap locals:
      StackMap stack:
            iload 4 /* replaceCert */
            ifeq 32
        30: .line 1465
            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 1466
            goto 33
        32: .line 1469
      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 1476
      StackMap locals:
      StackMap stack:
            iconst_1
            anewarray sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            iconst_0
        34: .line 1477
            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 1476
            astore 9 /* attrs */
        start local 9 // sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] attrs
        36: .line 1478
            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 1480
            getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
            ifnull 46
        38: .line 1481
            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 1482
            aload 1 /* alias */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        40: .line 1483
            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 1481
            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 1485
            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 1486
            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 1487
            aload 10
            athrow
        46: .line 1486
      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 1488
            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=9, 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 1497
            aconst_null
            astore 4 /* session */
        start local 4 // sun.security.pkcs11.Session session
         1: .line 1498
            aload 3 /* key */
            invokevirtual sun.security.pkcs11.P11Key.getKeyID:()J
            lstore 5 /* keyID */
        start local 5 // long keyID
         2: .line 1500
            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 */
         3: .line 1501
            aload 3 /* key */
            getfield sun.security.pkcs11.P11Key.tokenObject:Z
            ifeq 16
         4: .line 1504
            iconst_1
            anewarray sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            iconst_0
         5: .line 1505
            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
         6: .line 1504
            astore 7 /* attrs */
        start local 7 // sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] attrs
         7: .line 1506
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
            getfield sun.security.pkcs11.Token.p11:Lsun/security/pkcs11/wrapper/PKCS11;
         8: .line 1507
            aload 4 /* session */
            invokevirtual sun.security.pkcs11.Session.id:()J
            lload 5 /* keyID */
            aload 7 /* attrs */
         9: .line 1506
            invokevirtual sun.security.pkcs11.wrapper.PKCS11.C_SetAttributeValue:(JJ[Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;)V
        10: .line 1508
            getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
            ifnull 33
        11: .line 1509
            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
        12: .line 1510
            aload 1 /* alias */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        13: .line 1511
            ldc "] for key entry"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        14: .line 1509
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        end local 7 // sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] attrs
        15: .line 1513
            goto 33
        16: .line 1516
      StackMap locals: sun.security.pkcs11.Session long
      StackMap stack:
            iconst_2
            anewarray sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            iconst_0
        17: .line 1517
            getstatic sun.security.pkcs11.P11KeyStore.ATTR_TOKEN_TRUE:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            aastore
            dup
            iconst_1
        18: .line 1518
            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
        19: .line 1516
            astore 7 /* attrs */
        start local 7 // sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] attrs
        20: .line 1520
            aload 2 /* attribute */
            ifnull 22
        21: .line 1521
            aload 7 /* 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 7 /* attrs */
        22: .line 1524
      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
            lload 5 /* keyID */
            aload 7 /* attrs */
            invokevirtual sun.security.pkcs11.wrapper.PKCS11.C_CopyObject:(JJ[Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;)J
            pop2
        23: .line 1525
            getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
            ifnull 33
        24: .line 1526
            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
        25: .line 1528
            aload 1 /* alias */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        26: .line 1529
            ldc "] to token entry"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        27: .line 1526
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        end local 7 // sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] attrs
        28: .line 1532
            goto 33
      StackMap locals: sun.security.pkcs11.P11KeyStore java.lang.String sun.security.pkcs11.wrapper.CK_ATTRIBUTE sun.security.pkcs11.P11Key sun.security.pkcs11.Session long
      StackMap stack: java.lang.Throwable
        29: astore 8
        30: .line 1533
            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
        31: .line 1534
            aload 3 /* key */
            invokevirtual sun.security.pkcs11.P11Key.releaseKeyID:()V
        32: .line 1535
            aload 8
            athrow
        33: .line 1533
      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
        34: .line 1534
            aload 3 /* key */
            invokevirtual sun.security.pkcs11.P11Key.releaseKeyID:()V
        35: .line 1536
            return
        end local 5 // long keyID
        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   36     0       this  Lsun/security/pkcs11/P11KeyStore;
            0   36     1      alias  Ljava/lang/String;
            0   36     2  attribute  Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            0   36     3        key  Lsun/security/pkcs11/P11Key;
            1   36     4    session  Lsun/security/pkcs11/Session;
            2   36     5      keyID  J
            7   15     7      attrs  [Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
           20   28     7      attrs  [Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
      Exception table:
        from    to  target  type
           2    29      29  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 1541
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 3 /* attrList */
        start local 3 // java.util.ArrayList attrList
         1: .line 1542
            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 1543
            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 1544
            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 1545
            aload 3 /* attrList */
            new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            ldc 257
         5: .line 1546
            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 1545
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
         7: .line 1547
            aload 3 /* attrList */
            new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            ldc 129
         8: .line 1548
            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 1547
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        10: .line 1549
            aload 3 /* attrList */
            new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            ldc 130
        11: .line 1550
            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 1549
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        13: .line 1551
            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 1553
            aload 1 /* alias */
            ifnull 18
        15: .line 1554
            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 1555
            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 1556
            goto 25
        18: .line 1559
      StackMap locals: java.util.ArrayList
      StackMap stack:
            aload 3 /* attrList */
            new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            ldc 258
        19: .line 1560
            aload 0 /* this */
            aload 2 /* cert */
            invokevirtual java.security.cert.X509Certificate.getSubjectX500Principal:()Ljavax/security/auth/x500/X500Principal;
        20: .line 1561
            ldc "CANONICAL"
        21: .line 1560
            invokevirtual javax.security.auth.x500.X500Principal.getName:(Ljava/lang/String;)Ljava/lang/String;
        22: .line 1561
            aload 2 /* cert */
        23: .line 1560
            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 1559
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        25: .line 1564
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 4 /* session */
        start local 4 // sun.security.pkcs11.Session session
        26: .line 1566
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
            invokevirtual sun.security.pkcs11.Token.getOpSession:()Lsun/security/pkcs11/Session;
            astore 4 /* session */
        27: .line 1567
            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 1568
            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 1567
            invokevirtual sun.security.pkcs11.wrapper.PKCS11.C_CreateObject:(J[Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;)J
            pop2
        30: .line 1569
            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 1570
            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 1571
            aload 5
            athrow
        34: .line 1570
      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 1572
            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 1582
            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 1583
            aload 0 /* this */
            aload 2 /* chain */
            iconst_1
            invokevirtual sun.security.pkcs11.P11KeyStore.storeCaCerts:([Ljava/security/cert/X509Certificate;I)V
         2: .line 1584
            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 1593
            aconst_null
            astore 3 /* session */
        start local 3 // sun.security.pkcs11.Session session
         1: .line 1594
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 4 /* cacerts */
        start local 4 // java.util.HashSet cacerts
         2: .line 1596
            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 1597
            iconst_2
            anewarray sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            iconst_0
         4: .line 1598
            getstatic sun.security.pkcs11.P11KeyStore.ATTR_TOKEN_TRUE:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            aastore
            dup
            iconst_1
         5: .line 1599
            getstatic sun.security.pkcs11.P11KeyStore.ATTR_CLASS_CERT:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            aastore
         6: .line 1597
            astore 5 /* attrs */
        start local 5 // sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] attrs
         7: .line 1600
            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 1603
            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 1604
            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 1603
            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 1606
            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 1607
            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 1608
            aload 12
            athrow
        17: .line 1607
      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 1610
            iload 2 /* start */
            istore 5 /* i */
        start local 5 // int i
        19: goto 29
        20: .line 1611
      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 1612
            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 1613
            goto 28
      StackMap locals:
      StackMap stack:
        23: getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
            ifnull 28
        24: .line 1614
            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 1615
            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 1616
            ldc "]"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        27: .line 1614
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        28: .line 1610
      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 1619
            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 1624
            aload 2 /* ske */
            invokevirtual java.security.KeyStore$SecretKeyEntry.getSecretKey:()Ljavax/crypto/SecretKey;
            astore 3 /* skey */
        start local 3 // javax.crypto.SecretKey skey
         1: .line 1627
            iconst_3
            anewarray sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            iconst_0
         2: .line 1628
            getstatic sun.security.pkcs11.P11KeyStore.ATTR_SKEY_TOKEN_TRUE:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            aastore
            dup
            iconst_1
         3: .line 1629
            getstatic sun.security.pkcs11.P11KeyStore.ATTR_PRIVATE_TRUE:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            aastore
            dup
            iconst_2
         4: .line 1630
            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 1627
            astore 4 /* attrs */
        start local 4 // sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] attrs
         6: .line 1633
            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 1634
            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 1636
            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 1640
      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 1642
            getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
            ifnull 15
        12: .line 1643
            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 1644
            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 1643
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        15: .line 1646
      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 1649
            aload 0 /* attrs */
            arraylength
            istore 2 /* n */
        start local 2 // int n
         1: .line 1650
            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 1651
            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 1652
            aload 3 /* newAttrs */
            iload 2 /* n */
            aload 1 /* attr */
            aastore
         4: .line 1653
            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 1659
            aload 2 /* pke */
            invokevirtual java.security.KeyStore$PrivateKeyEntry.getPrivateKey:()Ljava/security/PrivateKey;
            astore 3 /* key */
        start local 3 // java.security.PrivateKey key
         1: .line 1660
            aconst_null
            astore 4 /* attrs */
        start local 4 // sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] attrs
         2: .line 1665
            aload 3 /* key */
            instanceof sun.security.pkcs11.P11Key
            ifeq 8
         3: .line 1666
            aload 3 /* key */
            checkcast sun.security.pkcs11.P11Key
            astore 5 /* p11Key */
        start local 5 // sun.security.pkcs11.P11Key p11Key
         4: .line 1667
            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 1668
            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 1669
            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 1670
            return
        end local 5 // sun.security.pkcs11.P11Key p11Key
         8: .line 1674
      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 1675
            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 1677
            aload 3 /* key */
            instanceof java.security.interfaces.RSAPrivateKey
            ifeq 16
        11: .line 1679
            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 1680
            aload 0 /* this */
        13: .line 1681
            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 1680
            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 1683
            goto 99
      StackMap locals: int java.security.PublicKey
      StackMap stack:
        16: aload 3 /* key */
            instanceof java.security.interfaces.DSAPrivateKey
            ifeq 40
        17: .line 1685
            aload 3 /* key */
            checkcast java.security.interfaces.DSAPrivateKey
            astore 7 /* dsaKey */
        start local 7 // java.security.interfaces.DSAPrivateKey dsaKey
        18: .line 1687
            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 1688
            aload 8 /* idAttrs */
            iconst_0
            aaload
            ifnonnull 21
        20: .line 1689
            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 1692
      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 1693
            getstatic sun.security.pkcs11.P11KeyStore.ATTR_TOKEN_TRUE:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            aastore
            dup
            iconst_1
        23: .line 1694
            getstatic sun.security.pkcs11.P11KeyStore.ATTR_CLASS_PKEY:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            aastore
            dup
            iconst_2
        24: .line 1695
            getstatic sun.security.pkcs11.P11KeyStore.ATTR_PRIVATE_TRUE:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            aastore
            dup
            iconst_3
        25: .line 1696
            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 1697
            aload 8 /* idAttrs */
            iconst_0
            aaload
            aastore
            dup
            iconst_5
        27: .line 1698
            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 1699
            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 1700
            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 1701
            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 1692
            astore 4 /* attrs */
        32: .line 1703
            aload 8 /* idAttrs */
            iconst_1
            aaload
            ifnull 34
        33: .line 1704
            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 1707
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
        35: .line 1708
            ldc "import"
            ldc 3
            lconst_1
            aload 4 /* attrs */
        36: .line 1707
            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 1710
            getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
            ifnull 99
        38: .line 1711
            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 1714
            goto 99
      StackMap locals:
      StackMap stack:
        40: aload 3 /* key */
            instanceof javax.crypto.interfaces.DHPrivateKey
            ifeq 61
        41: .line 1716
            aload 3 /* key */
            checkcast javax.crypto.interfaces.DHPrivateKey
            astore 7 /* dhKey */
        start local 7 // javax.crypto.interfaces.DHPrivateKey dhKey
        42: .line 1718
            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 1719
            aload 8 /* idAttrs */
            iconst_0
            aaload
            ifnonnull 45
        44: .line 1720
            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 1723
      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 1724
            getstatic sun.security.pkcs11.P11KeyStore.ATTR_TOKEN_TRUE:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            aastore
            dup
            iconst_1
        47: .line 1725
            getstatic sun.security.pkcs11.P11KeyStore.ATTR_CLASS_PKEY:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            aastore
            dup
            iconst_2
        48: .line 1726
            getstatic sun.security.pkcs11.P11KeyStore.ATTR_PRIVATE_TRUE:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            aastore
            dup
            iconst_3
        49: .line 1727
            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 1728
            aload 8 /* idAttrs */
            iconst_0
            aaload
            aastore
            dup
            iconst_5
        51: .line 1729
            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 1730
            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 1731
            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 1723
            astore 4 /* attrs */
        55: .line 1733
            aload 8 /* idAttrs */
            iconst_1
            aaload
            ifnull 57
        56: .line 1734
            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 1737
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
        58: .line 1738
            ldc "import"
            ldc 3
            ldc 2
            aload 4 /* attrs */
        59: .line 1737
            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 1740
            goto 99
      StackMap locals:
      StackMap stack:
        61: aload 3 /* key */
            instanceof java.security.interfaces.ECPrivateKey
            ifeq 85
        62: .line 1742
            aload 3 /* key */
            checkcast java.security.interfaces.ECPrivateKey
            astore 7 /* ecKey */
        start local 7 // java.security.interfaces.ECPrivateKey ecKey
        63: .line 1744
            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 1745
            aload 8 /* idAttrs */
            iconst_0
            aaload
            ifnonnull 66
        65: .line 1746
            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 1750
      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 1749
            astore 9 /* encodedParams */
        start local 9 // byte[] encodedParams
        68: .line 1751
            bipush 7
            anewarray sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            iconst_0
        69: .line 1752
            getstatic sun.security.pkcs11.P11KeyStore.ATTR_TOKEN_TRUE:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            aastore
            dup
            iconst_1
        70: .line 1753
            getstatic sun.security.pkcs11.P11KeyStore.ATTR_CLASS_PKEY:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            aastore
            dup
            iconst_2
        71: .line 1754
            getstatic sun.security.pkcs11.P11KeyStore.ATTR_PRIVATE_TRUE:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            aastore
            dup
            iconst_3
        72: .line 1755
            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 1756
            aload 8 /* idAttrs */
            iconst_0
            aaload
            aastore
            dup
            iconst_5
        74: .line 1757
            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 1758
            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 1751
            astore 4 /* attrs */
        77: .line 1760
            aload 8 /* idAttrs */
            iconst_1
            aaload
            ifnull 79
        78: .line 1761
            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 1764
      StackMap locals: byte[]
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
        80: .line 1765
            ldc "import"
            ldc 3
            ldc 3
            aload 4 /* attrs */
        81: .line 1764
            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 1767
            getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
            ifnull 99
        83: .line 1768
            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 1771
            goto 99
      StackMap locals:
      StackMap stack:
        85: aload 3 /* key */
            instanceof sun.security.pkcs11.P11Key
            ifeq 98
        86: .line 1773
            aload 3 /* key */
            checkcast sun.security.pkcs11.P11Key
            astore 7 /* p11Key */
        start local 7 // sun.security.pkcs11.P11Key p11Key
        87: .line 1774
            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 1775
            new java.security.KeyStoreException
            dup
        89: .line 1776
            ldc "Cannot move sensitive keys across tokens"
        90: .line 1775
            invokespecial java.security.KeyStoreException.<init>:(Ljava/lang/String;)V
            athrow
        91: .line 1778
      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 1779
            iload 5 /* useNDB */
            ifeq 95
        93: .line 1786
            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 1787
            aload 9 /* idAttrs */
            iconst_1
            aaload
            astore 8 /* netscapeDB */
        end local 9 // sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] idAttrs
        95: .line 1790
      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 1791
            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 1792
            return
        end local 8 // sun.security.pkcs11.wrapper.CK_ATTRIBUTE netscapeDB
        end local 7 // sun.security.pkcs11.P11Key p11Key
        98: .line 1795
      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 1798
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 7 /* session */
        start local 7 // sun.security.pkcs11.Session session
       100: .line 1800
            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 1803
            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 1804
            getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
            ifnull 111
       103: .line 1805
            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 1806
            aload 1 /* alias */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
       105: .line 1807
            ldc "]"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
       106: .line 1805
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
       107: .line 1809
            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 1810
            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 1811
            aload 8
            athrow
       111: .line 1810
      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 1813
            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 1814
            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 1822
            aconst_null
            astore 4 /* attrs */
        start local 4 // sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] attrs
         1: .line 1823
            aload 2 /* key */
            instanceof java.security.interfaces.RSAPrivateCrtKey
            ifeq 40
         2: .line 1825
            getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
            ifnull 4
         3: .line 1826
            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 1829
      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 1831
            bipush 13
            anewarray sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            iconst_0
         6: .line 1832
            getstatic sun.security.pkcs11.P11KeyStore.ATTR_TOKEN_TRUE:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            aastore
            dup
            iconst_1
         7: .line 1833
            getstatic sun.security.pkcs11.P11KeyStore.ATTR_CLASS_PKEY:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            aastore
            dup
            iconst_2
         8: .line 1834
            getstatic sun.security.pkcs11.P11KeyStore.ATTR_PRIVATE_TRUE:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            aastore
            dup
            iconst_3
         9: .line 1835
            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 1836
            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 1837
            new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            ldc 288
        12: .line 1838
            aload 5 /* rsaKey */
            invokeinterface java.security.interfaces.RSAPrivateCrtKey.getModulus:()Ljava/math/BigInteger;
        13: .line 1837
            invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JLjava/math/BigInteger;)V
            aastore
            dup
            bipush 6
        14: .line 1839
            new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            ldc 291
        15: .line 1840
            aload 5 /* rsaKey */
            invokeinterface java.security.interfaces.RSAPrivateCrtKey.getPrivateExponent:()Ljava/math/BigInteger;
        16: .line 1839
            invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JLjava/math/BigInteger;)V
            aastore
            dup
            bipush 7
        17: .line 1841
            new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            ldc 290
        18: .line 1842
            aload 5 /* rsaKey */
            invokeinterface java.security.interfaces.RSAPrivateCrtKey.getPublicExponent:()Ljava/math/BigInteger;
        19: .line 1841
            invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JLjava/math/BigInteger;)V
            aastore
            dup
            bipush 8
        20: .line 1843
            new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            ldc 292
        21: .line 1844
            aload 5 /* rsaKey */
            invokeinterface java.security.interfaces.RSAPrivateCrtKey.getPrimeP:()Ljava/math/BigInteger;
        22: .line 1843
            invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JLjava/math/BigInteger;)V
            aastore
            dup
            bipush 9
        23: .line 1845
            new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            ldc 293
        24: .line 1846
            aload 5 /* rsaKey */
            invokeinterface java.security.interfaces.RSAPrivateCrtKey.getPrimeQ:()Ljava/math/BigInteger;
        25: .line 1845
            invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JLjava/math/BigInteger;)V
            aastore
            dup
            bipush 10
        26: .line 1847
            new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            ldc 294
        27: .line 1848
            aload 5 /* rsaKey */
            invokeinterface java.security.interfaces.RSAPrivateCrtKey.getPrimeExponentP:()Ljava/math/BigInteger;
        28: .line 1847
            invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JLjava/math/BigInteger;)V
            aastore
            dup
            bipush 11
        29: .line 1849
            new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            ldc 295
        30: .line 1850
            aload 5 /* rsaKey */
            invokeinterface java.security.interfaces.RSAPrivateCrtKey.getPrimeExponentQ:()Ljava/math/BigInteger;
        31: .line 1849
            invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JLjava/math/BigInteger;)V
            aastore
            dup
            bipush 12
        32: .line 1851
            new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            ldc 296
        33: .line 1852
            aload 5 /* rsaKey */
            invokeinterface java.security.interfaces.RSAPrivateCrtKey.getCrtCoefficient:()Ljava/math/BigInteger;
        34: .line 1851
            invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JLjava/math/BigInteger;)V
            aastore
        35: .line 1831
            astore 4 /* attrs */
        36: .line 1853
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
        37: .line 1854
            ldc "import"
            ldc 3
            lconst_0
            aload 4 /* attrs */
        38: .line 1853
            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 1856
            goto 59
        40: .line 1858
      StackMap locals:
      StackMap stack:
            getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
            ifnull 42
        41: .line 1859
            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 1862
      StackMap locals:
      StackMap stack:
            aload 2 /* key */
            astore 5 /* rsaKey */
        start local 5 // java.security.interfaces.RSAPrivateKey rsaKey
        43: .line 1864
            bipush 7
            anewarray sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            iconst_0
        44: .line 1865
            getstatic sun.security.pkcs11.P11KeyStore.ATTR_TOKEN_TRUE:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            aastore
            dup
            iconst_1
        45: .line 1866
            getstatic sun.security.pkcs11.P11KeyStore.ATTR_CLASS_PKEY:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            aastore
            dup
            iconst_2
        46: .line 1867
            getstatic sun.security.pkcs11.P11KeyStore.ATTR_PRIVATE_TRUE:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            aastore
            dup
            iconst_3
        47: .line 1868
            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 1869
            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 1870
            new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            ldc 288
        50: .line 1871
            aload 5 /* rsaKey */
            invokeinterface java.security.interfaces.RSAPrivateKey.getModulus:()Ljava/math/BigInteger;
        51: .line 1870
            invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JLjava/math/BigInteger;)V
            aastore
            dup
            bipush 6
        52: .line 1872
            new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            ldc 291
        53: .line 1873
            aload 5 /* rsaKey */
            invokeinterface java.security.interfaces.RSAPrivateKey.getPrivateExponent:()Ljava/math/BigInteger;
        54: .line 1872
            invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JLjava/math/BigInteger;)V
            aastore
        55: .line 1864
            astore 4 /* attrs */
        56: .line 1874
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
        57: .line 1875
            ldc "import"
            ldc 3
            lconst_0
            aload 4 /* attrs */
        58: .line 1874
            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 1878
      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 1896
            iconst_2
            anewarray sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            astore 5 /* attrs */
        start local 5 // sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] attrs
         1: .line 1897
            iload 3 /* id */
            ifne 3
            iload 4 /* netscapeDb */
            ifne 3
         2: .line 1898
            aload 5 /* attrs */
            areturn
         3: .line 1900
      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 1901
            aload 6 /* alg */
            ldc "RSA"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 9
            aload 2 /* publicKey */
            instanceof java.security.interfaces.RSAPublicKey
            ifeq 9
         5: .line 1902
            iload 3 /* id */
            ifeq 34
         6: .line 1903
            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
         7: .line 1904
            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
         8: .line 1907
            goto 34
      StackMap locals: java.lang.String
      StackMap stack:
         9: aload 6 /* alg */
            ldc "DSA"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 16
            aload 2 /* publicKey */
            instanceof java.security.interfaces.DSAPublicKey
            ifeq 16
        10: .line 1908
            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
        11: .line 1909
            iload 3 /* id */
            ifeq 13
        12: .line 1910
            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
        13: .line 1912
      StackMap locals: java.math.BigInteger
      StackMap stack:
            iload 4 /* netscapeDb */
            ifeq 34
        14: .line 1913
            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
        15: .line 1915
            goto 34
      StackMap locals:
      StackMap stack:
        16: aload 6 /* alg */
            ldc "DH"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 23
            aload 2 /* publicKey */
            instanceof javax.crypto.interfaces.DHPublicKey
            ifeq 23
        17: .line 1916
            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
        18: .line 1917
            iload 3 /* id */
            ifeq 20
        19: .line 1918
            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
        20: .line 1920
      StackMap locals: java.math.BigInteger
      StackMap stack:
            iload 4 /* netscapeDb */
            ifeq 34
        21: .line 1921
            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
        22: .line 1923
            goto 34
      StackMap locals:
      StackMap stack:
        23: aload 6 /* alg */
            ldc "EC"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 33
            aload 2 /* publicKey */
            instanceof java.security.interfaces.ECPublicKey
            ifeq 33
        24: .line 1924
            aload 2 /* publicKey */
            checkcast java.security.interfaces.ECPublicKey
            astore 7 /* ecPub */
        start local 7 // java.security.interfaces.ECPublicKey ecPub
        25: .line 1925
            aload 7 /* ecPub */
            invokeinterface java.security.interfaces.ECPublicKey.getW:()Ljava/security/spec/ECPoint;
            astore 8 /* point */
        start local 8 // java.security.spec.ECPoint point
        26: .line 1926
            aload 7 /* ecPub */
            invokeinterface java.security.interfaces.ECPublicKey.getParams:()Ljava/security/spec/ECParameterSpec;
            astore 9 /* params */
        start local 9 // java.security.spec.ECParameterSpec params
        27: .line 1927
            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
        28: .line 1928
            iload 3 /* id */
            ifeq 30
        29: .line 1929
            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
        30: .line 1931
      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 34
        31: .line 1932
            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
        32: .line 1934
            goto 34
        33: .line 1935
      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
        34: .line 1937
      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   35     0          this  Lsun/security/pkcs11/P11KeyStore;
            0   35     1    privateKey  Ljava/security/PrivateKey;
            0   35     2     publicKey  Ljava/security/PublicKey;
            0   35     3            id  Z
            0   35     4    netscapeDb  Z
            1   35     5         attrs  [Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            4   35     6           alg  Ljava/lang/String;
            7    8     7             n  Ljava/math/BigInteger;
           11   15     7             y  Ljava/math/BigInteger;
           18   22     7             y  Ljava/math/BigInteger;
           25   32     7         ecPub  Ljava/security/interfaces/ECPublicKey;
           26   32     8         point  Ljava/security/spec/ECPoint;
           27   32     9        params  Ljava/security/spec/ECParameterSpec;
           28   32    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 1945
            aconst_null
            astore 2 /* session */
        start local 2 // sun.security.pkcs11.Session session
         1: .line 1947
            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 1948
            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 1949
            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 1961
            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 1950
            iconst_0
            ireturn
         6: .line 1953
      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 1954
            getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
            ifnull 12
         8: .line 1955
            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 1956
            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 1957
            ldc "]"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        11: .line 1955
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        12: .line 1961
      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 1959
            iconst_1
            ireturn
        end local 3 // sun.security.pkcs11.P11KeyStore$THandle h
        14: .line 1960
      StackMap locals: sun.security.pkcs11.P11KeyStore byte[] sun.security.pkcs11.Session
      StackMap stack: java.lang.Throwable
            astore 4
        15: .line 1961
            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 1962
            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 1971
            aconst_null
            astore 2 /* session */
        start local 2 // sun.security.pkcs11.Session session
         1: .line 1973
            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 1975
            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 1976
            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 1977
            getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
            ifnull 9
         5: .line 1978
            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 1980
            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 1981
            ldc "]"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         8: .line 1978
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
         9: .line 2072
      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 1983
            iconst_0
            ireturn
        11: .line 1986
      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 1987
            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 1988
            getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
            ifnull 18
        14: .line 1989
            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 1991
            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 1992
            ldc "]"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        17: .line 1989
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        18: .line 1997
      StackMap locals: java.security.cert.X509Certificate
      StackMap stack:
            aload 4 /* endCert */
            astore 5 /* next */
        start local 5 // java.security.cert.X509Certificate next
        19: .line 2000
      StackMap locals: java.security.cert.X509Certificate
      StackMap stack:
            aload 5 /* next */
            invokevirtual java.security.cert.X509Certificate.getSubjectX500Principal:()Ljavax/security/auth/x500/X500Principal;
        20: .line 2001
            aload 5 /* next */
            invokevirtual java.security.cert.X509Certificate.getIssuerX500Principal:()Ljavax/security/auth/x500/X500Principal;
        21: .line 2000
            invokevirtual javax.security.auth.x500.X500Principal.equals:(Ljava/lang/Object;)Z
        22: .line 2001
            ifeq 24
        23: .line 2003
            goto 72
        24: .line 2006
      StackMap locals:
      StackMap stack:
            iconst_3
            anewarray sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            iconst_0
        25: .line 2007
            getstatic sun.security.pkcs11.P11KeyStore.ATTR_TOKEN_TRUE:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            aastore
            dup
            iconst_1
        26: .line 2008
            getstatic sun.security.pkcs11.P11KeyStore.ATTR_CLASS_CERT:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            aastore
            dup
            iconst_2
        27: .line 2009
            new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            ldc 257
        28: .line 2010
            aload 5 /* next */
            invokevirtual java.security.cert.X509Certificate.getIssuerX500Principal:()Ljavax/security/auth/x500/X500Principal;
            invokevirtual javax.security.auth.x500.X500Principal.getEncoded:()[B
        29: .line 2009
            invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JLjava/lang/Object;)V
            aastore
        30: .line 2006
            astore 6 /* attrs */
        start local 6 // sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] attrs
        31: .line 2011
            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 2013
            aload 7 /* ch */
            ifnull 72
            aload 7 /* ch */
            arraylength
            ifne 34
        33: .line 2015
            goto 72
        34: .line 2018
      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 2019
            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 2020
            aload 7 /* ch */
            arraylength
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
        37: .line 2021
            ldc " certificate entries for subject ["
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        38: .line 2022
            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 2023
            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 2019
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        41: .line 2026
      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 2030
            iconst_3
            anewarray sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            iconst_0
        43: .line 2031
            getstatic sun.security.pkcs11.P11KeyStore.ATTR_TOKEN_TRUE:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            aastore
            dup
            iconst_1
        44: .line 2032
            getstatic sun.security.pkcs11.P11KeyStore.ATTR_CLASS_CERT:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            aastore
            dup
            iconst_2
        45: .line 2033
            new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            ldc 129
        46: .line 2034
            aload 5 /* next */
            invokevirtual java.security.cert.X509Certificate.getSubjectX500Principal:()Ljavax/security/auth/x500/X500Principal;
            invokevirtual javax.security.auth.x500.X500Principal.getEncoded:()[B
        47: .line 2033
            invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JLjava/lang/Object;)V
            aastore
        48: .line 2030
            astore 6 /* attrs */
        49: .line 2035
            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 2037
            iconst_0
            istore 9 /* destroyIt */
        start local 9 // boolean destroyIt
        51: .line 2038
            aload 8 /* issuers */
            ifnull 52
            aload 8 /* issuers */
            arraylength
            ifne 54
        52: .line 2041
      StackMap locals: long[] int
      StackMap stack:
            iconst_1
            istore 9 /* destroyIt */
        53: .line 2042
            goto 58
      StackMap locals:
      StackMap stack:
        54: aload 8 /* issuers */
            arraylength
            iconst_1
            if_icmpne 58
        55: .line 2043
            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 2044
            aload 5 /* next */
            aload 10 /* iCert */
            invokevirtual java.security.cert.X509Certificate.equals:(Ljava/lang/Object;)Z
            ifeq 58
        57: .line 2047
            iconst_1
            istore 9 /* destroyIt */
        end local 10 // java.security.cert.X509Certificate iCert
        58: .line 2051
      StackMap locals:
      StackMap stack:
            iload 9 /* destroyIt */
            ifeq 67
        59: .line 2052
            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 2053
            getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
            ifnull 19
        61: .line 2054
            getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
        62: .line 2055
            new java.lang.StringBuilder
            dup
            ldc "destroyChain destroyed cert in chain with subject ["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        63: .line 2057
            aload 5 /* next */
            invokevirtual java.security.cert.X509Certificate.getSubjectX500Principal:()Ljavax/security/auth/x500/X500Principal;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc "]"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        64: .line 2055
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        65: .line 2054
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        66: .line 2059
            goto 19
        67: .line 2060
      StackMap locals:
      StackMap stack:
            getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
            ifnull 19
        68: .line 2061
            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 2063
            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 2061
            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 1998
            goto 19
        72: .line 2072
      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 2069
            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 2071
      StackMap locals: sun.security.pkcs11.P11KeyStore byte[] sun.security.pkcs11.Session
      StackMap stack: java.lang.Throwable
            astore 11
        75: .line 2072
            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 2073
            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 2081
            aconst_null
            astore 2 /* session */
        start local 2 // sun.security.pkcs11.Session session
         1: .line 2083
            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 2085
            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 2086
            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 2087
            getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
            ifnull 9
         5: .line 2088
            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 2090
            aload 1 /* alias */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         7: .line 2091
            ldc "]"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         8: .line 2088
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
         9: .line 2098
      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 2093
            iconst_0
            ireturn
        11: .line 2095
      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 2098
            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 2096
            iconst_1
            ireturn
        end local 3 // sun.security.pkcs11.P11KeyStore$THandle h
        14: .line 2097
      StackMap locals: sun.security.pkcs11.P11KeyStore java.lang.String sun.security.pkcs11.Session
      StackMap stack: java.lang.Throwable
            astore 4
        15: .line 2098
            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 2099
            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 2107
            aconst_null
            astore 2 /* session */
        start local 2 // sun.security.pkcs11.Session session
         1: .line 2109
            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 2111
            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 2112
            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 2113
            getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
            ifnull 11
         5: .line 2114
            getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
         6: .line 2115
            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 2116
            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 2117
            ldc "]"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         9: .line 2115
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        10: .line 2114
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        11: .line 2124
      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 2119
            iconst_0
            ireturn
        13: .line 2121
      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 2124
            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 2122
            iconst_1
            ireturn
        end local 3 // sun.security.pkcs11.P11KeyStore$THandle h
        16: .line 2123
      StackMap locals: sun.security.pkcs11.P11KeyStore byte[] sun.security.pkcs11.Session
      StackMap stack: java.lang.Throwable
            astore 4
        17: .line 2124
            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 2125
            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 2132
            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 2133
            aload 2 /* cert */
            invokevirtual java.security.cert.X509Certificate.getSerialNumber:()Ljava/math/BigInteger;
            astore 4 /* serialNum */
        start local 4 // java.math.BigInteger serialNum
         2: .line 2135
            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 2136
            ldc "/"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         4: .line 2137
            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 2138
            ldc "/"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         6: .line 2139
            aload 4 /* serialNum */
            invokevirtual java.math.BigInteger.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         7: .line 2135
            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 2146
            iconst_1
            istore 1 /* printable */
        start local 1 // boolean printable
         1: .line 2147
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         2: goto 7
         3: .line 2148
      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 2149
            iconst_0
            istore 1 /* printable */
         5: .line 2150
            goto 8
         6: .line 2147
      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 2154
      StackMap locals:
      StackMap stack:
            iload 1 /* printable */
            ifne 10
         9: .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
        10: .line 2158
      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 2159
      StackMap locals:
      StackMap stack: java.io.UnsupportedEncodingException
            pop
        13: .line 2160
            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 2179
            aload 2 /* type */
            getstatic sun.security.pkcs11.P11KeyStore.ATTR_CLASS_SKEY:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            if_acmpne 7
         1: .line 2180
            iconst_3
            anewarray sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            iconst_0
         2: .line 2181
            getstatic sun.security.pkcs11.P11KeyStore.ATTR_SKEY_TOKEN_TRUE:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            aastore
            dup
            iconst_1
         3: .line 2182
            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 2183
            aload 2 /* type */
            aastore
         5: .line 2180
            astore 5 /* attrs */
        start local 5 // sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] attrs
         6: .line 2184
            goto 12
        end local 5 // sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] attrs
         7: .line 2185
      StackMap locals:
      StackMap stack:
            iconst_3
            anewarray sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            iconst_0
         8: .line 2186
            getstatic sun.security.pkcs11.P11KeyStore.ATTR_TOKEN_TRUE:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            aastore
            dup
            iconst_1
         9: .line 2187
            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 2188
            aload 2 /* type */
            aastore
        11: .line 2185
            astore 5 /* attrs */
        start local 5 // sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] attrs
        12: .line 2190
      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 2191
            aload 6 /* h */
            arraylength
            ifne 34
        14: .line 2192
            getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
            ifnull 67
        15: .line 2193
            aload 2 /* type */
            getstatic sun.security.pkcs11.P11KeyStore.ATTR_CLASS_SKEY:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            if_acmpne 21
        16: .line 2194
            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 2196
            aload 4 /* cka_label */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        18: .line 2197
            ldc "]"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        19: .line 2194
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        20: .line 2198
            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 2199
            getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
        23: .line 2200
            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 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;
        25: .line 2202
            ldc "]"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        26: .line 2200
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        27: .line 2199
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        28: .line 2203
            goto 67
        29: .line 2204
      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 2206
            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 2207
            ldc "]"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        32: .line 2204
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        33: .line 2210
            goto 67
      StackMap locals:
      StackMap stack:
        34: aload 6 /* h */
            arraylength
            iconst_1
            if_icmpne 36
        35: .line 2213
            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 2220
      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 2222
            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 2223
            iconst_0
            istore 8 /* i */
        start local 8 // int i
        39: goto 47
        40: .line 2226
      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 2225
            astore 9 /* label */
        start local 9 // sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] label
        42: .line 2227
            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 2228
            aload 9 /* label */
            iconst_0
            aaload
            getfield sun.security.pkcs11.wrapper.CK_ATTRIBUTE.pValue:Ljava/lang/Object;
            ifnull 46
        44: .line 2229
            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 2230
            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 2223
      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 2233
            aload 7 /* list */
            invokevirtual java.util.ArrayList.size:()I
            iconst_1
            if_icmpne 50
        49: .line 2235
            aload 7 /* list */
            iconst_0
            invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
            checkcast sun.security.pkcs11.P11KeyStore$THandle
            areturn
        50: .line 2237
      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 2239
            aload 7 /* list */
            invokevirtual java.util.ArrayList.size:()I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
        52: .line 2240
            ldc " secret keys sharing CKA_LABEL ["
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        53: .line 2241
            aload 4 /* cka_label */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        54: .line 2242
            ldc "]"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        55: .line 2237
            invokespecial java.security.KeyStoreException.<init>:(Ljava/lang/String;)V
            athrow
        end local 7 // java.util.ArrayList list
        56: .line 2244
      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 2245
            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 2247
            aload 6 /* h */
            arraylength
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
        59: .line 2248
            ldc " certificates sharing CKA_ID "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        60: .line 2249
            aload 3 /* cka_id */
            invokestatic sun.security.pkcs11.P11KeyStore.getID:([B)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        61: .line 2245
            invokespecial java.security.KeyStoreException.<init>:(Ljava/lang/String;)V
            athrow
        62: .line 2251
      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 2253
            aload 6 /* h */
            arraylength
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
        64: .line 2254
            ldc " private keys sharing CKA_ID "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        65: .line 2255
            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 2251
            invokespecial java.security.KeyStoreException.<init>:(Ljava/lang/String;)V
            athrow
        67: .line 2258
      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 2279
            iconst_1
            anewarray sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            iconst_0
         1: .line 2280
            new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            ldc 134
            invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(J)V
            aastore
         2: .line 2279
            astore 1 /* trustedAttr */
        start local 1 // sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] trustedAttr
         3: .line 2282
            aconst_null
            astore 2 /* session */
        start local 2 // sun.security.pkcs11.Session session
         4: .line 2284
            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 2288
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 3 /* pkeyIDs */
        start local 3 // java.util.ArrayList pkeyIDs
         6: .line 2289
            iconst_2
            anewarray sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            iconst_0
         7: .line 2290
            getstatic sun.security.pkcs11.P11KeyStore.ATTR_TOKEN_TRUE:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            aastore
            dup
            iconst_1
         8: .line 2291
            getstatic sun.security.pkcs11.P11KeyStore.ATTR_CLASS_PKEY:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            aastore
         9: .line 2289
            astore 4 /* attrs */
        start local 4 // sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] attrs
        10: .line 2293
            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 2295
            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 2296
            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 2297
            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 2299
            aload 4 /* attrs */
            iconst_0
            aaload
            getfield sun.security.pkcs11.wrapper.CK_ATTRIBUTE.pValue:Ljava/lang/Object;
            ifnull 17
        16: .line 2300
            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 2295
      StackMap locals:
      StackMap stack:
            iinc 8 1
      StackMap locals:
      StackMap stack:
        18: iload 8
            iload 9
            if_icmplt 12
        19: .line 2315
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
        20: .line 2314
            astore 6 /* certMap */
        start local 6 // java.util.HashMap certMap
        21: .line 2317
            iconst_2
            anewarray sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            iconst_0
        22: .line 2318
            getstatic sun.security.pkcs11.P11KeyStore.ATTR_TOKEN_TRUE:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            aastore
            dup
            iconst_1
        23: .line 2319
            getstatic sun.security.pkcs11.P11KeyStore.ATTR_CLASS_CERT:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            aastore
        24: .line 2317
            astore 4 /* attrs */
        25: .line 2321
            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 2323
            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 2324
            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 2326
            aconst_null
            astore 12 /* cka_label */
        start local 12 // java.lang.String cka_label
        30: .line 2327
            aconst_null
            astore 13 /* cka_id */
        start local 13 // byte[] cka_id
        31: .line 2329
            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 2330
            aload 4 /* attrs */
            iconst_0
            aaload
            getfield sun.security.pkcs11.wrapper.CK_ATTRIBUTE.pValue:Ljava/lang/Object;
            ifnull 38
        33: .line 2332
            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 2334
            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 2335
            aload 14 /* pe */
            invokevirtual sun.security.pkcs11.wrapper.PKCS11Exception.getErrorCode:()J
            ldc 18
            lcmp
            ifeq 38
        37: .line 2336
            aload 14 /* pe */
            athrow
        end local 14 // sun.security.pkcs11.wrapper.PKCS11Exception pe
        38: .line 2346
      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 2347
            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 2348
            aload 4 /* attrs */
            iconst_0
            aaload
            getfield sun.security.pkcs11.wrapper.CK_ATTRIBUTE.pValue:Ljava/lang/Object;
            ifnonnull 43
        41: .line 2349
            aload 12 /* cka_label */
            ifnonnull 46
        42: .line 2351
            goto 74
        43: .line 2354
      StackMap locals:
      StackMap stack:
            aload 12 /* cka_label */
            ifnonnull 45
        44: .line 2356
            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 2358
      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 2361
      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 2365
            iconst_0
            istore 15 /* cka_trusted */
        start local 15 // boolean cka_trusted
        48: .line 2367
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.useSecmodTrust:Z
            ifeq 51
        49: .line 2368
            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 2369
            goto 64
        51: .line 2370
      StackMap locals: java.security.cert.X509Certificate int
      StackMap stack:
            getstatic sun.security.pkcs11.P11KeyStore.CKA_TRUSTED_SUPPORTED:Z
            ifeq 64
        52: .line 2372
            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 2373
            aload 2 /* session */
            invokevirtual sun.security.pkcs11.Session.id:()J
            lload 7 /* handle */
            aload 1 /* trustedAttr */
        54: .line 2372
            invokevirtual sun.security.pkcs11.wrapper.PKCS11.C_GetAttributeValue:(JJ[Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;)V
        55: .line 2374
            aload 1 /* trustedAttr */
            iconst_0
            aaload
            invokevirtual sun.security.pkcs11.wrapper.CK_ATTRIBUTE.getBoolean:()Z
            istore 15 /* cka_trusted */
        56: .line 2375
            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 2376
            aload 16 /* pe */
            invokevirtual sun.security.pkcs11.wrapper.PKCS11Exception.getErrorCode:()J
            ldc 18
            lcmp
            ifne 64
        59: .line 2378
            iconst_0
            putstatic sun.security.pkcs11.P11KeyStore.CKA_TRUSTED_SUPPORTED:Z
        60: .line 2379
            getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
            ifnull 64
        61: .line 2380
            getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
        62: .line 2381
            ldc "CKA_TRUSTED attribute not supported"
        63: .line 2380
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        end local 16 // sun.security.pkcs11.wrapper.PKCS11Exception pe
        64: .line 2388
      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 2389
            aload 16 /* infoSet */
            ifnonnull 68
        66: .line 2390
            new java.util.HashSet
            dup
            iconst_2
            invokespecial java.util.HashSet.<init>:(I)V
            astore 16 /* infoSet */
        67: .line 2391
            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 2398
      StackMap locals: java.util.HashSet
      StackMap stack:
            aload 16 /* infoSet */
            new sun.security.pkcs11.P11KeyStore$AliasInfo
            dup
        69: .line 2399
            aload 12 /* cka_label */
        70: .line 2400
            aload 13 /* cka_id */
        71: .line 2401
            iload 15 /* cka_trusted */
        72: .line 2402
            aload 14 /* cert */
            invokespecial sun.security.pkcs11.P11KeyStore$AliasInfo.<init>:(Ljava/lang/String;[BZLjava/security/cert/X509Certificate;)V
        73: .line 2398
            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 2323
      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 2410
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
        77: .line 2409
            astore 7 /* sKeyMap */
        start local 7 // java.util.HashMap sKeyMap
        78: .line 2412
            iconst_2
            anewarray sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            iconst_0
        79: .line 2413
            getstatic sun.security.pkcs11.P11KeyStore.ATTR_SKEY_TOKEN_TRUE:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            aastore
            dup
            iconst_1
        80: .line 2414
            getstatic sun.security.pkcs11.P11KeyStore.ATTR_CLASS_SKEY:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            aastore
        81: .line 2412
            astore 4 /* attrs */
        82: .line 2416
            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 2418
            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 2419
            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 2420
            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 2421
            aload 4 /* attrs */
            iconst_0
            aaload
            getfield sun.security.pkcs11.wrapper.CK_ATTRIBUTE.pValue:Ljava/lang/Object;
            ifnull 96
        88: .line 2424
            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 2425
            aload 7 /* sKeyMap */
            aload 13 /* cka_label */
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            ifnonnull 92
        90: .line 2426
            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 2427
            goto 96
        92: .line 2428
      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 2431
            aload 13 /* cka_label */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        94: .line 2432
            ldc "]"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        95: .line 2428
            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 2418
      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 2439
            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 2438
            astore 8 /* matchedCerts */
        start local 8 // java.util.ArrayList matchedCerts
       100: .line 2440
            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 2441
            aload 0 /* this */
            aload 7 /* sKeyMap */
            invokevirtual sun.security.pkcs11.P11KeyStore.mapSecretKeys:(Ljava/util/HashMap;)V
       102: .line 2443
            iload 9 /* sharedLabel */
            istore 18
       103: .line 2446
            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 2443
            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 2445
      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 2446
            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 2447
            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 2466
            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 2469
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 3 /* matchedCerts */
        start local 3 // java.util.ArrayList matchedCerts
         2: .line 2471
            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 2475
            iconst_0
            istore 6 /* foundMatch */
        start local 6 // boolean foundMatch
         5: .line 2476
            aload 2 /* certMap */
            invokevirtual java.util.HashMap.keySet:()Ljava/util/Set;
            astore 7 /* certLabels */
        start local 7 // java.util.Set certLabels
         6: .line 2477
            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 2481
            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 2482
            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 2483
            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 2487
            aload 10 /* infoSet */
            invokevirtual java.util.HashSet.size:()I
            iconst_1
            if_icmpne 16
        13: .line 2489
            aload 11 /* aliasInfo */
            iconst_1
            putfield sun.security.pkcs11.P11KeyStore$AliasInfo.matched:Z
        14: .line 2490
            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 2491
            goto 20
        16: .line 2493
      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 2494
            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 2495
            aload 11 /* aliasInfo */
        19: .line 2494
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        20: .line 2497
      StackMap locals:
      StackMap stack:
            aload 3 /* matchedCerts */
            aload 11 /* aliasInfo */
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        21: .line 2498
            iconst_1
            istore 6 /* foundMatch */
        22: .line 2499
            goto 24
        end local 11 // sun.security.pkcs11.P11KeyStore$AliasInfo aliasInfo
        23: .line 2482
      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 2502
      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 2503
            goto 27
        end local 10 // java.util.HashSet infoSet
        end local 8 // java.lang.String certLabel
        26: .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 top java.util.Iterator
      StackMap stack:
            aload 9
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 7
        27: .line 2507
      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 2508
            getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
            ifnull 35
        29: .line 2509
            getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
        30: .line 2510
            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 2511
            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 2512
            ldc "] (ignoring entry)"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        33: .line 2510
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        34: .line 2509
            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 2471
      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 2517
            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 2535
            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 2536
            aconst_null
            astore 5 /* session */
        start local 5 // sun.security.pkcs11.Session session
         3: .line 2538
            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 2539
            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 2540
            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 2541
            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 2542
            aload 6
            athrow
         9: .line 2541
      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 2535
      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 2548
            iconst_0
            istore 3 /* sharedLabel */
        start local 3 // boolean sharedLabel
        12: .line 2550
            aload 2 /* certMap */
            invokevirtual java.util.HashMap.keySet:()Ljava/util/Set;
            astore 4 /* certLabels */
        start local 4 // java.util.Set certLabels
        13: .line 2551
            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 2552
            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 2553
            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 2555
            aload 8 /* aliasInfo */
            getfield sun.security.pkcs11.P11KeyStore$AliasInfo.matched:Z
            ifeq 21
        19: .line 2558
            aload 8 /* aliasInfo */
            iconst_0
            putfield sun.security.pkcs11.P11KeyStore$AliasInfo.trusted:Z
        20: .line 2559
            goto 28
        21: .line 2567
      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 2568
            aload 8 /* aliasInfo */
            getfield sun.security.pkcs11.P11KeyStore$AliasInfo.trusted:Z
            ifeq 28
        23: .line 2570
            aload 0 /* this */
        24: .line 2571
            aload 5 /* certLabel */
            aload 8 /* aliasInfo */
            aload 7 /* infoSet */
        25: .line 2570
            invokevirtual sun.security.pkcs11.P11KeyStore.mapTrustedCert:(Ljava/lang/String;Lsun/security/pkcs11/P11KeyStore$AliasInfo;Ljava/util/HashSet;)Z
        26: .line 2571
            ifeq 28
        27: .line 2572
            iconst_1
            istore 3 /* sharedLabel */
        end local 8 // sun.security.pkcs11.P11KeyStore$AliasInfo aliasInfo
        28: .line 2553
      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 2551
      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 2613
            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 2620
            iconst_0
            istore 4 /* sharedLabel */
        start local 4 // boolean sharedLabel
         1: .line 2622
            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 2623
            aload 2 /* aliasInfo */
            iconst_1
            putfield sun.security.pkcs11.P11KeyStore$AliasInfo.trusted:Z
         3: .line 2624
            aload 3 /* infoSet */
            invokevirtual java.util.HashSet.size:()I
            iconst_1
            if_icmpne 6
         4: .line 2626
            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 2627
            goto 8
         6: .line 2629
      StackMap locals: int
      StackMap stack:
            iconst_1
            istore 4 /* sharedLabel */
         7: .line 2630
            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 2633
      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 2642
            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 2643
            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 2644
            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 2646
            aload 2 /* label */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         5: .line 2647
            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 2644
            invokespecial java.security.KeyStoreException.<init>:(Ljava/lang/String;)V
            athrow
        end local 2 // java.lang.String label
         7: .line 2642
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         8: .line 2650
            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 2651
            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 2654
            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 2655
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc "Token Alias Map:"
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         2: .line 2656
            aload 1 /* aliases */
            invokeinterface java.util.Set.isEmpty:()Z
            ifeq 5
         3: .line 2657
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc "  [empty]"
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         4: .line 2658
            goto 9
         5: .line 2659
      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 2660
            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 2659
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 6
         9: .line 2663
      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 2666
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.writeDisabled:Z
            ifeq 4
         1: .line 2667
            new java.security.KeyStoreException
            dup
         2: .line 2668
            ldc "This PKCS11KeyStore does not support write capabilities"
         3: .line 2667
            invokespecial java.security.KeyStoreException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 2670
      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 2676
            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 2677
            getstatic sun.security.pkcs11.P11KeyStore.LONG0:[J
            astore 3 /* handles */
        start local 3 // long[] handles
         2: .line 2678
            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 2680
      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 2681
            aload 4 /* h */
            arraylength
            ifne 6
         5: .line 2682
            goto 8
         6: .line 2684
      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 2679
            goto 3
         8: .line 2686
      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 2687
            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