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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  public synchronized void engineLoad(java.io.InputStream, char[]);
    descriptor: (Ljava/io/InputStream;[C)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=5, locals=6, args_size=3
        start local 0 // sun.security.pkcs11.P11KeyStore this
        start local 1 // java.io.InputStream stream
        start local 2 // char[] password
         0: .line 735
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
            invokevirtual sun.security.pkcs11.Token.ensureValid:()V
         1: .line 741
            aload 1 /* stream */
            ifnull 3
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
            getfield sun.security.pkcs11.Token.config:Lsun/security/pkcs11/Config;
            invokevirtual sun.security.pkcs11.Config.getKeyStoreCompatibilityMode:()Z
            ifne 3
         2: .line 742
            new java.io.IOException
            dup
            ldc "input stream must be null"
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 745
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.useSecmodTrust:Z
            ifeq 5
         4: .line 746
            aload 0 /* this */
            getstatic sun.security.pkcs11.Secmod$TrustType.ALL:Lsun/security/pkcs11/Secmod$TrustType;
            putfield sun.security.pkcs11.P11KeyStore.nssTrustType:Lsun/security/pkcs11/Secmod$TrustType;
         5: .line 750
      StackMap locals:
      StackMap stack:
            aload 2 /* password */
            ifnonnull 8
         6: .line 751
            aload 0 /* this */
            aconst_null
            invokevirtual sun.security.pkcs11.P11KeyStore.login:(Ljavax/security/auth/callback/CallbackHandler;)V
         7: .line 752
            goto 19
         8: .line 753
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            new sun.security.pkcs11.P11KeyStore$PasswordCallbackHandler
            dup
            aload 2 /* password */
            invokespecial sun.security.pkcs11.P11KeyStore$PasswordCallbackHandler.<init>:([C)V
            invokevirtual sun.security.pkcs11.P11KeyStore.login:(Ljavax/security/auth/callback/CallbackHandler;)V
         9: .line 755
            goto 19
      StackMap locals:
      StackMap stack: javax.security.auth.login.LoginException
        10: astore 3 /* e */
        start local 3 // javax.security.auth.login.LoginException e
        11: .line 756
            aload 3 /* e */
            invokevirtual javax.security.auth.login.LoginException.getCause:()Ljava/lang/Throwable;
            astore 4 /* cause */
        start local 4 // java.lang.Throwable cause
        12: .line 757
            aload 4 /* cause */
            instanceof sun.security.pkcs11.wrapper.PKCS11Exception
            ifeq 18
        13: .line 758
            aload 4 /* cause */
            checkcast sun.security.pkcs11.wrapper.PKCS11Exception
            astore 5 /* pe */
        start local 5 // sun.security.pkcs11.wrapper.PKCS11Exception pe
        14: .line 759
            aload 5 /* pe */
            invokevirtual sun.security.pkcs11.wrapper.PKCS11Exception.getErrorCode:()J
            ldc 160
            lcmp
            ifne 18
        15: .line 762
            new java.io.IOException
            dup
            ldc "load failed"
        16: .line 763
            new java.security.UnrecoverableKeyException
            dup
            invokespecial java.security.UnrecoverableKeyException.<init>:()V
            aload 3 /* e */
            invokevirtual java.security.UnrecoverableKeyException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
        17: .line 762
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 5 // sun.security.pkcs11.wrapper.PKCS11Exception pe
        18: .line 766
      StackMap locals: javax.security.auth.login.LoginException java.lang.Throwable
      StackMap stack:
            new java.io.IOException
            dup
            ldc "load failed"
            aload 3 /* e */
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 4 // java.lang.Throwable cause
        end local 3 // javax.security.auth.login.LoginException e
        19: .line 770
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual sun.security.pkcs11.P11KeyStore.mapLabels:()Z
            ifeq 21
        20: .line 772
            aload 0 /* this */
            iconst_1
            putfield sun.security.pkcs11.P11KeyStore.writeDisabled:Z
        21: .line 774
      StackMap locals:
      StackMap stack:
            getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
            ifnull 29
        22: .line 775
            aload 0 /* this */
            invokevirtual sun.security.pkcs11.P11KeyStore.dumpTokenMap:()V
        23: .line 776
            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 777
            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 776
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        26: .line 779
            goto 29
      StackMap locals:
      StackMap stack: java.lang.Exception
        27: astore 3 /* e */
        start local 3 // java.lang.Exception e
        28: .line 780
            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 782
      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 811
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
            invokevirtual sun.security.pkcs11.Token.ensureValid:()V
         1: .line 821
            aload 1 /* param */
            ifnonnull 5
         2: .line 822
            new java.lang.IllegalArgumentException
            dup
         3: .line 823
            ldc "invalid null LoadStoreParameter"
         4: .line 822
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         5: .line 825
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.useSecmodTrust:Z
            ifeq 10
         6: .line 826
            aload 1 /* param */
            instanceof sun.security.pkcs11.Secmod$KeyStoreLoadParameter
            ifeq 9
         7: .line 827
            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 828
            goto 10
         9: .line 829
      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 834
      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 835
            aload 3 /* pp */
            instanceof java.security.KeyStore$PasswordProtection
            ifeq 18
        12: .line 836
            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 837
            aload 4 /* password */
            ifnonnull 16
        14: .line 838
            aconst_null
            astore 2 /* handler */
        start local 2 // javax.security.auth.callback.CallbackHandler handler
        15: .line 839
            goto 24
        end local 2 // javax.security.auth.callback.CallbackHandler handler
        16: .line 840
      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 842
            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 843
            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 844
            goto 24
        end local 2 // javax.security.auth.callback.CallbackHandler handler
        21: .line 845
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
        22: .line 846
            ldc "ProtectionParameter must be either PasswordProtection or CallbackHandlerProtection"
        23: .line 845
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        start local 2 // javax.security.auth.callback.CallbackHandler handler
        24: .line 851
      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 852
            aload 0 /* this */
            invokevirtual sun.security.pkcs11.P11KeyStore.mapLabels:()Z
            ifeq 27
        26: .line 854
            aload 0 /* this */
            iconst_1
            putfield sun.security.pkcs11.P11KeyStore.writeDisabled:Z
        27: .line 856
      StackMap locals:
      StackMap stack:
            getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
            ifnull 32
        28: .line 857
            aload 0 /* this */
            invokevirtual sun.security.pkcs11.P11KeyStore.dumpTokenMap:()V
        29: .line 859
            goto 32
      StackMap locals:
      StackMap stack: java.lang.Exception
        30: astore 4 /* e */
        start local 4 // java.lang.Exception e
        31: .line 860
            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 862
      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 865
            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 866
            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 867
            goto 7
         3: .line 870
      StackMap locals:
      StackMap stack:
            aload 1 /* handler */
            ifnull 6
         4: .line 871
            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 872
            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 878
      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 880
      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 904
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
            invokevirtual sun.security.pkcs11.Token.ensureValid:()V
         1: .line 906
            aload 2 /* protParam */
            ifnull 6
         2: .line 907
            aload 2 /* protParam */
            instanceof java.security.KeyStore$PasswordProtection
            ifeq 6
         3: .line 908
            aload 2 /* protParam */
            checkcast java.security.KeyStore$PasswordProtection
            invokevirtual java.security.KeyStore$PasswordProtection.getPassword:()[C
            ifnull 6
         4: .line 909
            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 910
            new java.security.KeyStoreException
            dup
            ldc "ProtectionParameter must be null"
            invokespecial java.security.KeyStoreException.<init>:(Ljava/lang/String;)V
            athrow
         6: .line 913
      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 914
            aload 3 /* aliasInfo */
            ifnonnull 14
         8: .line 915
            getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
            ifnull 13
         9: .line 916
            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 917
            aload 1 /* alias */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        11: .line 918
            ldc "] in map"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        12: .line 916
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        13: .line 920
      StackMap locals: sun.security.pkcs11.P11KeyStore$AliasInfo
      StackMap stack:
            aconst_null
            areturn
        14: .line 923
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 4 /* session */
        start local 4 // sun.security.pkcs11.Session session
        15: .line 925
            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 927
            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 929
            getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
            ifnull 19
        18: .line 930
            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 932
      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 976
            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 932
            aload 9
            areturn
        22: .line 933
      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 935
            getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
            ifnull 25
        24: .line 936
            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 939
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
        26: .line 940
            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 939
            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 941
            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 942
            new java.security.KeyStoreException
            dup
        30: .line 943
            ldc "expected but could not find secret key"
        31: .line 942
            invokespecial java.security.KeyStoreException.<init>:(Ljava/lang/String;)V
            athrow
        32: .line 945
      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 946
            new java.security.KeyStore$SecretKeyEntry
            dup
            aload 6 /* skey */
            invokespecial java.security.KeyStore$SecretKeyEntry.<init>:(Ljavax/crypto/SecretKey;)V
            astore 9
        34: .line 976
            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 946
            aload 9
            areturn
        end local 6 // javax.crypto.SecretKey skey
        end local 5 // sun.security.pkcs11.P11KeyStore$THandle h
        36: .line 950
      StackMap locals:
      StackMap stack:
            getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
            ifnull 38
        37: .line 951
            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 954
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
        39: .line 955
            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 954
            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 956
            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 957
            new java.security.KeyStoreException
            dup
        43: .line 958
            ldc "expected but could not find private key"
        44: .line 957
            invokespecial java.security.KeyStoreException.<init>:(Ljava/lang/String;)V
            athrow
        45: .line 960
      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 961
            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 962
            aload 6 /* pkey */
            ifnull 51
            aload 7 /* chain */
            ifnull 51
        48: .line 963
            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 976
            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 963
            aload 9
            areturn
        51: .line 965
      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 966
            getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
        53: .line 967
            ldc "engineGetEntry got null cert chain or private key"
        54: .line 966
            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 976
      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 972
            aconst_null
            areturn
        57: .line 973
      StackMap locals:
      StackMap stack: sun.security.pkcs11.wrapper.PKCS11Exception
            astore 5 /* pe */
        start local 5 // sun.security.pkcs11.wrapper.PKCS11Exception pe
        58: .line 974
            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 975
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 8
        60: .line 976
            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 977
            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 1006
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
            invokevirtual sun.security.pkcs11.Token.ensureValid:()V
         1: .line 1007
            aload 0 /* this */
            invokevirtual sun.security.pkcs11.P11KeyStore.checkWrite:()V
         2: .line 1009
            aload 3 /* protParam */
            ifnull 9
         3: .line 1010
            aload 3 /* protParam */
            instanceof java.security.KeyStore$PasswordProtection
            ifeq 9
         4: .line 1011
            aload 3 /* protParam */
            checkcast java.security.KeyStore$PasswordProtection
            invokevirtual java.security.KeyStore$PasswordProtection.getPassword:()[C
            ifnull 9
         5: .line 1012
            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 1013
            new java.security.KeyStoreException
            dup
            new java.lang.UnsupportedOperationException
            dup
         7: .line 1014
            ldc "ProtectionParameter must be null"
            invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
         8: .line 1013
            invokespecial java.security.KeyStoreException.<init>:(Ljava/lang/Throwable;)V
            athrow
         9: .line 1017
      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 1018
            new java.security.KeyStoreException
            dup
            ldc "token write-protected"
            invokespecial java.security.KeyStoreException.<init>:(Ljava/lang/String;)V
            athrow
        11: .line 1021
      StackMap locals:
      StackMap stack:
            aload 2 /* entry */
            instanceof java.security.KeyStore$TrustedCertificateEntry
            ifeq 32
        12: .line 1023
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.useSecmodTrust:Z
            ifne 16
        13: .line 1025
            new java.security.KeyStoreException
            dup
            new java.lang.UnsupportedOperationException
            dup
        14: .line 1026
            ldc "trusted certificates may only be set by token initialization application"
            invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
        15: .line 1025
            invokespecial java.security.KeyStoreException.<init>:(Ljava/lang/Throwable;)V
            athrow
        16: .line 1029
      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 1030
            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 1032
            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 1035
      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 1036
            aload 5 /* cert */
            instanceof java.security.cert.X509Certificate
            ifne 22
        21: .line 1037
            new java.security.KeyStoreException
            dup
            ldc "Certificate must be an X509Certificate"
            invokespecial java.security.KeyStoreException.<init>:(Ljava/lang/String;)V
            athrow
        22: .line 1039
      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 1040
            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 1041
            aload 7 /* info */
            ifnull 26
        25: .line 1043
            aload 0 /* this */
            aload 1 /* alias */
            invokevirtual sun.security.pkcs11.P11KeyStore.deleteEntry:(Ljava/lang/String;)Z
            pop
        26: .line 1046
      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 1047
            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 1048
            aload 0 /* this */
            invokevirtual sun.security.pkcs11.P11KeyStore.mapLabels:()Z
            pop
        29: .line 1049
            goto 97
      StackMap locals:
      StackMap stack: java.lang.Exception
        30: astore 8 /* e */
        start local 8 // java.lang.Exception e
        31: .line 1050
            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 1055
      StackMap locals: sun.security.pkcs11.P11KeyStore java.lang.String java.security.KeyStore$Entry java.security.KeyStore$ProtectionParameter
      StackMap stack:
            aload 2 /* entry */
            instanceof java.security.KeyStore$PrivateKeyEntry
            ifeq 78
        33: .line 1058
            aload 2 /* entry */
            checkcast java.security.KeyStore$PrivateKeyEntry
            invokevirtual java.security.KeyStore$PrivateKeyEntry.getPrivateKey:()Ljava/security/PrivateKey;
        34: .line 1057
            astore 4 /* key */
        start local 4 // java.security.PrivateKey key
        35: .line 1059
            aload 4 /* key */
            instanceof sun.security.pkcs11.P11Key
            ifne 43
        36: .line 1060
            aload 4 /* key */
            instanceof java.security.interfaces.RSAPrivateKey
            ifne 43
        37: .line 1061
            aload 4 /* key */
            instanceof java.security.interfaces.DSAPrivateKey
            ifne 43
        38: .line 1062
            aload 4 /* key */
            instanceof javax.crypto.interfaces.DHPrivateKey
            ifne 43
        39: .line 1063
            aload 4 /* key */
            instanceof java.security.interfaces.ECPrivateKey
            ifne 43
        40: .line 1064
            new java.security.KeyStoreException
            dup
            new java.lang.StringBuilder
            dup
            ldc "unsupported key type: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        41: .line 1065
            aload 4 /* key */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        42: .line 1064
            invokespecial java.security.KeyStoreException.<init>:(Ljava/lang/String;)V
            athrow
        43: .line 1070
      StackMap locals: java.security.PrivateKey
      StackMap stack:
            aload 2 /* entry */
            checkcast java.security.KeyStore$PrivateKeyEntry
            invokevirtual java.security.KeyStore$PrivateKeyEntry.getCertificateChain:()[Ljava/security/cert/Certificate;
        44: .line 1069
            astore 5 /* chain */
        start local 5 // java.security.cert.Certificate[] chain
        45: .line 1071
            aload 5 /* chain */
            instanceof java.security.cert.X509Certificate[]
            ifne 53
        46: .line 1072
            new java.security.KeyStoreException
            dup
        47: .line 1073
            new java.lang.UnsupportedOperationException
            dup
        48: .line 1074
            new java.lang.StringBuilder
            dup
            ldc "unsupported certificate array type: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        49: .line 1075
            aload 5 /* chain */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        50: .line 1074
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        51: .line 1073
            invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
        52: .line 1072
            invokespecial java.security.KeyStoreException.<init>:(Ljava/lang/Throwable;)V
            athrow
        53: .line 1079
      StackMap locals: java.security.cert.Certificate[]
      StackMap stack:
            iconst_0
            istore 6 /* updatedAlias */
        start local 6 // boolean updatedAlias
        54: .line 1080
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.aliasMap:Ljava/util/HashMap;
            invokevirtual java.util.HashMap.keySet:()Ljava/util/Set;
            astore 7 /* aliases */
        start local 7 // java.util.Set aliases
        55: .line 1081
            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 1085
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.aliasMap:Ljava/util/HashMap;
            aload 8 /* oldAlias */
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast sun.security.pkcs11.P11KeyStore$AliasInfo
            astore 10 /* aliasInfo */
        start local 10 // sun.security.pkcs11.P11KeyStore$AliasInfo aliasInfo
        58: .line 1086
            aload 10 /* aliasInfo */
            getfield sun.security.pkcs11.P11KeyStore$AliasInfo.type:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            getstatic sun.security.pkcs11.P11KeyStore.ATTR_CLASS_PKEY:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            if_acmpne 71
        59: .line 1087
            aload 10 /* aliasInfo */
            getfield sun.security.pkcs11.P11KeyStore$AliasInfo.cert:Ljava/security/cert/X509Certificate;
            invokevirtual java.security.cert.X509Certificate.getPublicKey:()Ljava/security/PublicKey;
        60: .line 1088
            aload 5 /* chain */
            iconst_0
            aaload
            invokevirtual java.security.cert.Certificate.getPublicKey:()Ljava/security/PublicKey;
        61: .line 1087
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
        62: .line 1088
            ifeq 71
        63: .line 1096
            aload 0 /* this */
            aload 1 /* alias */
        64: .line 1097
            aload 10 /* aliasInfo */
            getfield sun.security.pkcs11.P11KeyStore$AliasInfo.id:[B
        65: .line 1098
            aload 5 /* chain */
            checkcast java.security.cert.X509Certificate[]
        66: .line 1099
            aload 10 /* aliasInfo */
            getfield sun.security.pkcs11.P11KeyStore$AliasInfo.cert:Ljava/security/cert/X509Certificate;
            aload 5 /* chain */
            iconst_0
            aaload
            invokevirtual java.security.cert.X509Certificate.equals:(Ljava/lang/Object;)Z
            ifeq 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 1096
      StackMap locals: sun.security.pkcs11.P11KeyStore java.lang.String java.security.KeyStore$Entry java.security.KeyStore$ProtectionParameter java.security.PrivateKey java.security.cert.Certificate[] int java.util.Set java.lang.String java.util.Iterator sun.security.pkcs11.P11KeyStore$AliasInfo
      StackMap stack: sun.security.pkcs11.P11KeyStore java.lang.String byte[] java.security.cert.X509Certificate[] int
            invokevirtual sun.security.pkcs11.P11KeyStore.updatePkey:(Ljava/lang/String;[B[Ljava/security/cert/X509Certificate;Z)V
        69: .line 1100
            iconst_1
            istore 6 /* updatedAlias */
        70: .line 1101
            goto 72
        end local 10 // sun.security.pkcs11.P11KeyStore$AliasInfo aliasInfo
        end local 8 // java.lang.String oldAlias
        71: .line 1081
      StackMap locals: sun.security.pkcs11.P11KeyStore java.lang.String java.security.KeyStore$Entry java.security.KeyStore$ProtectionParameter java.security.PrivateKey java.security.cert.Certificate[] int java.util.Set top java.util.Iterator
      StackMap stack:
            aload 9
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 56
        72: .line 1105
      StackMap locals: sun.security.pkcs11.P11KeyStore java.lang.String java.security.KeyStore$Entry java.security.KeyStore$ProtectionParameter java.security.PrivateKey java.security.cert.Certificate[] int java.util.Set
      StackMap stack:
            iload 6 /* updatedAlias */
            ifne 91
        73: .line 1107
            aload 0 /* this */
            aload 1 /* alias */
            invokevirtual sun.security.pkcs11.P11KeyStore.engineDeleteEntry:(Ljava/lang/String;)V
        74: .line 1108
            aload 0 /* this */
            aload 1 /* alias */
            aload 2 /* entry */
            checkcast java.security.KeyStore$PrivateKeyEntry
            invokevirtual sun.security.pkcs11.P11KeyStore.storePkey:(Ljava/lang/String;Ljava/security/KeyStore$PrivateKeyEntry;)V
        end local 7 // java.util.Set aliases
        end local 6 // boolean updatedAlias
        75: .line 1111
            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 1112
            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 1115
      StackMap locals:
      StackMap stack:
            aload 2 /* entry */
            instanceof java.security.KeyStore$SecretKeyEntry
            ifeq 88
        79: .line 1117
            aload 2 /* entry */
            checkcast java.security.KeyStore$SecretKeyEntry
            astore 4 /* ske */
        start local 4 // java.security.KeyStore$SecretKeyEntry ske
        80: .line 1118
            aload 4 /* ske */
            invokevirtual java.security.KeyStore$SecretKeyEntry.getSecretKey:()Ljavax/crypto/SecretKey;
            pop
        81: .line 1122
            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 1124
            aload 5 /* aliasInfo */
            ifnull 84
        83: .line 1125
            aload 0 /* this */
            aload 1 /* alias */
            invokevirtual sun.security.pkcs11.P11KeyStore.engineDeleteEntry:(Ljava/lang/String;)V
        84: .line 1127
      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 1129
            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 1130
            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 1134
      StackMap locals:
      StackMap stack:
            new java.security.KeyStoreException
            dup
            new java.lang.UnsupportedOperationException
            dup
        89: .line 1135
            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 1134
            invokespecial java.security.KeyStoreException.<init>:(Ljava/lang/Throwable;)V
            athrow
        91: .line 1145
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual sun.security.pkcs11.P11KeyStore.mapLabels:()Z
            pop
        92: .line 1146
            getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
            ifnull 97
        93: .line 1147
            aload 0 /* this */
            invokevirtual sun.security.pkcs11.P11KeyStore.dumpTokenMap:()V
        94: .line 1149
            goto 97
      StackMap locals:
      StackMap stack: java.lang.Exception
        95: astore 4 /* pe */
        start local 4 // java.lang.Exception pe
        96: .line 1150
            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 1154
      StackMap locals:
      StackMap stack:
            getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
            ifnull 104
        98: .line 1155
            getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
        99: .line 1156
            new java.lang.StringBuilder
            dup
            ldc "engineSetEntry added new entry for ["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
       100: .line 1157
            aload 1 /* alias */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
       101: .line 1158
            ldc "] to token"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
       102: .line 1156
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
       103: .line 1155
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
       104: .line 1160
      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 1176
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
            invokevirtual sun.security.pkcs11.Token.ensureValid:()V
         1: .line 1177
            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 1184
            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 1183
            astore 4 /* attrs */
        start local 4 // sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] attrs
         2: .line 1185
            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 1187
            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 1188
            aload 5 /* bytes */
            ifnonnull 8
         5: .line 1189
            new java.security.cert.CertificateException
            dup
         6: .line 1190
            ldc "unexpectedly retrieved null byte array"
         7: .line 1189
            invokespecial java.security.cert.CertificateException.<init>:(Ljava/lang/String;)V
            athrow
         8: .line 1192
      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 1193
            aload 6 /* cf */
        10: .line 1194
            new java.io.ByteArrayInputStream
            dup
            aload 5 /* bytes */
            invokespecial java.io.ByteArrayInputStream.<init>:([B)V
        11: .line 1193
            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 1201
            aconst_null
            astore 3 /* lChain */
        start local 3 // java.util.ArrayList lChain
         1: .line 1203
            aload 2 /* endCert */
            invokevirtual java.security.cert.X509Certificate.getSubjectX500Principal:()Ljavax/security/auth/x500/X500Principal;
         2: .line 1204
            aload 2 /* endCert */
            invokevirtual java.security.cert.X509Certificate.getIssuerX500Principal:()Ljavax/security/auth/x500/X500Principal;
         3: .line 1203
            invokevirtual javax.security.auth.x500.X500Principal.equals:(Ljava/lang/Object;)Z
         4: .line 1204
            ifeq 6
         5: .line 1206
            iconst_1
            anewarray java.security.cert.X509Certificate
            dup
            iconst_0
            aload 2 /* endCert */
            aastore
            areturn
         6: .line 1208
      StackMap locals: java.util.ArrayList
      StackMap stack:
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 3 /* lChain */
         7: .line 1209
            aload 3 /* lChain */
            aload 2 /* endCert */
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
         8: .line 1215
            aload 2 /* endCert */
            astore 4 /* next */
        start local 4 // java.security.cert.X509Certificate next
         9: .line 1217
      StackMap locals: java.security.cert.X509Certificate
      StackMap stack:
            iconst_3
            anewarray sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            iconst_0
        10: .line 1218
            getstatic sun.security.pkcs11.P11KeyStore.ATTR_TOKEN_TRUE:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            aastore
            dup
            iconst_1
        11: .line 1219
            getstatic sun.security.pkcs11.P11KeyStore.ATTR_CLASS_CERT:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            aastore
            dup
            iconst_2
        12: .line 1220
            new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            ldc 257
        13: .line 1221
            aload 4 /* next */
            invokevirtual java.security.cert.X509Certificate.getIssuerX500Principal:()Ljavax/security/auth/x500/X500Principal;
            invokevirtual javax.security.auth.x500.X500Principal.getEncoded:()[B
        14: .line 1220
            invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JLjava/lang/Object;)V
            aastore
        15: .line 1217
            astore 5 /* attrs */
        start local 5 // sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] attrs
        16: .line 1222
            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 1224
            aload 6 /* ch */
            ifnull 32
            aload 6 /* ch */
            arraylength
            ifne 19
        18: .line 1226
            goto 32
        19: .line 1229
      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 1230
            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 1231
            aload 6 /* ch */
            arraylength
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
        22: .line 1232
            ldc " certificate entries for subject ["
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        23: .line 1233
            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 1234
            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 1230
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        26: .line 1237
      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 1238
            aload 3 /* lChain */
            aload 4 /* next */
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        28: .line 1239
            aload 4 /* next */
            invokevirtual java.security.cert.X509Certificate.getSubjectX500Principal:()Ljavax/security/auth/x500/X500Principal;
        29: .line 1240
            aload 4 /* next */
            invokevirtual java.security.cert.X509Certificate.getIssuerX500Principal:()Ljavax/security/auth/x500/X500Principal;
        30: .line 1239
            invokevirtual javax.security.auth.x500.X500Principal.equals:(Ljava/lang/Object;)Z
        31: .line 1240
            ifeq 9
        end local 6 // long[] ch
        end local 5 // sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] attrs
        32: .line 1247
      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 1253
            iconst_1
            anewarray sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            iconst_0
         1: .line 1254
            new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            ldc 256
            invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(J)V
            aastore
         2: .line 1253
            astore 4 /* attrs */
        start local 4 // sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] attrs
         3: .line 1255
            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 1256
            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 1258
            aconst_null
            astore 7 /* keyType */
        start local 7 // java.lang.String keyType
         6: .line 1259
            iconst_m1
            istore 8 /* keyLength */
        start local 8 // int keyLength
         7: .line 1263
            lload 5 /* kType */
            ldc 19
            lcmp
            ifeq 8
            lload 5 /* kType */
            ldc 21
            lcmp
            ifne 16
         8: .line 1264
      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 1265
            ldc "DES"
            astore 7 /* keyType */
        10: .line 1266
            bipush 64
            istore 8 /* keyLength */
        11: .line 1267
            goto 34
      StackMap locals:
      StackMap stack:
        12: lload 5 /* kType */
            ldc 21
            lcmp
            ifne 34
        13: .line 1268
            ldc "DESede"
            astore 7 /* keyType */
        14: .line 1269
            sipush 192
            istore 8 /* keyLength */
        15: .line 1271
            goto 34
        16: .line 1272
      StackMap locals:
      StackMap stack:
            lload 5 /* kType */
            ldc 31
            lcmp
            ifne 19
        17: .line 1273
            ldc "AES"
            astore 7 /* keyType */
        18: .line 1274
            goto 31
      StackMap locals:
      StackMap stack:
        19: lload 5 /* kType */
            ldc 32
            lcmp
            ifne 22
        20: .line 1275
            ldc "Blowfish"
            astore 7 /* keyType */
        21: .line 1276
            goto 31
      StackMap locals:
      StackMap stack:
        22: lload 5 /* kType */
            ldc 18
            lcmp
            ifne 25
        23: .line 1277
            ldc "ARCFOUR"
            astore 7 /* keyType */
        24: .line 1278
            goto 31
        25: .line 1279
      StackMap locals:
      StackMap stack:
            getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
            ifnull 30
        26: .line 1280
            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 1281
            lload 5 /* kType */
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
        28: .line 1282
            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 1280
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        30: .line 1284
      StackMap locals:
      StackMap stack:
            ldc "Generic Secret"
            astore 7 /* keyType */
        31: .line 1291
      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 1292
            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 1293
            aload 4 /* attrs */
            iconst_0
            aaload
            invokevirtual sun.security.pkcs11.wrapper.CK_ATTRIBUTE.getLong:()J
            l2i
            istore 8 /* keyLength */
        34: .line 1297
      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 1303
            iconst_1
            anewarray sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            iconst_0
         1: .line 1304
            new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            ldc 256
            invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(J)V
            aastore
         2: .line 1303
            astore 4 /* attrs */
        start local 4 // sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] attrs
         3: .line 1305
            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 1306
            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 1307
            aconst_null
            astore 7 /* keyType */
        start local 7 // java.lang.String keyType
         6: .line 1308
            iconst_0
            istore 8 /* keyLength */
        start local 8 // int keyLength
         7: .line 1310
            lload 5 /* kType */
            lconst_0
            lcmp
            ifne 25
         8: .line 1312
            ldc "RSA"
            astore 7 /* keyType */
         9: .line 1314
            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 1315
            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 1316
            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 1317
            aload 9 /* modulus */
            invokevirtual java.math.BigInteger.bitLength:()I
            istore 8 /* keyLength */
        13: .line 1322
            iload 8 /* keyLength */
            aconst_null
        14: .line 1323
            iconst_m1
            ldc 2147483647
        15: .line 1322
            invokestatic sun.security.rsa.RSAKeyFactory.checkKeyLengths:(ILjava/math/BigInteger;II)V
        16: .line 1324
            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 1325
            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 1328
      StackMap locals:
      StackMap stack:
            aload 1 /* session */
        20: .line 1329
            lload 2 /* oHandle */
        21: .line 1330
            aload 7 /* keyType */
        22: .line 1331
            iload 8 /* keyLength */
        23: .line 1332
            aconst_null
        24: .line 1328
            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 1334
      StackMap locals:
      StackMap stack:
            lload 5 /* kType */
            lconst_1
            lcmp
            ifne 37
        26: .line 1336
            ldc "DSA"
            astore 7 /* keyType */
        27: .line 1338
            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 1339
            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 1340
            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 1341
            aload 9 /* prime */
            invokevirtual java.math.BigInteger.bitLength:()I
            istore 8 /* keyLength */
        31: .line 1343
            aload 1 /* session */
        32: .line 1344
            lload 2 /* oHandle */
        33: .line 1345
            aload 7 /* keyType */
        34: .line 1346
            iload 8 /* keyLength */
        35: .line 1347
            aconst_null
        36: .line 1343
            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 1349
      StackMap locals:
      StackMap stack:
            lload 5 /* kType */
            ldc 2
            lcmp
            ifne 49
        38: .line 1351
            ldc "DH"
            astore 7 /* keyType */
        39: .line 1353
            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 1354
            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 1355
            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 1356
            aload 9 /* prime */
            invokevirtual java.math.BigInteger.bitLength:()I
            istore 8 /* keyLength */
        43: .line 1358
            aload 1 /* session */
        44: .line 1359
            lload 2 /* oHandle */
        45: .line 1360
            aload 7 /* keyType */
        46: .line 1361
            iload 8 /* keyLength */
        47: .line 1362
            aconst_null
        48: .line 1358
            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 1364
      StackMap locals:
      StackMap stack:
            lload 5 /* kType */
            ldc 3
            lcmp
            ifne 62
        50: .line 1366
            iconst_1
            anewarray sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            iconst_0
        51: .line 1367
            new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            ldc 384
            invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(J)V
            aastore
        52: .line 1366
            astore 4 /* attrs */
        53: .line 1369
            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 1370
            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 1373
            aconst_null
            aload 9 /* encodedParams */
            invokestatic sun.security.util.ECUtil.getECParameterSpec:(Ljava/security/Provider;[B)Ljava/security/spec/ECParameterSpec;
        56: .line 1372
            astore 10 /* params */
        start local 10 // java.security.spec.ECParameterSpec params
        57: .line 1374
            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 1375
            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 1377
            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 1380
      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 1383
      StackMap locals:
      StackMap stack:
            getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
            ifnull 64
        63: .line 1384
            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 1386
      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 1421
            iconst_1
            istore 4 /* replaceCert */
         1: .line 1423
            aconst_null
            astore 5 /* session */
        start local 5 // sun.security.pkcs11.Session session
         2: .line 1425
            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 1429
            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 1431
            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 1432
            aload 6 /* h */
            getfield sun.security.pkcs11.P11KeyStore$THandle.handle:J
            lstore 7 /* pKeyHandle */
        start local 7 // long pKeyHandle
         6: .line 1433
            goto 12
        end local 7 // long pKeyHandle
         7: .line 1434
      StackMap locals: sun.security.pkcs11.Session sun.security.pkcs11.P11KeyStore$THandle
      StackMap stack:
            new java.security.KeyStoreException
            dup
         8: .line 1435
            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 1437
            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 1435
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        11: .line 1434
            invokespecial java.security.KeyStoreException.<init>:(Ljava/lang/String;)V
            athrow
        start local 7 // long pKeyHandle
        12: .line 1442
      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 1443
            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 1444
            new java.security.KeyStoreException
            dup
        15: .line 1445
            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 1447
            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 1445
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        18: .line 1444
            invokespecial java.security.KeyStoreException.<init>:(Ljava/lang/String;)V
            athrow
        19: .line 1449
      StackMap locals:
      StackMap stack:
            iload 4 /* replaceCert */
            ifeq 22
        20: .line 1451
            aload 0 /* this */
            aload 2 /* cka_id */
            invokevirtual sun.security.pkcs11.P11KeyStore.destroyChain:([B)Z
            pop
        21: .line 1452
            goto 29
        22: .line 1454
      StackMap locals:
      StackMap stack:
            iconst_2
            anewarray sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            iconst_0
        23: .line 1455
            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 1456
            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 1454
            astore 9 /* attrs */
        start local 9 // sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] attrs
        26: .line 1457
            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 1458
            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 1457
            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 1464
      StackMap locals:
      StackMap stack:
            iload 4 /* replaceCert */
            ifeq 32
        30: .line 1466
            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 1467
            goto 33
        32: .line 1470
      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 1477
      StackMap locals:
      StackMap stack:
            iconst_1
            anewarray sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            iconst_0
        34: .line 1478
            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 1477
            astore 9 /* attrs */
        start local 9 // sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] attrs
        36: .line 1479
            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 1481
            getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
            ifnull 46
        38: .line 1482
            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 1483
            aload 1 /* alias */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        40: .line 1484
            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 1482
            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 1486
            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 1487
            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 1488
            aload 10
            athrow
        46: .line 1487
      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 1489
            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 1498
            aconst_null
            astore 4 /* session */
        start local 4 // sun.security.pkcs11.Session session
         1: .line 1499
            aload 3 /* key */
            invokevirtual sun.security.pkcs11.P11Key.getKeyID:()J
            lstore 5 /* keyID */
        start local 5 // long keyID
         2: .line 1501
            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 1502
            aload 3 /* key */
            getfield sun.security.pkcs11.P11Key.tokenObject:Z
            ifeq 16
         4: .line 1505
            iconst_1
            anewarray sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            iconst_0
         5: .line 1506
            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 1505
            astore 7 /* attrs */
        start local 7 // sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] attrs
         7: .line 1507
            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 1508
            aload 4 /* session */
            invokevirtual sun.security.pkcs11.Session.id:()J
            lload 5 /* keyID */
            aload 7 /* attrs */
         9: .line 1507
            invokevirtual sun.security.pkcs11.wrapper.PKCS11.C_SetAttributeValue:(JJ[Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;)V
        10: .line 1509
            getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
            ifnull 33
        11: .line 1510
            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 1511
            aload 1 /* alias */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        13: .line 1512
            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 1510
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        end local 7 // sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] attrs
        15: .line 1514
            goto 33
        16: .line 1517
      StackMap locals: sun.security.pkcs11.Session long
      StackMap stack:
            iconst_2
            anewarray sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            iconst_0
        17: .line 1518
            getstatic sun.security.pkcs11.P11KeyStore.ATTR_TOKEN_TRUE:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            aastore
            dup
            iconst_1
        18: .line 1519
            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 1517
            astore 7 /* attrs */
        start local 7 // sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] attrs
        20: .line 1521
            aload 2 /* attribute */
            ifnull 22
        21: .line 1522
            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 1525
      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 1526
            getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
            ifnull 33
        24: .line 1527
            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 1529
            aload 1 /* alias */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        26: .line 1530
            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 1527
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        end local 7 // sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] attrs
        28: .line 1533
            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 1534
            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 1535
            aload 3 /* key */
            invokevirtual sun.security.pkcs11.P11Key.releaseKeyID:()V
        32: .line 1536
            aload 8
            athrow
        33: .line 1534
      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 1535
            aload 3 /* key */
            invokevirtual sun.security.pkcs11.P11Key.releaseKeyID:()V
        35: .line 1537
            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 1542
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 3 /* attrList */
        start local 3 // java.util.ArrayList attrList
         1: .line 1543
            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 1544
            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 1545
            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 1546
            aload 3 /* attrList */
            new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            ldc 257
         5: .line 1547
            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 1546
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
         7: .line 1548
            aload 3 /* attrList */
            new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            ldc 129
         8: .line 1549
            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 1548
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        10: .line 1550
            aload 3 /* attrList */
            new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            ldc 130
        11: .line 1551
            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 1550
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        13: .line 1552
            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 1554
            aload 1 /* alias */
            ifnull 18
        15: .line 1555
            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 1556
            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 1557
            goto 25
        18: .line 1560
      StackMap locals: java.util.ArrayList
      StackMap stack:
            aload 3 /* attrList */
            new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            ldc 258
        19: .line 1561
            aload 0 /* this */
            aload 2 /* cert */
            invokevirtual java.security.cert.X509Certificate.getSubjectX500Principal:()Ljavax/security/auth/x500/X500Principal;
        20: .line 1562
            ldc "CANONICAL"
        21: .line 1561
            invokevirtual javax.security.auth.x500.X500Principal.getName:(Ljava/lang/String;)Ljava/lang/String;
        22: .line 1562
            aload 2 /* cert */
        23: .line 1561
            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 1560
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        25: .line 1565
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 4 /* session */
        start local 4 // sun.security.pkcs11.Session session
        26: .line 1567
            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 1568
            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 1569
            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 1568
            invokevirtual sun.security.pkcs11.wrapper.PKCS11.C_CreateObject:(J[Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;)J
            pop2
        30: .line 1570
            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 1571
            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 1572
            aload 5
            athrow
        34: .line 1571
      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 1573
            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 1583
            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 1584
            aload 0 /* this */
            aload 2 /* chain */
            iconst_1
            invokevirtual sun.security.pkcs11.P11KeyStore.storeCaCerts:([Ljava/security/cert/X509Certificate;I)V
         2: .line 1585
            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 1594
            aconst_null
            astore 3 /* session */
        start local 3 // sun.security.pkcs11.Session session
         1: .line 1595
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 4 /* cacerts */
        start local 4 // java.util.HashSet cacerts
         2: .line 1597
            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 1598
            iconst_2
            anewarray sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            iconst_0
         4: .line 1599
            getstatic sun.security.pkcs11.P11KeyStore.ATTR_TOKEN_TRUE:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            aastore
            dup
            iconst_1
         5: .line 1600
            getstatic sun.security.pkcs11.P11KeyStore.ATTR_CLASS_CERT:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            aastore
         6: .line 1598
            astore 5 /* attrs */
        start local 5 // sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] attrs
         7: .line 1601
            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 1604
            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 1605
            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 1604
            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 1607
            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 1608
            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 1609
            aload 12
            athrow
        17: .line 1608
      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 1611
            iload 2 /* start */
            istore 5 /* i */
        start local 5 // int i
        19: goto 29
        20: .line 1612
      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 1613
            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 1614
            goto 28
      StackMap locals:
      StackMap stack:
        23: getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
            ifnull 28
        24: .line 1615
            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 1616
            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 1617
            ldc "]"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        27: .line 1615
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        28: .line 1611
      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 1620
            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 1625
            aload 2 /* ske */
            invokevirtual java.security.KeyStore$SecretKeyEntry.getSecretKey:()Ljavax/crypto/SecretKey;
            astore 3 /* skey */
        start local 3 // javax.crypto.SecretKey skey
         1: .line 1628
            iconst_3
            anewarray sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            iconst_0
         2: .line 1629
            getstatic sun.security.pkcs11.P11KeyStore.ATTR_SKEY_TOKEN_TRUE:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            aastore
            dup
            iconst_1
         3: .line 1630
            getstatic sun.security.pkcs11.P11KeyStore.ATTR_PRIVATE_TRUE:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            aastore
            dup
            iconst_2
         4: .line 1631
            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 1628
            astore 4 /* attrs */
        start local 4 // sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] attrs
         6: .line 1634
            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 1635
            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 1637
            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 1641
      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 1643
            getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
            ifnull 15
        12: .line 1644
            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 1645
            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 1644
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        15: .line 1647
      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 1650
            aload 0 /* attrs */
            arraylength
            istore 2 /* n */
        start local 2 // int n
         1: .line 1651
            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 1652
            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 1653
            aload 3 /* newAttrs */
            iload 2 /* n */
            aload 1 /* attr */
            aastore
         4: .line 1654
            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 1660
            aload 2 /* pke */
            invokevirtual java.security.KeyStore$PrivateKeyEntry.getPrivateKey:()Ljava/security/PrivateKey;
            astore 3 /* key */
        start local 3 // java.security.PrivateKey key
         1: .line 1661
            aconst_null
            astore 4 /* attrs */
        start local 4 // sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] attrs
         2: .line 1666
            aload 3 /* key */
            instanceof sun.security.pkcs11.P11Key
            ifeq 8
         3: .line 1667
            aload 3 /* key */
            checkcast sun.security.pkcs11.P11Key
            astore 5 /* p11Key */
        start local 5 // sun.security.pkcs11.P11Key p11Key
         4: .line 1668
            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 1669
            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 1670
            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 1671
            return
        end local 5 // sun.security.pkcs11.P11Key p11Key
         8: .line 1675
      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 1676
            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 1678
            aload 3 /* key */
            instanceof java.security.interfaces.RSAPrivateKey
            ifeq 16
        11: .line 1680
            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 1681
            aload 0 /* this */
        13: .line 1682
            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 1681
            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 1684
            goto 99
      StackMap locals: int java.security.PublicKey
      StackMap stack:
        16: aload 3 /* key */
            instanceof java.security.interfaces.DSAPrivateKey
            ifeq 40
        17: .line 1686
            aload 3 /* key */
            checkcast java.security.interfaces.DSAPrivateKey
            astore 7 /* dsaKey */
        start local 7 // java.security.interfaces.DSAPrivateKey dsaKey
        18: .line 1688
            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 1689
            aload 8 /* idAttrs */
            iconst_0
            aaload
            ifnonnull 21
        20: .line 1690
            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 1693
      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 1694
            getstatic sun.security.pkcs11.P11KeyStore.ATTR_TOKEN_TRUE:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            aastore
            dup
            iconst_1
        23: .line 1695
            getstatic sun.security.pkcs11.P11KeyStore.ATTR_CLASS_PKEY:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            aastore
            dup
            iconst_2
        24: .line 1696
            getstatic sun.security.pkcs11.P11KeyStore.ATTR_PRIVATE_TRUE:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            aastore
            dup
            iconst_3
        25: .line 1697
            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 1698
            aload 8 /* idAttrs */
            iconst_0
            aaload
            aastore
            dup
            iconst_5
        27: .line 1699
            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 1700
            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 1701
            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 1702
            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 1693
            astore 4 /* attrs */
        32: .line 1704
            aload 8 /* idAttrs */
            iconst_1
            aaload
            ifnull 34
        33: .line 1705
            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 1708
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
        35: .line 1709
            ldc "import"
            ldc 3
            lconst_1
            aload 4 /* attrs */
        36: .line 1708
            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 1711
            getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
            ifnull 99
        38: .line 1712
            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 1715
            goto 99
      StackMap locals:
      StackMap stack:
        40: aload 3 /* key */
            instanceof javax.crypto.interfaces.DHPrivateKey
            ifeq 61
        41: .line 1717
            aload 3 /* key */
            checkcast javax.crypto.interfaces.DHPrivateKey
            astore 7 /* dhKey */
        start local 7 // javax.crypto.interfaces.DHPrivateKey dhKey
        42: .line 1719
            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 1720
            aload 8 /* idAttrs */
            iconst_0
            aaload
            ifnonnull 45
        44: .line 1721
            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 1724
      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 1725
            getstatic sun.security.pkcs11.P11KeyStore.ATTR_TOKEN_TRUE:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            aastore
            dup
            iconst_1
        47: .line 1726
            getstatic sun.security.pkcs11.P11KeyStore.ATTR_CLASS_PKEY:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            aastore
            dup
            iconst_2
        48: .line 1727
            getstatic sun.security.pkcs11.P11KeyStore.ATTR_PRIVATE_TRUE:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            aastore
            dup
            iconst_3
        49: .line 1728
            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 1729
            aload 8 /* idAttrs */
            iconst_0
            aaload
            aastore
            dup
            iconst_5
        51: .line 1730
            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 1731
            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 1732
            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 1724
            astore 4 /* attrs */
        55: .line 1734
            aload 8 /* idAttrs */
            iconst_1
            aaload
            ifnull 57
        56: .line 1735
            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 1738
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
        58: .line 1739
            ldc "import"
            ldc 3
            ldc 2
            aload 4 /* attrs */
        59: .line 1738
            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 1741
            goto 99
      StackMap locals:
      StackMap stack:
        61: aload 3 /* key */
            instanceof java.security.interfaces.ECPrivateKey
            ifeq 85
        62: .line 1743
            aload 3 /* key */
            checkcast java.security.interfaces.ECPrivateKey
            astore 7 /* ecKey */
        start local 7 // java.security.interfaces.ECPrivateKey ecKey
        63: .line 1745
            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 1746
            aload 8 /* idAttrs */
            iconst_0
            aaload
            ifnonnull 66
        65: .line 1747
            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 1751
      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 1750
            astore 9 /* encodedParams */
        start local 9 // byte[] encodedParams
        68: .line 1752
            bipush 7
            anewarray sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            iconst_0
        69: .line 1753
            getstatic sun.security.pkcs11.P11KeyStore.ATTR_TOKEN_TRUE:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            aastore
            dup
            iconst_1
        70: .line 1754
            getstatic sun.security.pkcs11.P11KeyStore.ATTR_CLASS_PKEY:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            aastore
            dup
            iconst_2
        71: .line 1755
            getstatic sun.security.pkcs11.P11KeyStore.ATTR_PRIVATE_TRUE:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            aastore
            dup
            iconst_3
        72: .line 1756
            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 1757
            aload 8 /* idAttrs */
            iconst_0
            aaload
            aastore
            dup
            iconst_5
        74: .line 1758
            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 1759
            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 1752
            astore 4 /* attrs */
        77: .line 1761
            aload 8 /* idAttrs */
            iconst_1
            aaload
            ifnull 79
        78: .line 1762
            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 1765
      StackMap locals: byte[]
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
        80: .line 1766
            ldc "import"
            ldc 3
            ldc 3
            aload 4 /* attrs */
        81: .line 1765
            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 1768
            getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
            ifnull 99
        83: .line 1769
            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 1772
            goto 99
      StackMap locals:
      StackMap stack:
        85: aload 3 /* key */
            instanceof sun.security.pkcs11.P11Key
            ifeq 98
        86: .line 1774
            aload 3 /* key */
            checkcast sun.security.pkcs11.P11Key
            astore 7 /* p11Key */
        start local 7 // sun.security.pkcs11.P11Key p11Key
        87: .line 1775
            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 1776
            new java.security.KeyStoreException
            dup
        89: .line 1777
            ldc "Cannot move sensitive keys across tokens"
        90: .line 1776
            invokespecial java.security.KeyStoreException.<init>:(Ljava/lang/String;)V
            athrow
        91: .line 1779
      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 1780
            iload 5 /* useNDB */
            ifeq 95
        93: .line 1787
            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 1788
            aload 9 /* idAttrs */
            iconst_1
            aaload
            astore 8 /* netscapeDB */
        end local 9 // sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] idAttrs
        95: .line 1791
      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 1792
            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 1793
            return
        end local 8 // sun.security.pkcs11.wrapper.CK_ATTRIBUTE netscapeDB
        end local 7 // sun.security.pkcs11.P11Key p11Key
        98: .line 1796
      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 1799
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 7 /* session */
        start local 7 // sun.security.pkcs11.Session session
       100: .line 1801
            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 1804
            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 1805
            getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
            ifnull 111
       103: .line 1806
            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 1807
            aload 1 /* alias */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
       105: .line 1808
            ldc "]"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
       106: .line 1806
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
       107: .line 1810
            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 1811
            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 1812
            aload 8
            athrow
       111: .line 1811
      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 1814
            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 1815
            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 1823
            aconst_null
            astore 4 /* attrs */
        start local 4 // sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] attrs
         1: .line 1824
            aload 2 /* key */
            instanceof java.security.interfaces.RSAPrivateCrtKey
            ifeq 40
         2: .line 1826
            getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
            ifnull 4
         3: .line 1827
            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 1830
      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 1832
            bipush 13
            anewarray sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            iconst_0
         6: .line 1833
            getstatic sun.security.pkcs11.P11KeyStore.ATTR_TOKEN_TRUE:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            aastore
            dup
            iconst_1
         7: .line 1834
            getstatic sun.security.pkcs11.P11KeyStore.ATTR_CLASS_PKEY:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            aastore
            dup
            iconst_2
         8: .line 1835
            getstatic sun.security.pkcs11.P11KeyStore.ATTR_PRIVATE_TRUE:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            aastore
            dup
            iconst_3
         9: .line 1836
            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 1837
            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 1838
            new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            ldc 288
        12: .line 1839
            aload 5 /* rsaKey */
            invokeinterface java.security.interfaces.RSAPrivateCrtKey.getModulus:()Ljava/math/BigInteger;
        13: .line 1838
            invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JLjava/math/BigInteger;)V
            aastore
            dup
            bipush 6
        14: .line 1840
            new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            ldc 291
        15: .line 1841
            aload 5 /* rsaKey */
            invokeinterface java.security.interfaces.RSAPrivateCrtKey.getPrivateExponent:()Ljava/math/BigInteger;
        16: .line 1840
            invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JLjava/math/BigInteger;)V
            aastore
            dup
            bipush 7
        17: .line 1842
            new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            ldc 290
        18: .line 1843
            aload 5 /* rsaKey */
            invokeinterface java.security.interfaces.RSAPrivateCrtKey.getPublicExponent:()Ljava/math/BigInteger;
        19: .line 1842
            invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JLjava/math/BigInteger;)V
            aastore
            dup
            bipush 8
        20: .line 1844
            new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            ldc 292
        21: .line 1845
            aload 5 /* rsaKey */
            invokeinterface java.security.interfaces.RSAPrivateCrtKey.getPrimeP:()Ljava/math/BigInteger;
        22: .line 1844
            invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JLjava/math/BigInteger;)V
            aastore
            dup
            bipush 9
        23: .line 1846
            new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            ldc 293
        24: .line 1847
            aload 5 /* rsaKey */
            invokeinterface java.security.interfaces.RSAPrivateCrtKey.getPrimeQ:()Ljava/math/BigInteger;
        25: .line 1846
            invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JLjava/math/BigInteger;)V
            aastore
            dup
            bipush 10
        26: .line 1848
            new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            ldc 294
        27: .line 1849
            aload 5 /* rsaKey */
            invokeinterface java.security.interfaces.RSAPrivateCrtKey.getPrimeExponentP:()Ljava/math/BigInteger;
        28: .line 1848
            invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JLjava/math/BigInteger;)V
            aastore
            dup
            bipush 11
        29: .line 1850
            new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            ldc 295
        30: .line 1851
            aload 5 /* rsaKey */
            invokeinterface java.security.interfaces.RSAPrivateCrtKey.getPrimeExponentQ:()Ljava/math/BigInteger;
        31: .line 1850
            invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JLjava/math/BigInteger;)V
            aastore
            dup
            bipush 12
        32: .line 1852
            new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            ldc 296
        33: .line 1853
            aload 5 /* rsaKey */
            invokeinterface java.security.interfaces.RSAPrivateCrtKey.getCrtCoefficient:()Ljava/math/BigInteger;
        34: .line 1852
            invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JLjava/math/BigInteger;)V
            aastore
        35: .line 1832
            astore 4 /* attrs */
        36: .line 1854
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
        37: .line 1855
            ldc "import"
            ldc 3
            lconst_0
            aload 4 /* attrs */
        38: .line 1854
            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 1857
            goto 59
        40: .line 1859
      StackMap locals:
      StackMap stack:
            getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
            ifnull 42
        41: .line 1860
            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 1863
      StackMap locals:
      StackMap stack:
            aload 2 /* key */
            astore 5 /* rsaKey */
        start local 5 // java.security.interfaces.RSAPrivateKey rsaKey
        43: .line 1865
            bipush 7
            anewarray sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            iconst_0
        44: .line 1866
            getstatic sun.security.pkcs11.P11KeyStore.ATTR_TOKEN_TRUE:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            aastore
            dup
            iconst_1
        45: .line 1867
            getstatic sun.security.pkcs11.P11KeyStore.ATTR_CLASS_PKEY:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            aastore
            dup
            iconst_2
        46: .line 1868
            getstatic sun.security.pkcs11.P11KeyStore.ATTR_PRIVATE_TRUE:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            aastore
            dup
            iconst_3
        47: .line 1869
            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 1870
            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 1871
            new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            ldc 288
        50: .line 1872
            aload 5 /* rsaKey */
            invokeinterface java.security.interfaces.RSAPrivateKey.getModulus:()Ljava/math/BigInteger;
        51: .line 1871
            invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JLjava/math/BigInteger;)V
            aastore
            dup
            bipush 6
        52: .line 1873
            new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            ldc 291
        53: .line 1874
            aload 5 /* rsaKey */
            invokeinterface java.security.interfaces.RSAPrivateKey.getPrivateExponent:()Ljava/math/BigInteger;
        54: .line 1873
            invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JLjava/math/BigInteger;)V
            aastore
        55: .line 1865
            astore 4 /* attrs */
        56: .line 1875
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.token:Lsun/security/pkcs11/Token;
        57: .line 1876
            ldc "import"
            ldc 3
            lconst_0
            aload 4 /* attrs */
        58: .line 1875
            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 1879
      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 1897
            iconst_2
            anewarray sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            astore 5 /* attrs */
        start local 5 // sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] attrs
         1: .line 1898
            iload 3 /* id */
            ifne 3
            iload 4 /* netscapeDb */
            ifne 3
         2: .line 1899
            aload 5 /* attrs */
            areturn
         3: .line 1901
      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 1902
            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 1903
            iload 3 /* id */
            ifeq 34
         6: .line 1904
            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 1905
            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 1908
            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 1909
            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 1910
            iload 3 /* id */
            ifeq 13
        12: .line 1911
            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 1913
      StackMap locals: java.math.BigInteger
      StackMap stack:
            iload 4 /* netscapeDb */
            ifeq 34
        14: .line 1914
            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 1916
            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 1917
            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 1918
            iload 3 /* id */
            ifeq 20
        19: .line 1919
            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 1921
      StackMap locals: java.math.BigInteger
      StackMap stack:
            iload 4 /* netscapeDb */
            ifeq 34
        21: .line 1922
            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 1924
            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 1925
            aload 2 /* publicKey */
            checkcast java.security.interfaces.ECPublicKey
            astore 7 /* ecPub */
        start local 7 // java.security.interfaces.ECPublicKey ecPub
        25: .line 1926
            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 1927
            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 1928
            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 1929
            iload 3 /* id */
            ifeq 30
        29: .line 1930
            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 1932
      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 1933
            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 1935
            goto 34
        33: .line 1936
      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 1938
      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 1946
            aconst_null
            astore 2 /* session */
        start local 2 // sun.security.pkcs11.Session session
         1: .line 1948
            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 1949
            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 1950
            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 1962
            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 1951
            iconst_0
            ireturn
         6: .line 1954
      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 1955
            getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
            ifnull 12
         8: .line 1956
            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 1957
            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 1958
            ldc "]"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        11: .line 1956
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        12: .line 1962
      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 1960
            iconst_1
            ireturn
        end local 3 // sun.security.pkcs11.P11KeyStore$THandle h
        14: .line 1961
      StackMap locals: sun.security.pkcs11.P11KeyStore byte[] sun.security.pkcs11.Session
      StackMap stack: java.lang.Throwable
            astore 4
        15: .line 1962
            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 1963
            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 1972
            aconst_null
            astore 2 /* session */
        start local 2 // sun.security.pkcs11.Session session
         1: .line 1974
            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 1976
            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 1977
            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 1978
            getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
            ifnull 9
         5: .line 1979
            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 1981
            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 1982
            ldc "]"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         8: .line 1979
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
         9: .line 2073
      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 1984
            iconst_0
            ireturn
        11: .line 1987
      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 1988
            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 1989
            getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
            ifnull 18
        14: .line 1990
            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 1992
            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 1993
            ldc "]"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        17: .line 1990
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        18: .line 1998
      StackMap locals: java.security.cert.X509Certificate
      StackMap stack:
            aload 4 /* endCert */
            astore 5 /* next */
        start local 5 // java.security.cert.X509Certificate next
        19: .line 2001
      StackMap locals: java.security.cert.X509Certificate
      StackMap stack:
            aload 5 /* next */
            invokevirtual java.security.cert.X509Certificate.getSubjectX500Principal:()Ljavax/security/auth/x500/X500Principal;
        20: .line 2002
            aload 5 /* next */
            invokevirtual java.security.cert.X509Certificate.getIssuerX500Principal:()Ljavax/security/auth/x500/X500Principal;
        21: .line 2001
            invokevirtual javax.security.auth.x500.X500Principal.equals:(Ljava/lang/Object;)Z
        22: .line 2002
            ifeq 24
        23: .line 2004
            goto 72
        24: .line 2007
      StackMap locals:
      StackMap stack:
            iconst_3
            anewarray sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            iconst_0
        25: .line 2008
            getstatic sun.security.pkcs11.P11KeyStore.ATTR_TOKEN_TRUE:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            aastore
            dup
            iconst_1
        26: .line 2009
            getstatic sun.security.pkcs11.P11KeyStore.ATTR_CLASS_CERT:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            aastore
            dup
            iconst_2
        27: .line 2010
            new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            ldc 257
        28: .line 2011
            aload 5 /* next */
            invokevirtual java.security.cert.X509Certificate.getIssuerX500Principal:()Ljavax/security/auth/x500/X500Principal;
            invokevirtual javax.security.auth.x500.X500Principal.getEncoded:()[B
        29: .line 2010
            invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JLjava/lang/Object;)V
            aastore
        30: .line 2007
            astore 6 /* attrs */
        start local 6 // sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] attrs
        31: .line 2012
            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 2014
            aload 7 /* ch */
            ifnull 72
            aload 7 /* ch */
            arraylength
            ifne 34
        33: .line 2016
            goto 72
        34: .line 2019
      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 2020
            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 2021
            aload 7 /* ch */
            arraylength
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
        37: .line 2022
            ldc " certificate entries for subject ["
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        38: .line 2023
            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 2024
            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 2020
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        41: .line 2027
      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 2031
            iconst_3
            anewarray sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            iconst_0
        43: .line 2032
            getstatic sun.security.pkcs11.P11KeyStore.ATTR_TOKEN_TRUE:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            aastore
            dup
            iconst_1
        44: .line 2033
            getstatic sun.security.pkcs11.P11KeyStore.ATTR_CLASS_CERT:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            aastore
            dup
            iconst_2
        45: .line 2034
            new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            ldc 129
        46: .line 2035
            aload 5 /* next */
            invokevirtual java.security.cert.X509Certificate.getSubjectX500Principal:()Ljavax/security/auth/x500/X500Principal;
            invokevirtual javax.security.auth.x500.X500Principal.getEncoded:()[B
        47: .line 2034
            invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JLjava/lang/Object;)V
            aastore
        48: .line 2031
            astore 6 /* attrs */
        49: .line 2036
            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 2038
            iconst_0
            istore 9 /* destroyIt */
        start local 9 // boolean destroyIt
        51: .line 2039
            aload 8 /* issuers */
            ifnull 52
            aload 8 /* issuers */
            arraylength
            ifne 54
        52: .line 2042
      StackMap locals: long[] int
      StackMap stack:
            iconst_1
            istore 9 /* destroyIt */
        53: .line 2043
            goto 58
      StackMap locals:
      StackMap stack:
        54: aload 8 /* issuers */
            arraylength
            iconst_1
            if_icmpne 58
        55: .line 2044
            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 2045
            aload 5 /* next */
            aload 10 /* iCert */
            invokevirtual java.security.cert.X509Certificate.equals:(Ljava/lang/Object;)Z
            ifeq 58
        57: .line 2048
            iconst_1
            istore 9 /* destroyIt */
        end local 10 // java.security.cert.X509Certificate iCert
        58: .line 2052
      StackMap locals:
      StackMap stack:
            iload 9 /* destroyIt */
            ifeq 67
        59: .line 2053
            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 2054
            getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
            ifnull 19
        61: .line 2055
            getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
        62: .line 2056
            new java.lang.StringBuilder
            dup
            ldc "destroyChain destroyed cert in chain with subject ["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        63: .line 2058
            aload 5 /* next */
            invokevirtual java.security.cert.X509Certificate.getSubjectX500Principal:()Ljavax/security/auth/x500/X500Principal;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc "]"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        64: .line 2056
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        65: .line 2055
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        66: .line 2060
            goto 19
        67: .line 2061
      StackMap locals:
      StackMap stack:
            getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
            ifnull 19
        68: .line 2062
            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 2064
            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 2062
            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 1999
            goto 19
        72: .line 2073
      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 2070
            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 2072
      StackMap locals: sun.security.pkcs11.P11KeyStore byte[] sun.security.pkcs11.Session
      StackMap stack: java.lang.Throwable
            astore 11
        75: .line 2073
            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 2074
            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 2082
            aconst_null
            astore 2 /* session */
        start local 2 // sun.security.pkcs11.Session session
         1: .line 2084
            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 2086
            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 2087
            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 2088
            getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
            ifnull 9
         5: .line 2089
            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 2091
            aload 1 /* alias */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         7: .line 2092
            ldc "]"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         8: .line 2089
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
         9: .line 2099
      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 2094
            iconst_0
            ireturn
        11: .line 2096
      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 2099
            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 2097
            iconst_1
            ireturn
        end local 3 // sun.security.pkcs11.P11KeyStore$THandle h
        14: .line 2098
      StackMap locals: sun.security.pkcs11.P11KeyStore java.lang.String sun.security.pkcs11.Session
      StackMap stack: java.lang.Throwable
            astore 4
        15: .line 2099
            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 2100
            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 2108
            aconst_null
            astore 2 /* session */
        start local 2 // sun.security.pkcs11.Session session
         1: .line 2110
            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 2112
            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 2113
            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 2114
            getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
            ifnull 11
         5: .line 2115
            getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
         6: .line 2116
            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 2117
            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 2118
            ldc "]"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         9: .line 2116
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        10: .line 2115
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        11: .line 2125
      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 2120
            iconst_0
            ireturn
        13: .line 2122
      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 2125
            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 2123
            iconst_1
            ireturn
        end local 3 // sun.security.pkcs11.P11KeyStore$THandle h
        16: .line 2124
      StackMap locals: sun.security.pkcs11.P11KeyStore byte[] sun.security.pkcs11.Session
      StackMap stack: java.lang.Throwable
            astore 4
        17: .line 2125
            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 2126
            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 2133
            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 2134
            aload 2 /* cert */
            invokevirtual java.security.cert.X509Certificate.getSerialNumber:()Ljava/math/BigInteger;
            astore 4 /* serialNum */
        start local 4 // java.math.BigInteger serialNum
         2: .line 2136
            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 2137
            ldc "/"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         4: .line 2138
            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 2139
            ldc "/"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         6: .line 2140
            aload 4 /* serialNum */
            invokevirtual java.math.BigInteger.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         7: .line 2136
            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 2147
            iconst_1
            istore 1 /* printable */
        start local 1 // boolean printable
         1: .line 2148
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         2: goto 7
         3: .line 2149
      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 2150
            iconst_0
            istore 1 /* printable */
         5: .line 2151
            goto 8
         6: .line 2148
      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 2155
      StackMap locals:
      StackMap stack:
            iload 1 /* printable */
            ifne 10
         9: .line 2156
            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 */
            getstatic java.nio.charset.StandardCharsets.UTF_8:Ljava/nio/charset/Charset;
            invokespecial java.lang.String.<init>:([BLjava/nio/charset/Charset;)V
            areturn
        end local 1 // boolean printable
        end local 0 // byte[] bytes
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   11     0      bytes  [B
            1   11     1  printable  Z
            2    8     2          i  I
    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 2176
            aload 2 /* type */
            getstatic sun.security.pkcs11.P11KeyStore.ATTR_CLASS_SKEY:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            if_acmpne 7
         1: .line 2177
            iconst_3
            anewarray sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            iconst_0
         2: .line 2178
            getstatic sun.security.pkcs11.P11KeyStore.ATTR_SKEY_TOKEN_TRUE:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            aastore
            dup
            iconst_1
         3: .line 2179
            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 2180
            aload 2 /* type */
            aastore
         5: .line 2177
            astore 5 /* attrs */
        start local 5 // sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] attrs
         6: .line 2181
            goto 12
        end local 5 // sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] attrs
         7: .line 2182
      StackMap locals:
      StackMap stack:
            iconst_3
            anewarray sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            iconst_0
         8: .line 2183
            getstatic sun.security.pkcs11.P11KeyStore.ATTR_TOKEN_TRUE:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            aastore
            dup
            iconst_1
         9: .line 2184
            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 2185
            aload 2 /* type */
            aastore
        11: .line 2182
            astore 5 /* attrs */
        start local 5 // sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] attrs
        12: .line 2187
      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 2188
            aload 6 /* h */
            arraylength
            ifne 34
        14: .line 2189
            getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
            ifnull 67
        15: .line 2190
            aload 2 /* type */
            getstatic sun.security.pkcs11.P11KeyStore.ATTR_CLASS_SKEY:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            if_acmpne 21
        16: .line 2191
            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 2193
            aload 4 /* cka_label */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        18: .line 2194
            ldc "]"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        19: .line 2191
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        20: .line 2195
            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 2196
            getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
        23: .line 2197
            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 2198
            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 2199
            ldc "]"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        26: .line 2197
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        27: .line 2196
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        28: .line 2200
            goto 67
        29: .line 2201
      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 2203
            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 2204
            ldc "]"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        32: .line 2201
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        33: .line 2207
            goto 67
      StackMap locals:
      StackMap stack:
        34: aload 6 /* h */
            arraylength
            iconst_1
            if_icmpne 36
        35: .line 2210
            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 2217
      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 2219
            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 2220
            iconst_0
            istore 8 /* i */
        start local 8 // int i
        39: goto 47
        40: .line 2223
      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 2222
            astore 9 /* label */
        start local 9 // sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] label
        42: .line 2224
            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 2225
            aload 9 /* label */
            iconst_0
            aaload
            getfield sun.security.pkcs11.wrapper.CK_ATTRIBUTE.pValue:Ljava/lang/Object;
            ifnull 46
        44: .line 2226
            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 2227
            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 2220
      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 2230
            aload 7 /* list */
            invokevirtual java.util.ArrayList.size:()I
            iconst_1
            if_icmpne 50
        49: .line 2232
            aload 7 /* list */
            iconst_0
            invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
            checkcast sun.security.pkcs11.P11KeyStore$THandle
            areturn
        50: .line 2234
      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 2236
            aload 7 /* list */
            invokevirtual java.util.ArrayList.size:()I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
        52: .line 2237
            ldc " secret keys sharing CKA_LABEL ["
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        53: .line 2238
            aload 4 /* cka_label */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        54: .line 2239
            ldc "]"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        55: .line 2234
            invokespecial java.security.KeyStoreException.<init>:(Ljava/lang/String;)V
            athrow
        end local 7 // java.util.ArrayList list
        56: .line 2241
      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 2242
            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 2244
            aload 6 /* h */
            arraylength
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
        59: .line 2245
            ldc " certificates sharing CKA_ID "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        60: .line 2246
            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 2242
            invokespecial java.security.KeyStoreException.<init>:(Ljava/lang/String;)V
            athrow
        62: .line 2248
      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 2250
            aload 6 /* h */
            arraylength
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
        64: .line 2251
            ldc " private keys sharing CKA_ID "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        65: .line 2252
            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 2248
            invokespecial java.security.KeyStoreException.<init>:(Ljava/lang/String;)V
            athrow
        67: .line 2255
      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 2276
            iconst_1
            anewarray sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            iconst_0
         1: .line 2277
            new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            ldc 134
            invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(J)V
            aastore
         2: .line 2276
            astore 1 /* trustedAttr */
        start local 1 // sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] trustedAttr
         3: .line 2279
            aconst_null
            astore 2 /* session */
        start local 2 // sun.security.pkcs11.Session session
         4: .line 2281
            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 2285
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 3 /* pkeyIDs */
        start local 3 // java.util.ArrayList pkeyIDs
         6: .line 2286
            iconst_2
            anewarray sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            iconst_0
         7: .line 2287
            getstatic sun.security.pkcs11.P11KeyStore.ATTR_TOKEN_TRUE:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            aastore
            dup
            iconst_1
         8: .line 2288
            getstatic sun.security.pkcs11.P11KeyStore.ATTR_CLASS_PKEY:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            aastore
         9: .line 2286
            astore 4 /* attrs */
        start local 4 // sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] attrs
        10: .line 2290
            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 2292
            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 2293
            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 2294
            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 2296
            aload 4 /* attrs */
            iconst_0
            aaload
            getfield sun.security.pkcs11.wrapper.CK_ATTRIBUTE.pValue:Ljava/lang/Object;
            ifnull 17
        16: .line 2297
            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 2292
      StackMap locals:
      StackMap stack:
            iinc 8 1
      StackMap locals:
      StackMap stack:
        18: iload 8
            iload 9
            if_icmplt 12
        19: .line 2312
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
        20: .line 2311
            astore 6 /* certMap */
        start local 6 // java.util.HashMap certMap
        21: .line 2314
            iconst_2
            anewarray sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            iconst_0
        22: .line 2315
            getstatic sun.security.pkcs11.P11KeyStore.ATTR_TOKEN_TRUE:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            aastore
            dup
            iconst_1
        23: .line 2316
            getstatic sun.security.pkcs11.P11KeyStore.ATTR_CLASS_CERT:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            aastore
        24: .line 2314
            astore 4 /* attrs */
        25: .line 2318
            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 2320
            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 2321
            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 2323
            aconst_null
            astore 12 /* cka_label */
        start local 12 // java.lang.String cka_label
        30: .line 2324
            aconst_null
            astore 13 /* cka_id */
        start local 13 // byte[] cka_id
        31: .line 2326
            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 2327
            aload 4 /* attrs */
            iconst_0
            aaload
            getfield sun.security.pkcs11.wrapper.CK_ATTRIBUTE.pValue:Ljava/lang/Object;
            ifnull 38
        33: .line 2329
            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 2331
            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 2332
            aload 14 /* pe */
            invokevirtual sun.security.pkcs11.wrapper.PKCS11Exception.getErrorCode:()J
            ldc 18
            lcmp
            ifeq 38
        37: .line 2333
            aload 14 /* pe */
            athrow
        end local 14 // sun.security.pkcs11.wrapper.PKCS11Exception pe
        38: .line 2343
      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 2344
            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 2345
            aload 4 /* attrs */
            iconst_0
            aaload
            getfield sun.security.pkcs11.wrapper.CK_ATTRIBUTE.pValue:Ljava/lang/Object;
            ifnonnull 43
        41: .line 2346
            aload 12 /* cka_label */
            ifnonnull 46
        42: .line 2348
            goto 74
        43: .line 2351
      StackMap locals:
      StackMap stack:
            aload 12 /* cka_label */
            ifnonnull 45
        44: .line 2353
            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 2355
      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 2358
      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 2362
            iconst_0
            istore 15 /* cka_trusted */
        start local 15 // boolean cka_trusted
        48: .line 2364
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.useSecmodTrust:Z
            ifeq 51
        49: .line 2365
            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 2366
            goto 64
        51: .line 2367
      StackMap locals: java.security.cert.X509Certificate int
      StackMap stack:
            getstatic sun.security.pkcs11.P11KeyStore.CKA_TRUSTED_SUPPORTED:Z
            ifeq 64
        52: .line 2369
            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 2370
            aload 2 /* session */
            invokevirtual sun.security.pkcs11.Session.id:()J
            lload 7 /* handle */
            aload 1 /* trustedAttr */
        54: .line 2369
            invokevirtual sun.security.pkcs11.wrapper.PKCS11.C_GetAttributeValue:(JJ[Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;)V
        55: .line 2371
            aload 1 /* trustedAttr */
            iconst_0
            aaload
            invokevirtual sun.security.pkcs11.wrapper.CK_ATTRIBUTE.getBoolean:()Z
            istore 15 /* cka_trusted */
        56: .line 2372
            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 2373
            aload 16 /* pe */
            invokevirtual sun.security.pkcs11.wrapper.PKCS11Exception.getErrorCode:()J
            ldc 18
            lcmp
            ifne 64
        59: .line 2375
            iconst_0
            putstatic sun.security.pkcs11.P11KeyStore.CKA_TRUSTED_SUPPORTED:Z
        60: .line 2376
            getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
            ifnull 64
        61: .line 2377
            getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
        62: .line 2378
            ldc "CKA_TRUSTED attribute not supported"
        63: .line 2377
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        end local 16 // sun.security.pkcs11.wrapper.PKCS11Exception pe
        64: .line 2385
      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 2386
            aload 16 /* infoSet */
            ifnonnull 68
        66: .line 2387
            new java.util.HashSet
            dup
            iconst_2
            invokespecial java.util.HashSet.<init>:(I)V
            astore 16 /* infoSet */
        67: .line 2388
            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 2395
      StackMap locals: java.util.HashSet
      StackMap stack:
            aload 16 /* infoSet */
            new sun.security.pkcs11.P11KeyStore$AliasInfo
            dup
        69: .line 2396
            aload 12 /* cka_label */
        70: .line 2397
            aload 13 /* cka_id */
        71: .line 2398
            iload 15 /* cka_trusted */
        72: .line 2399
            aload 14 /* cert */
            invokespecial sun.security.pkcs11.P11KeyStore$AliasInfo.<init>:(Ljava/lang/String;[BZLjava/security/cert/X509Certificate;)V
        73: .line 2395
            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 2320
      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 2407
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
        77: .line 2406
            astore 7 /* sKeyMap */
        start local 7 // java.util.HashMap sKeyMap
        78: .line 2409
            iconst_2
            anewarray sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            iconst_0
        79: .line 2410
            getstatic sun.security.pkcs11.P11KeyStore.ATTR_SKEY_TOKEN_TRUE:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            aastore
            dup
            iconst_1
        80: .line 2411
            getstatic sun.security.pkcs11.P11KeyStore.ATTR_CLASS_SKEY:Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            aastore
        81: .line 2409
            astore 4 /* attrs */
        82: .line 2413
            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 2415
            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 2416
            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 2417
            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 2418
            aload 4 /* attrs */
            iconst_0
            aaload
            getfield sun.security.pkcs11.wrapper.CK_ATTRIBUTE.pValue:Ljava/lang/Object;
            ifnull 96
        88: .line 2421
            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 2422
            aload 7 /* sKeyMap */
            aload 13 /* cka_label */
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            ifnonnull 92
        90: .line 2423
            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 2424
            goto 96
        92: .line 2425
      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 2428
            aload 13 /* cka_label */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        94: .line 2429
            ldc "]"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        95: .line 2425
            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 2415
      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 2436
            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 2435
            astore 8 /* matchedCerts */
        start local 8 // java.util.ArrayList matchedCerts
       100: .line 2437
            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 2438
            aload 0 /* this */
            aload 7 /* sKeyMap */
            invokevirtual sun.security.pkcs11.P11KeyStore.mapSecretKeys:(Ljava/util/HashMap;)V
       102: .line 2440
            iload 9 /* sharedLabel */
            istore 18
       103: .line 2443
            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 2440
            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 2442
      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 2443
            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 2444
            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 2463
            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 2466
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 3 /* matchedCerts */
        start local 3 // java.util.ArrayList matchedCerts
         2: .line 2468
            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 2472
            iconst_0
            istore 6 /* foundMatch */
        start local 6 // boolean foundMatch
         5: .line 2473
            aload 2 /* certMap */
            invokevirtual java.util.HashMap.keySet:()Ljava/util/Set;
            astore 7 /* certLabels */
        start local 7 // java.util.Set certLabels
         6: .line 2474
            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 2478
            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 2479
            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 2480
            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 2484
            aload 10 /* infoSet */
            invokevirtual java.util.HashSet.size:()I
            iconst_1
            if_icmpne 16
        13: .line 2486
            aload 11 /* aliasInfo */
            iconst_1
            putfield sun.security.pkcs11.P11KeyStore$AliasInfo.matched:Z
        14: .line 2487
            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 2488
            goto 20
        16: .line 2490
      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 2491
            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 2492
            aload 11 /* aliasInfo */
        19: .line 2491
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        20: .line 2494
      StackMap locals:
      StackMap stack:
            aload 3 /* matchedCerts */
            aload 11 /* aliasInfo */
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        21: .line 2495
            iconst_1
            istore 6 /* foundMatch */
        22: .line 2496
            goto 24
        end local 11 // sun.security.pkcs11.P11KeyStore$AliasInfo aliasInfo
        23: .line 2479
      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 2499
      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 2500
            goto 27
        end local 10 // java.util.HashSet infoSet
        end local 8 // java.lang.String certLabel
        26: .line 2474
      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 2504
      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 2505
            getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
            ifnull 35
        29: .line 2506
            getstatic sun.security.pkcs11.P11KeyStore.debug:Lsun/security/util/Debug;
        30: .line 2507
            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 2508
            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 2509
            ldc "] (ignoring entry)"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        33: .line 2507
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        34: .line 2506
            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 2468
      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 2514
            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 2532
            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 2533
            aconst_null
            astore 5 /* session */
        start local 5 // sun.security.pkcs11.Session session
         3: .line 2535
            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 2536
            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 2537
            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 2538
            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 2539
            aload 6
            athrow
         9: .line 2538
      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 2532
      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 2545
            iconst_0
            istore 3 /* sharedLabel */
        start local 3 // boolean sharedLabel
        12: .line 2547
            aload 2 /* certMap */
            invokevirtual java.util.HashMap.keySet:()Ljava/util/Set;
            astore 4 /* certLabels */
        start local 4 // java.util.Set certLabels
        13: .line 2548
            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 2549
            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 2550
            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 2552
            aload 8 /* aliasInfo */
            getfield sun.security.pkcs11.P11KeyStore$AliasInfo.matched:Z
            ifeq 21
        19: .line 2555
            aload 8 /* aliasInfo */
            iconst_0
            putfield sun.security.pkcs11.P11KeyStore$AliasInfo.trusted:Z
        20: .line 2556
            goto 28
        21: .line 2564
      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 2565
            aload 8 /* aliasInfo */
            getfield sun.security.pkcs11.P11KeyStore$AliasInfo.trusted:Z
            ifeq 28
        23: .line 2567
            aload 0 /* this */
        24: .line 2568
            aload 5 /* certLabel */
            aload 8 /* aliasInfo */
            aload 7 /* infoSet */
        25: .line 2567
            invokevirtual sun.security.pkcs11.P11KeyStore.mapTrustedCert:(Ljava/lang/String;Lsun/security/pkcs11/P11KeyStore$AliasInfo;Ljava/util/HashSet;)Z
        26: .line 2568
            ifeq 28
        27: .line 2569
            iconst_1
            istore 3 /* sharedLabel */
        end local 8 // sun.security.pkcs11.P11KeyStore$AliasInfo aliasInfo
        28: .line 2550
      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 2548
      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 2610
            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 2617
            iconst_0
            istore 4 /* sharedLabel */
        start local 4 // boolean sharedLabel
         1: .line 2619
            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 2620
            aload 2 /* aliasInfo */
            iconst_1
            putfield sun.security.pkcs11.P11KeyStore$AliasInfo.trusted:Z
         3: .line 2621
            aload 3 /* infoSet */
            invokevirtual java.util.HashSet.size:()I
            iconst_1
            if_icmpne 6
         4: .line 2623
            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 2624
            goto 8
         6: .line 2626
      StackMap locals: int
      StackMap stack:
            iconst_1
            istore 4 /* sharedLabel */
         7: .line 2627
            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 2630
      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 2639
            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 2640
            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 2641
            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 2643
            aload 2 /* label */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         5: .line 2644
            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 2641
            invokespecial java.security.KeyStoreException.<init>:(Ljava/lang/String;)V
            athrow
        end local 2 // java.lang.String label
         7: .line 2639
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         8: .line 2647
            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 2648
            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 2651
            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 2652
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc "Token Alias Map:"
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         2: .line 2653
            aload 1 /* aliases */
            invokeinterface java.util.Set.isEmpty:()Z
            ifeq 5
         3: .line 2654
            getstatic java.lang.System.out:Ljava/io/PrintStream;
            ldc "  [empty]"
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         4: .line 2655
            goto 9
         5: .line 2656
      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 2657
            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 2656
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 6
         9: .line 2660
      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 2663
            aload 0 /* this */
            getfield sun.security.pkcs11.P11KeyStore.writeDisabled:Z
            ifeq 4
         1: .line 2664
            new java.security.KeyStoreException
            dup
         2: .line 2665
            ldc "This PKCS11KeyStore does not support write capabilities"
         3: .line 2664
            invokespecial java.security.KeyStoreException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 2667
      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 2673
            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 2674
            getstatic sun.security.pkcs11.P11KeyStore.LONG0:[J
            astore 3 /* handles */
        start local 3 // long[] handles
         2: .line 2675
            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 2677
      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 2678
            aload 4 /* h */
            arraylength
            ifne 6
         5: .line 2679
            goto 8
         6: .line 2681
      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 2676
            goto 3
         8: .line 2683
      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 2684
            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