final class sun.security.pkcs11.P11RSAKeyFactory extends sun.security.pkcs11.P11KeyFactory
  minor version: 0
  major version: 59
  flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
  this_class: sun.security.pkcs11.P11RSAKeyFactory
  super_class: sun.security.pkcs11.P11KeyFactory
{
  void <init>(sun.security.pkcs11.Token, java.lang.String);
    descriptor: (Lsun/security/pkcs11/Token;Ljava/lang/String;)V
    flags: (0x0000) 
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // sun.security.pkcs11.P11RSAKeyFactory this
        start local 1 // sun.security.pkcs11.Token token
        start local 2 // java.lang.String algorithm
         0: .line 50
            aload 0 /* this */
            aload 1 /* token */
            aload 2 /* algorithm */
            invokespecial sun.security.pkcs11.P11KeyFactory.<init>:(Lsun/security/pkcs11/Token;Ljava/lang/String;)V
         1: .line 51
            return
        end local 2 // java.lang.String algorithm
        end local 1 // sun.security.pkcs11.Token token
        end local 0 // sun.security.pkcs11.P11RSAKeyFactory this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       this  Lsun/security/pkcs11/P11RSAKeyFactory;
            0    2     1      token  Lsun/security/pkcs11/Token;
            0    2     2  algorithm  Ljava/lang/String;
    MethodParameters:
           Name  Flags
      token      
      algorithm  

  java.security.PublicKey implTranslatePublicKey(java.security.PublicKey);
    descriptor: (Ljava/security/PublicKey;)Ljava/security/PublicKey;
    flags: (0x0000) 
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // sun.security.pkcs11.P11RSAKeyFactory this
        start local 1 // java.security.PublicKey key
         0: .line 55
            aload 1 /* key */
            instanceof java.security.interfaces.RSAPublicKey
            ifeq 7
         1: .line 56
            aload 1 /* key */
            checkcast java.security.interfaces.RSAPublicKey
            astore 2 /* rsaKey */
        start local 2 // java.security.interfaces.RSAPublicKey rsaKey
         2: .line 57
            aload 0 /* this */
         3: .line 58
            aload 2 /* rsaKey */
            invokeinterface java.security.interfaces.RSAPublicKey.getModulus:()Ljava/math/BigInteger;
         4: .line 59
            aload 2 /* rsaKey */
            invokeinterface java.security.interfaces.RSAPublicKey.getPublicExponent:()Ljava/math/BigInteger;
         5: .line 57
            invokevirtual sun.security.pkcs11.P11RSAKeyFactory.generatePublic:(Ljava/math/BigInteger;Ljava/math/BigInteger;)Ljava/security/PublicKey;
         6: areturn
        end local 2 // java.security.interfaces.RSAPublicKey rsaKey
         7: .line 61
      StackMap locals:
      StackMap stack:
            ldc "X.509"
            aload 1 /* key */
            invokeinterface java.security.PublicKey.getFormat:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 12
         8: .line 63
            aload 1 /* key */
            invokeinterface java.security.PublicKey.getEncoded:()[B
            astore 2 /* encoded */
        start local 2 // byte[] encoded
         9: .line 64
            aload 2 /* encoded */
            invokestatic sun.security.rsa.RSAPublicKeyImpl.newKey:([B)Ljava/security/interfaces/RSAPublicKey;
            astore 1 /* key */
        10: .line 65
            aload 0 /* this */
            aload 1 /* key */
            invokevirtual sun.security.pkcs11.P11RSAKeyFactory.implTranslatePublicKey:(Ljava/security/PublicKey;)Ljava/security/PublicKey;
        11: areturn
        end local 2 // byte[] encoded
        12: .line 67
      StackMap locals:
      StackMap stack:
            new java.security.InvalidKeyException
            dup
            ldc "PublicKey must be instance of RSAPublicKey or have X.509 encoding"
            invokespecial java.security.InvalidKeyException.<init>:(Ljava/lang/String;)V
            athrow
        13: .line 70
      StackMap locals:
      StackMap stack: sun.security.pkcs11.wrapper.PKCS11Exception
            astore 2 /* e */
        start local 2 // sun.security.pkcs11.wrapper.PKCS11Exception e
        14: .line 71
            new java.security.InvalidKeyException
            dup
            ldc "Could not create RSA public key"
            aload 2 /* e */
            invokespecial java.security.InvalidKeyException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 2 // sun.security.pkcs11.wrapper.PKCS11Exception e
        end local 1 // java.security.PublicKey key
        end local 0 // sun.security.pkcs11.P11RSAKeyFactory this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   15     0     this  Lsun/security/pkcs11/P11RSAKeyFactory;
            0   15     1      key  Ljava/security/PublicKey;
            2    7     2   rsaKey  Ljava/security/interfaces/RSAPublicKey;
            9   12     2  encoded  [B
           14   15     2        e  Lsun/security/pkcs11/wrapper/PKCS11Exception;
      Exception table:
        from    to  target  type
           0     6      13  Class sun.security.pkcs11.wrapper.PKCS11Exception
           7    11      13  Class sun.security.pkcs11.wrapper.PKCS11Exception
          12    13      13  Class sun.security.pkcs11.wrapper.PKCS11Exception
    Exceptions:
      throws java.security.InvalidKeyException
    MethodParameters:
      Name  Flags
      key   

  java.security.PrivateKey implTranslatePrivateKey(java.security.PrivateKey);
    descriptor: (Ljava/security/PrivateKey;)Ljava/security/PrivateKey;
    flags: (0x0000) 
    Code:
      stack=9, locals=3, args_size=2
        start local 0 // sun.security.pkcs11.P11RSAKeyFactory this
        start local 1 // java.security.PrivateKey key
         0: .line 78
            aload 1 /* key */
            instanceof java.security.interfaces.RSAPrivateCrtKey
            ifeq 13
         1: .line 79
            aload 1 /* key */
            checkcast java.security.interfaces.RSAPrivateCrtKey
            astore 2 /* rsaKey */
        start local 2 // java.security.interfaces.RSAPrivateCrtKey rsaKey
         2: .line 80
            aload 0 /* this */
         3: .line 81
            aload 2 /* rsaKey */
            invokeinterface java.security.interfaces.RSAPrivateCrtKey.getModulus:()Ljava/math/BigInteger;
         4: .line 82
            aload 2 /* rsaKey */
            invokeinterface java.security.interfaces.RSAPrivateCrtKey.getPublicExponent:()Ljava/math/BigInteger;
         5: .line 83
            aload 2 /* rsaKey */
            invokeinterface java.security.interfaces.RSAPrivateCrtKey.getPrivateExponent:()Ljava/math/BigInteger;
         6: .line 84
            aload 2 /* rsaKey */
            invokeinterface java.security.interfaces.RSAPrivateCrtKey.getPrimeP:()Ljava/math/BigInteger;
         7: .line 85
            aload 2 /* rsaKey */
            invokeinterface java.security.interfaces.RSAPrivateCrtKey.getPrimeQ:()Ljava/math/BigInteger;
         8: .line 86
            aload 2 /* rsaKey */
            invokeinterface java.security.interfaces.RSAPrivateCrtKey.getPrimeExponentP:()Ljava/math/BigInteger;
         9: .line 87
            aload 2 /* rsaKey */
            invokeinterface java.security.interfaces.RSAPrivateCrtKey.getPrimeExponentQ:()Ljava/math/BigInteger;
        10: .line 88
            aload 2 /* rsaKey */
            invokeinterface java.security.interfaces.RSAPrivateCrtKey.getCrtCoefficient:()Ljava/math/BigInteger;
        11: .line 80
            invokevirtual sun.security.pkcs11.P11RSAKeyFactory.generatePrivate:(Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;)Ljava/security/PrivateKey;
        12: areturn
        end local 2 // java.security.interfaces.RSAPrivateCrtKey rsaKey
        13: .line 90
      StackMap locals:
      StackMap stack:
            aload 1 /* key */
            instanceof java.security.interfaces.RSAPrivateKey
            ifeq 20
        14: .line 91
            aload 1 /* key */
            checkcast java.security.interfaces.RSAPrivateKey
            astore 2 /* rsaKey */
        start local 2 // java.security.interfaces.RSAPrivateKey rsaKey
        15: .line 92
            aload 0 /* this */
        16: .line 93
            aload 2 /* rsaKey */
            invokeinterface java.security.interfaces.RSAPrivateKey.getModulus:()Ljava/math/BigInteger;
        17: .line 94
            aload 2 /* rsaKey */
            invokeinterface java.security.interfaces.RSAPrivateKey.getPrivateExponent:()Ljava/math/BigInteger;
        18: .line 92
            invokevirtual sun.security.pkcs11.P11RSAKeyFactory.generatePrivate:(Ljava/math/BigInteger;Ljava/math/BigInteger;)Ljava/security/PrivateKey;
        19: areturn
        end local 2 // java.security.interfaces.RSAPrivateKey rsaKey
        20: .line 96
      StackMap locals:
      StackMap stack:
            ldc "PKCS#8"
            aload 1 /* key */
            invokeinterface java.security.PrivateKey.getFormat:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 25
        21: .line 98
            aload 1 /* key */
            invokeinterface java.security.PrivateKey.getEncoded:()[B
            astore 2 /* encoded */
        start local 2 // byte[] encoded
        22: .line 99
            aload 2 /* encoded */
            invokestatic sun.security.rsa.RSAPrivateCrtKeyImpl.newKey:([B)Ljava/security/interfaces/RSAPrivateKey;
            astore 1 /* key */
        23: .line 100
            aload 0 /* this */
            aload 1 /* key */
            invokevirtual sun.security.pkcs11.P11RSAKeyFactory.implTranslatePrivateKey:(Ljava/security/PrivateKey;)Ljava/security/PrivateKey;
        24: areturn
        end local 2 // byte[] encoded
        25: .line 102
      StackMap locals:
      StackMap stack:
            new java.security.InvalidKeyException
            dup
            ldc "Private key must be instance of RSAPrivate(Crt)Key or have PKCS#8 encoding"
            invokespecial java.security.InvalidKeyException.<init>:(Ljava/lang/String;)V
            athrow
        26: .line 105
      StackMap locals:
      StackMap stack: sun.security.pkcs11.wrapper.PKCS11Exception
            astore 2 /* e */
        start local 2 // sun.security.pkcs11.wrapper.PKCS11Exception e
        27: .line 106
            new java.security.InvalidKeyException
            dup
            ldc "Could not create RSA private key"
            aload 2 /* e */
            invokespecial java.security.InvalidKeyException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 2 // sun.security.pkcs11.wrapper.PKCS11Exception e
        end local 1 // java.security.PrivateKey key
        end local 0 // sun.security.pkcs11.P11RSAKeyFactory this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   28     0     this  Lsun/security/pkcs11/P11RSAKeyFactory;
            0   28     1      key  Ljava/security/PrivateKey;
            2   13     2   rsaKey  Ljava/security/interfaces/RSAPrivateCrtKey;
           15   20     2   rsaKey  Ljava/security/interfaces/RSAPrivateKey;
           22   25     2  encoded  [B
           27   28     2        e  Lsun/security/pkcs11/wrapper/PKCS11Exception;
      Exception table:
        from    to  target  type
           0    12      26  Class sun.security.pkcs11.wrapper.PKCS11Exception
          13    19      26  Class sun.security.pkcs11.wrapper.PKCS11Exception
          20    24      26  Class sun.security.pkcs11.wrapper.PKCS11Exception
          25    26      26  Class sun.security.pkcs11.wrapper.PKCS11Exception
    Exceptions:
      throws java.security.InvalidKeyException
    MethodParameters:
      Name  Flags
      key   

  protected java.security.PublicKey engineGeneratePublic(java.security.spec.KeySpec);
    descriptor: (Ljava/security/spec/KeySpec;)Ljava/security/PublicKey;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // sun.security.pkcs11.P11RSAKeyFactory this
        start local 1 // java.security.spec.KeySpec keySpec
         0: .line 113
            aload 0 /* this */
            getfield sun.security.pkcs11.P11RSAKeyFactory.token:Lsun/security/pkcs11/Token;
            invokevirtual sun.security.pkcs11.Token.ensureValid:()V
         1: .line 114
            aload 1 /* keySpec */
            instanceof java.security.spec.X509EncodedKeySpec
            ifeq 10
         2: .line 116
            aload 1 /* keySpec */
            checkcast java.security.spec.X509EncodedKeySpec
            invokevirtual java.security.spec.X509EncodedKeySpec.getEncoded:()[B
            astore 2 /* encoded */
        start local 2 // byte[] encoded
         3: .line 117
            aload 2 /* encoded */
            invokestatic sun.security.rsa.RSAPublicKeyImpl.newKey:([B)Ljava/security/interfaces/RSAPublicKey;
            astore 3 /* key */
        start local 3 // java.security.PublicKey key
         4: .line 118
            aload 0 /* this */
            aload 3 /* key */
            invokevirtual sun.security.pkcs11.P11RSAKeyFactory.implTranslatePublicKey:(Ljava/security/PublicKey;)Ljava/security/PublicKey;
         5: areturn
        end local 3 // java.security.PublicKey key
        end local 2 // byte[] encoded
         6: .line 119
      StackMap locals:
      StackMap stack: java.security.InvalidKeyException
            astore 2 /* e */
        start local 2 // java.security.InvalidKeyException e
         7: .line 120
            new java.security.spec.InvalidKeySpecException
            dup
         8: .line 121
            ldc "Could not create RSA public key"
            aload 2 /* e */
         9: .line 120
            invokespecial java.security.spec.InvalidKeySpecException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 2 // java.security.InvalidKeyException e
        10: .line 124
      StackMap locals:
      StackMap stack:
            aload 1 /* keySpec */
            instanceof java.security.spec.RSAPublicKeySpec
            ifne 12
        11: .line 125
            new java.security.spec.InvalidKeySpecException
            dup
            ldc "Only RSAPublicKeySpec and X509EncodedKeySpec supported for RSA public keys"
            invokespecial java.security.spec.InvalidKeySpecException.<init>:(Ljava/lang/String;)V
            athrow
        12: .line 129
      StackMap locals:
      StackMap stack:
            aload 1 /* keySpec */
            checkcast java.security.spec.RSAPublicKeySpec
            astore 2 /* rs */
        start local 2 // java.security.spec.RSAPublicKeySpec rs
        13: .line 130
            aload 0 /* this */
        14: .line 131
            aload 2 /* rs */
            invokevirtual java.security.spec.RSAPublicKeySpec.getModulus:()Ljava/math/BigInteger;
        15: .line 132
            aload 2 /* rs */
            invokevirtual java.security.spec.RSAPublicKeySpec.getPublicExponent:()Ljava/math/BigInteger;
        16: .line 130
            invokevirtual sun.security.pkcs11.P11RSAKeyFactory.generatePublic:(Ljava/math/BigInteger;Ljava/math/BigInteger;)Ljava/security/PublicKey;
        17: areturn
        end local 2 // java.security.spec.RSAPublicKeySpec rs
        18: .line 134
      StackMap locals:
      StackMap stack: java.lang.Exception
            astore 2 /* e */
        start local 2 // java.lang.Exception e
        19: .line 135
            new java.security.spec.InvalidKeySpecException
            dup
        20: .line 136
            ldc "Could not create RSA public key"
            aload 2 /* e */
        21: .line 135
            invokespecial java.security.spec.InvalidKeySpecException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 2 // java.lang.Exception e
        end local 1 // java.security.spec.KeySpec keySpec
        end local 0 // sun.security.pkcs11.P11RSAKeyFactory this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   22     0     this  Lsun/security/pkcs11/P11RSAKeyFactory;
            0   22     1  keySpec  Ljava/security/spec/KeySpec;
            3    6     2  encoded  [B
            4    6     3      key  Ljava/security/PublicKey;
            7   10     2        e  Ljava/security/InvalidKeyException;
           13   18     2       rs  Ljava/security/spec/RSAPublicKeySpec;
           19   22     2        e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           2     5       6  Class java.security.InvalidKeyException
          12    17      18  Class sun.security.pkcs11.wrapper.PKCS11Exception
          12    17      18  Class java.security.InvalidKeyException
    Exceptions:
      throws java.security.spec.InvalidKeySpecException
    MethodParameters:
         Name  Flags
      keySpec  

  protected java.security.PrivateKey engineGeneratePrivate(java.security.spec.KeySpec);
    descriptor: (Ljava/security/spec/KeySpec;)Ljava/security/PrivateKey;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=9, locals=4, args_size=2
        start local 0 // sun.security.pkcs11.P11RSAKeyFactory this
        start local 1 // java.security.spec.KeySpec keySpec
         0: .line 143
            aload 0 /* this */
            getfield sun.security.pkcs11.P11RSAKeyFactory.token:Lsun/security/pkcs11/Token;
            invokevirtual sun.security.pkcs11.Token.ensureValid:()V
         1: .line 144
            aload 1 /* keySpec */
            instanceof java.security.spec.PKCS8EncodedKeySpec
            ifeq 11
         2: .line 146
            aload 1 /* keySpec */
            checkcast java.security.spec.PKCS8EncodedKeySpec
            invokevirtual java.security.spec.PKCS8EncodedKeySpec.getEncoded:()[B
            astore 2 /* encoded */
        start local 2 // byte[] encoded
         3: .line 148
            aload 2 /* encoded */
            invokestatic sun.security.rsa.RSAPrivateCrtKeyImpl.newKey:([B)Ljava/security/interfaces/RSAPrivateKey;
         4: .line 147
            astore 3 /* key */
        start local 3 // java.security.PrivateKey key
         5: .line 149
            aload 0 /* this */
            aload 3 /* key */
            invokevirtual sun.security.pkcs11.P11RSAKeyFactory.implTranslatePrivateKey:(Ljava/security/PrivateKey;)Ljava/security/PrivateKey;
         6: areturn
        end local 3 // java.security.PrivateKey key
        end local 2 // byte[] encoded
         7: .line 150
      StackMap locals:
      StackMap stack: java.security.GeneralSecurityException
            astore 2 /* e */
        start local 2 // java.security.GeneralSecurityException e
         8: .line 151
            new java.security.spec.InvalidKeySpecException
            dup
         9: .line 152
            ldc "Could not create RSA private key"
            aload 2 /* e */
        10: .line 151
            invokespecial java.security.spec.InvalidKeySpecException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 2 // java.security.GeneralSecurityException e
        11: .line 156
      StackMap locals:
      StackMap stack:
            aload 1 /* keySpec */
            instanceof java.security.spec.RSAPrivateCrtKeySpec
            ifeq 24
        12: .line 157
            aload 1 /* keySpec */
            checkcast java.security.spec.RSAPrivateCrtKeySpec
            astore 2 /* rs */
        start local 2 // java.security.spec.RSAPrivateCrtKeySpec rs
        13: .line 158
            aload 0 /* this */
        14: .line 159
            aload 2 /* rs */
            invokevirtual java.security.spec.RSAPrivateCrtKeySpec.getModulus:()Ljava/math/BigInteger;
        15: .line 160
            aload 2 /* rs */
            invokevirtual java.security.spec.RSAPrivateCrtKeySpec.getPublicExponent:()Ljava/math/BigInteger;
        16: .line 161
            aload 2 /* rs */
            invokevirtual java.security.spec.RSAPrivateCrtKeySpec.getPrivateExponent:()Ljava/math/BigInteger;
        17: .line 162
            aload 2 /* rs */
            invokevirtual java.security.spec.RSAPrivateCrtKeySpec.getPrimeP:()Ljava/math/BigInteger;
        18: .line 163
            aload 2 /* rs */
            invokevirtual java.security.spec.RSAPrivateCrtKeySpec.getPrimeQ:()Ljava/math/BigInteger;
        19: .line 164
            aload 2 /* rs */
            invokevirtual java.security.spec.RSAPrivateCrtKeySpec.getPrimeExponentP:()Ljava/math/BigInteger;
        20: .line 165
            aload 2 /* rs */
            invokevirtual java.security.spec.RSAPrivateCrtKeySpec.getPrimeExponentQ:()Ljava/math/BigInteger;
        21: .line 166
            aload 2 /* rs */
            invokevirtual java.security.spec.RSAPrivateCrtKeySpec.getCrtCoefficient:()Ljava/math/BigInteger;
        22: .line 158
            invokevirtual sun.security.pkcs11.P11RSAKeyFactory.generatePrivate:(Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;)Ljava/security/PrivateKey;
        23: areturn
        end local 2 // java.security.spec.RSAPrivateCrtKeySpec rs
        24: .line 168
      StackMap locals:
      StackMap stack:
            aload 1 /* keySpec */
            instanceof java.security.spec.RSAPrivateKeySpec
            ifeq 31
        25: .line 169
            aload 1 /* keySpec */
            checkcast java.security.spec.RSAPrivateKeySpec
            astore 2 /* rs */
        start local 2 // java.security.spec.RSAPrivateKeySpec rs
        26: .line 170
            aload 0 /* this */
        27: .line 171
            aload 2 /* rs */
            invokevirtual java.security.spec.RSAPrivateKeySpec.getModulus:()Ljava/math/BigInteger;
        28: .line 172
            aload 2 /* rs */
            invokevirtual java.security.spec.RSAPrivateKeySpec.getPrivateExponent:()Ljava/math/BigInteger;
        29: .line 170
            invokevirtual sun.security.pkcs11.P11RSAKeyFactory.generatePrivate:(Ljava/math/BigInteger;Ljava/math/BigInteger;)Ljava/security/PrivateKey;
        30: areturn
        end local 2 // java.security.spec.RSAPrivateKeySpec rs
        31: .line 175
      StackMap locals:
      StackMap stack:
            new java.security.spec.InvalidKeySpecException
            dup
            ldc "Only RSAPrivate(Crt)KeySpec and PKCS8EncodedKeySpec supported for RSA private keys"
            invokespecial java.security.spec.InvalidKeySpecException.<init>:(Ljava/lang/String;)V
            athrow
        32: .line 178
      StackMap locals:
      StackMap stack: java.lang.Exception
            astore 2 /* e */
        start local 2 // java.lang.Exception e
        33: .line 179
            new java.security.spec.InvalidKeySpecException
            dup
        34: .line 180
            ldc "Could not create RSA private key"
            aload 2 /* e */
        35: .line 179
            invokespecial java.security.spec.InvalidKeySpecException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 2 // java.lang.Exception e
        end local 1 // java.security.spec.KeySpec keySpec
        end local 0 // sun.security.pkcs11.P11RSAKeyFactory this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   36     0     this  Lsun/security/pkcs11/P11RSAKeyFactory;
            0   36     1  keySpec  Ljava/security/spec/KeySpec;
            3    7     2  encoded  [B
            5    7     3      key  Ljava/security/PrivateKey;
            8   11     2        e  Ljava/security/GeneralSecurityException;
           13   24     2       rs  Ljava/security/spec/RSAPrivateCrtKeySpec;
           26   31     2       rs  Ljava/security/spec/RSAPrivateKeySpec;
           33   36     2        e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           2     6       7  Class java.security.GeneralSecurityException
          11    23      32  Class sun.security.pkcs11.wrapper.PKCS11Exception
          24    30      32  Class sun.security.pkcs11.wrapper.PKCS11Exception
          31    32      32  Class sun.security.pkcs11.wrapper.PKCS11Exception
          11    23      32  Class java.security.InvalidKeyException
          24    30      32  Class java.security.InvalidKeyException
          31    32      32  Class java.security.InvalidKeyException
    Exceptions:
      throws java.security.spec.InvalidKeySpecException
    MethodParameters:
         Name  Flags
      keySpec  

  private java.security.PublicKey generatePublic(java.math.BigInteger, java.math.BigInteger);
    descriptor: (Ljava/math/BigInteger;Ljava/math/BigInteger;)Ljava/security/PublicKey;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=9, locals=9, args_size=3
        start local 0 // sun.security.pkcs11.P11RSAKeyFactory this
        start local 1 // java.math.BigInteger n
        start local 2 // java.math.BigInteger e
         0: .line 186
            aload 1 /* n */
            invokevirtual java.math.BigInteger.bitLength:()I
            aload 2 /* e */
            iconst_m1
            ldc 65536
            invokestatic sun.security.rsa.RSAKeyFactory.checkKeyLengths:(ILjava/math/BigInteger;II)V
         1: .line 187
            iconst_4
            anewarray sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            iconst_0
         2: .line 188
            new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            lconst_0
            ldc 2
            invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JJ)V
            aastore
            dup
            iconst_1
         3: .line 189
            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_2
         4: .line 190
            new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            ldc 288
            aload 1 /* n */
            invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JLjava/math/BigInteger;)V
            aastore
            dup
            iconst_3
         5: .line 191
            new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            ldc 290
            aload 2 /* e */
            invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JLjava/math/BigInteger;)V
            aastore
         6: .line 187
            astore 3 /* attributes */
        start local 3 // sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] attributes
         7: .line 193
            aload 0 /* this */
            getfield sun.security.pkcs11.P11RSAKeyFactory.token:Lsun/security/pkcs11/Token;
         8: .line 194
            ldc "import"
            ldc 2
            lconst_0
            aload 3 /* attributes */
         9: .line 193
            invokevirtual sun.security.pkcs11.Token.getAttributes:(Ljava/lang/String;JJ[Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;)[Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            astore 3 /* attributes */
        10: .line 195
            aconst_null
            astore 4 /* session */
        start local 4 // sun.security.pkcs11.Session session
        11: .line 197
            aload 0 /* this */
            getfield sun.security.pkcs11.P11RSAKeyFactory.token:Lsun/security/pkcs11/Token;
            invokevirtual sun.security.pkcs11.Token.getObjSession:()Lsun/security/pkcs11/Session;
            astore 4 /* session */
        12: .line 198
            aload 0 /* this */
            getfield sun.security.pkcs11.P11RSAKeyFactory.token:Lsun/security/pkcs11/Token;
            getfield sun.security.pkcs11.Token.p11:Lsun/security/pkcs11/wrapper/PKCS11;
            aload 4 /* session */
            invokevirtual sun.security.pkcs11.Session.id:()J
            aload 3 /* attributes */
            invokevirtual sun.security.pkcs11.wrapper.PKCS11.C_CreateObject:(J[Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;)J
            lstore 5 /* keyID */
        start local 5 // long keyID
        13: .line 200
            aload 4 /* session */
            lload 5 /* keyID */
            ldc "RSA"
            aload 1 /* n */
            invokevirtual java.math.BigInteger.bitLength:()I
            aload 3 /* attributes */
        14: .line 199
            invokestatic sun.security.pkcs11.P11Key.publicKey:(Lsun/security/pkcs11/Session;JLjava/lang/String;I[Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;)Ljava/security/PublicKey;
            astore 8
        15: .line 202
            aload 0 /* this */
            getfield sun.security.pkcs11.P11RSAKeyFactory.token:Lsun/security/pkcs11/Token;
            aload 4 /* session */
            invokevirtual sun.security.pkcs11.Token.releaseSession:(Lsun/security/pkcs11/Session;)Lsun/security/pkcs11/Session;
            pop
        16: .line 199
            aload 8
            areturn
        end local 5 // long keyID
        17: .line 201
      StackMap locals: sun.security.pkcs11.P11RSAKeyFactory java.math.BigInteger java.math.BigInteger sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] sun.security.pkcs11.Session
      StackMap stack: java.lang.Throwable
            astore 7
        18: .line 202
            aload 0 /* this */
            getfield sun.security.pkcs11.P11RSAKeyFactory.token:Lsun/security/pkcs11/Token;
            aload 4 /* session */
            invokevirtual sun.security.pkcs11.Token.releaseSession:(Lsun/security/pkcs11/Session;)Lsun/security/pkcs11/Session;
            pop
        19: .line 203
            aload 7
            athrow
        end local 4 // sun.security.pkcs11.Session session
        end local 3 // sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] attributes
        end local 2 // java.math.BigInteger e
        end local 1 // java.math.BigInteger n
        end local 0 // sun.security.pkcs11.P11RSAKeyFactory this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   20     0        this  Lsun/security/pkcs11/P11RSAKeyFactory;
            0   20     1           n  Ljava/math/BigInteger;
            0   20     2           e  Ljava/math/BigInteger;
            7   20     3  attributes  [Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
           11   20     4     session  Lsun/security/pkcs11/Session;
           13   17     5       keyID  J
      Exception table:
        from    to  target  type
          11    15      17  any
    Exceptions:
      throws sun.security.pkcs11.wrapper.PKCS11Exception, java.security.InvalidKeyException
    MethodParameters:
      Name  Flags
      n     
      e     

  private java.security.PrivateKey generatePrivate(java.math.BigInteger, java.math.BigInteger);
    descriptor: (Ljava/math/BigInteger;Ljava/math/BigInteger;)Ljava/security/PrivateKey;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=9, locals=9, args_size=3
        start local 0 // sun.security.pkcs11.P11RSAKeyFactory this
        start local 1 // java.math.BigInteger n
        start local 2 // java.math.BigInteger d
         0: .line 208
            aload 1 /* n */
            invokevirtual java.math.BigInteger.bitLength:()I
            aconst_null
            iconst_m1
            ldc 65536
            invokestatic sun.security.rsa.RSAKeyFactory.checkKeyLengths:(ILjava/math/BigInteger;II)V
         1: .line 209
            iconst_4
            anewarray sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            iconst_0
         2: .line 210
            new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            lconst_0
            ldc 3
            invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JJ)V
            aastore
            dup
            iconst_1
         3: .line 211
            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_2
         4: .line 212
            new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            ldc 288
            aload 1 /* n */
            invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JLjava/math/BigInteger;)V
            aastore
            dup
            iconst_3
         5: .line 213
            new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            ldc 291
            aload 2 /* d */
            invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JLjava/math/BigInteger;)V
            aastore
         6: .line 209
            astore 3 /* attributes */
        start local 3 // sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] attributes
         7: .line 215
            aload 0 /* this */
            getfield sun.security.pkcs11.P11RSAKeyFactory.token:Lsun/security/pkcs11/Token;
         8: .line 216
            ldc "import"
            ldc 3
            lconst_0
            aload 3 /* attributes */
         9: .line 215
            invokevirtual sun.security.pkcs11.Token.getAttributes:(Ljava/lang/String;JJ[Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;)[Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            astore 3 /* attributes */
        10: .line 217
            aconst_null
            astore 4 /* session */
        start local 4 // sun.security.pkcs11.Session session
        11: .line 219
            aload 0 /* this */
            getfield sun.security.pkcs11.P11RSAKeyFactory.token:Lsun/security/pkcs11/Token;
            invokevirtual sun.security.pkcs11.Token.getObjSession:()Lsun/security/pkcs11/Session;
            astore 4 /* session */
        12: .line 220
            aload 0 /* this */
            getfield sun.security.pkcs11.P11RSAKeyFactory.token:Lsun/security/pkcs11/Token;
            getfield sun.security.pkcs11.Token.p11:Lsun/security/pkcs11/wrapper/PKCS11;
            aload 4 /* session */
            invokevirtual sun.security.pkcs11.Session.id:()J
            aload 3 /* attributes */
            invokevirtual sun.security.pkcs11.wrapper.PKCS11.C_CreateObject:(J[Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;)J
            lstore 5 /* keyID */
        start local 5 // long keyID
        13: .line 222
            aload 4 /* session */
            lload 5 /* keyID */
            ldc "RSA"
            aload 1 /* n */
            invokevirtual java.math.BigInteger.bitLength:()I
            aload 3 /* attributes */
        14: .line 221
            invokestatic sun.security.pkcs11.P11Key.privateKey:(Lsun/security/pkcs11/Session;JLjava/lang/String;I[Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;)Ljava/security/PrivateKey;
            astore 8
        15: .line 224
            aload 0 /* this */
            getfield sun.security.pkcs11.P11RSAKeyFactory.token:Lsun/security/pkcs11/Token;
            aload 4 /* session */
            invokevirtual sun.security.pkcs11.Token.releaseSession:(Lsun/security/pkcs11/Session;)Lsun/security/pkcs11/Session;
            pop
        16: .line 221
            aload 8
            areturn
        end local 5 // long keyID
        17: .line 223
      StackMap locals: sun.security.pkcs11.P11RSAKeyFactory java.math.BigInteger java.math.BigInteger sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] sun.security.pkcs11.Session
      StackMap stack: java.lang.Throwable
            astore 7
        18: .line 224
            aload 0 /* this */
            getfield sun.security.pkcs11.P11RSAKeyFactory.token:Lsun/security/pkcs11/Token;
            aload 4 /* session */
            invokevirtual sun.security.pkcs11.Token.releaseSession:(Lsun/security/pkcs11/Session;)Lsun/security/pkcs11/Session;
            pop
        19: .line 225
            aload 7
            athrow
        end local 4 // sun.security.pkcs11.Session session
        end local 3 // sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] attributes
        end local 2 // java.math.BigInteger d
        end local 1 // java.math.BigInteger n
        end local 0 // sun.security.pkcs11.P11RSAKeyFactory this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   20     0        this  Lsun/security/pkcs11/P11RSAKeyFactory;
            0   20     1           n  Ljava/math/BigInteger;
            0   20     2           d  Ljava/math/BigInteger;
            7   20     3  attributes  [Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
           11   20     4     session  Lsun/security/pkcs11/Session;
           13   17     5       keyID  J
      Exception table:
        from    to  target  type
          11    15      17  any
    Exceptions:
      throws sun.security.pkcs11.wrapper.PKCS11Exception, java.security.InvalidKeyException
    MethodParameters:
      Name  Flags
      n     
      d     

  private java.security.PrivateKey generatePrivate(java.math.BigInteger, java.math.BigInteger, java.math.BigInteger, java.math.BigInteger, java.math.BigInteger, java.math.BigInteger, java.math.BigInteger, java.math.BigInteger);
    descriptor: (Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;)Ljava/security/PrivateKey;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=9, locals=15, args_size=9
        start local 0 // sun.security.pkcs11.P11RSAKeyFactory this
        start local 1 // java.math.BigInteger n
        start local 2 // java.math.BigInteger e
        start local 3 // java.math.BigInteger d
        start local 4 // java.math.BigInteger p
        start local 5 // java.math.BigInteger q
        start local 6 // java.math.BigInteger pe
        start local 7 // java.math.BigInteger qe
        start local 8 // java.math.BigInteger coeff
         0: .line 232
            aload 1 /* n */
            invokevirtual java.math.BigInteger.bitLength:()I
            aload 2 /* e */
            iconst_m1
            ldc 65536
            invokestatic sun.security.rsa.RSAKeyFactory.checkKeyLengths:(ILjava/math/BigInteger;II)V
         1: .line 233
            bipush 10
            anewarray sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            iconst_0
         2: .line 234
            new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            lconst_0
            ldc 3
            invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JJ)V
            aastore
            dup
            iconst_1
         3: .line 235
            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_2
         4: .line 236
            new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            ldc 288
            aload 1 /* n */
            invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JLjava/math/BigInteger;)V
            aastore
            dup
            iconst_3
         5: .line 237
            new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            ldc 290
            aload 2 /* e */
            invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JLjava/math/BigInteger;)V
            aastore
            dup
            iconst_4
         6: .line 238
            new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            ldc 291
            aload 3 /* d */
            invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JLjava/math/BigInteger;)V
            aastore
            dup
            iconst_5
         7: .line 239
            new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            ldc 292
            aload 4 /* p */
            invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JLjava/math/BigInteger;)V
            aastore
            dup
            bipush 6
         8: .line 240
            new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            ldc 293
            aload 5 /* q */
            invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JLjava/math/BigInteger;)V
            aastore
            dup
            bipush 7
         9: .line 241
            new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            ldc 294
            aload 6 /* pe */
            invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JLjava/math/BigInteger;)V
            aastore
            dup
            bipush 8
        10: .line 242
            new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            ldc 295
            aload 7 /* qe */
            invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JLjava/math/BigInteger;)V
            aastore
            dup
            bipush 9
        11: .line 243
            new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            ldc 296
            aload 8 /* coeff */
            invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JLjava/math/BigInteger;)V
            aastore
        12: .line 233
            astore 9 /* attributes */
        start local 9 // sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] attributes
        13: .line 245
            aload 0 /* this */
            getfield sun.security.pkcs11.P11RSAKeyFactory.token:Lsun/security/pkcs11/Token;
        14: .line 246
            ldc "import"
            ldc 3
            lconst_0
            aload 9 /* attributes */
        15: .line 245
            invokevirtual sun.security.pkcs11.Token.getAttributes:(Ljava/lang/String;JJ[Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;)[Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            astore 9 /* attributes */
        16: .line 247
            aconst_null
            astore 10 /* session */
        start local 10 // sun.security.pkcs11.Session session
        17: .line 249
            aload 0 /* this */
            getfield sun.security.pkcs11.P11RSAKeyFactory.token:Lsun/security/pkcs11/Token;
            invokevirtual sun.security.pkcs11.Token.getObjSession:()Lsun/security/pkcs11/Session;
            astore 10 /* session */
        18: .line 250
            aload 0 /* this */
            getfield sun.security.pkcs11.P11RSAKeyFactory.token:Lsun/security/pkcs11/Token;
            getfield sun.security.pkcs11.Token.p11:Lsun/security/pkcs11/wrapper/PKCS11;
            aload 10 /* session */
            invokevirtual sun.security.pkcs11.Session.id:()J
            aload 9 /* attributes */
            invokevirtual sun.security.pkcs11.wrapper.PKCS11.C_CreateObject:(J[Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;)J
            lstore 11 /* keyID */
        start local 11 // long keyID
        19: .line 252
            aload 10 /* session */
            lload 11 /* keyID */
            ldc "RSA"
            aload 1 /* n */
            invokevirtual java.math.BigInteger.bitLength:()I
            aload 9 /* attributes */
        20: .line 251
            invokestatic sun.security.pkcs11.P11Key.privateKey:(Lsun/security/pkcs11/Session;JLjava/lang/String;I[Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;)Ljava/security/PrivateKey;
            astore 14
        21: .line 254
            aload 0 /* this */
            getfield sun.security.pkcs11.P11RSAKeyFactory.token:Lsun/security/pkcs11/Token;
            aload 10 /* session */
            invokevirtual sun.security.pkcs11.Token.releaseSession:(Lsun/security/pkcs11/Session;)Lsun/security/pkcs11/Session;
            pop
        22: .line 251
            aload 14
            areturn
        end local 11 // long keyID
        23: .line 253
      StackMap locals: sun.security.pkcs11.P11RSAKeyFactory java.math.BigInteger java.math.BigInteger java.math.BigInteger java.math.BigInteger java.math.BigInteger java.math.BigInteger java.math.BigInteger java.math.BigInteger sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] sun.security.pkcs11.Session
      StackMap stack: java.lang.Throwable
            astore 13
        24: .line 254
            aload 0 /* this */
            getfield sun.security.pkcs11.P11RSAKeyFactory.token:Lsun/security/pkcs11/Token;
            aload 10 /* session */
            invokevirtual sun.security.pkcs11.Token.releaseSession:(Lsun/security/pkcs11/Session;)Lsun/security/pkcs11/Session;
            pop
        25: .line 255
            aload 13
            athrow
        end local 10 // sun.security.pkcs11.Session session
        end local 9 // sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] attributes
        end local 8 // java.math.BigInteger coeff
        end local 7 // java.math.BigInteger qe
        end local 6 // java.math.BigInteger pe
        end local 5 // java.math.BigInteger q
        end local 4 // java.math.BigInteger p
        end local 3 // java.math.BigInteger d
        end local 2 // java.math.BigInteger e
        end local 1 // java.math.BigInteger n
        end local 0 // sun.security.pkcs11.P11RSAKeyFactory this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   26     0        this  Lsun/security/pkcs11/P11RSAKeyFactory;
            0   26     1           n  Ljava/math/BigInteger;
            0   26     2           e  Ljava/math/BigInteger;
            0   26     3           d  Ljava/math/BigInteger;
            0   26     4           p  Ljava/math/BigInteger;
            0   26     5           q  Ljava/math/BigInteger;
            0   26     6          pe  Ljava/math/BigInteger;
            0   26     7          qe  Ljava/math/BigInteger;
            0   26     8       coeff  Ljava/math/BigInteger;
           13   26     9  attributes  [Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
           17   26    10     session  Lsun/security/pkcs11/Session;
           19   23    11       keyID  J
      Exception table:
        from    to  target  type
          17    21      23  any
    Exceptions:
      throws sun.security.pkcs11.wrapper.PKCS11Exception, java.security.InvalidKeyException
    MethodParameters:
       Name  Flags
      n      
      e      
      d      
      p      
      q      
      pe     
      qe     
      coeff  

  <T extends java.security.spec.KeySpec> T implGetPublicKeySpec(sun.security.pkcs11.P11Key, java.lang.Class<T>, sun.security.pkcs11.Session[]);
    descriptor: (Lsun/security/pkcs11/P11Key;Ljava/lang/Class;[Lsun/security/pkcs11/Session;)Ljava/security/spec/KeySpec;
    flags: (0x0000) 
    Code:
      stack=7, locals=8, args_size=4
        start local 0 // sun.security.pkcs11.P11RSAKeyFactory this
        start local 1 // sun.security.pkcs11.P11Key key
        start local 2 // java.lang.Class keySpec
        start local 3 // sun.security.pkcs11.Session[] session
         0: .line 260
            ldc Ljava/security/spec/RSAPublicKeySpec;
            aload 2 /* keySpec */
            invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
            ifeq 18
         1: .line 261
            aload 3 /* session */
            iconst_0
            aload 0 /* this */
            getfield sun.security.pkcs11.P11RSAKeyFactory.token:Lsun/security/pkcs11/Token;
            invokevirtual sun.security.pkcs11.Token.getObjSession:()Lsun/security/pkcs11/Session;
            aastore
         2: .line 262
            iconst_2
            anewarray sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            iconst_0
         3: .line 263
            new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            ldc 288
            invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(J)V
            aastore
            dup
            iconst_1
         4: .line 264
            new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            ldc 290
            invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(J)V
            aastore
         5: .line 262
            astore 4 /* attributes */
        start local 4 // sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] attributes
         6: .line 266
            aload 1 /* key */
            invokevirtual sun.security.pkcs11.P11Key.getKeyID:()J
            lstore 5 /* keyID */
        start local 5 // long keyID
         7: .line 268
            aload 0 /* this */
            getfield sun.security.pkcs11.P11RSAKeyFactory.token:Lsun/security/pkcs11/Token;
            getfield sun.security.pkcs11.Token.p11:Lsun/security/pkcs11/wrapper/PKCS11;
            aload 3 /* session */
            iconst_0
            aaload
            invokevirtual sun.security.pkcs11.Session.id:()J
            lload 5 /* keyID */
            aload 4 /* attributes */
            invokevirtual sun.security.pkcs11.wrapper.PKCS11.C_GetAttributeValue:(JJ[Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;)V
         8: .line 269
            goto 12
      StackMap locals: sun.security.pkcs11.P11RSAKeyFactory sun.security.pkcs11.P11Key java.lang.Class sun.security.pkcs11.Session[] sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] long
      StackMap stack: java.lang.Throwable
         9: astore 7
        10: .line 270
            aload 1 /* key */
            invokevirtual sun.security.pkcs11.P11Key.releaseKeyID:()V
        11: .line 271
            aload 7
            athrow
        12: .line 270
      StackMap locals:
      StackMap stack:
            aload 1 /* key */
            invokevirtual sun.security.pkcs11.P11Key.releaseKeyID:()V
        13: .line 272
            new java.security.spec.RSAPublicKeySpec
            dup
        14: .line 273
            aload 4 /* attributes */
            iconst_0
            aaload
            invokevirtual sun.security.pkcs11.wrapper.CK_ATTRIBUTE.getBigInteger:()Ljava/math/BigInteger;
        15: .line 274
            aload 4 /* attributes */
            iconst_1
            aaload
            invokevirtual sun.security.pkcs11.wrapper.CK_ATTRIBUTE.getBigInteger:()Ljava/math/BigInteger;
        16: .line 272
            invokespecial java.security.spec.RSAPublicKeySpec.<init>:(Ljava/math/BigInteger;Ljava/math/BigInteger;)V
            astore 7 /* spec */
        start local 7 // java.security.spec.KeySpec spec
        17: .line 276
            aload 2 /* keySpec */
            aload 7 /* spec */
            invokevirtual java.lang.Class.cast:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.security.spec.KeySpec
            areturn
        end local 7 // java.security.spec.KeySpec spec
        end local 5 // long keyID
        end local 4 // sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] attributes
        18: .line 278
      StackMap locals:
      StackMap stack:
            new java.security.spec.InvalidKeySpecException
            dup
            ldc "Only RSAPublicKeySpec and X509EncodedKeySpec supported for RSA public keys"
            invokespecial java.security.spec.InvalidKeySpecException.<init>:(Ljava/lang/String;)V
            athrow
        end local 3 // sun.security.pkcs11.Session[] session
        end local 2 // java.lang.Class keySpec
        end local 1 // sun.security.pkcs11.P11Key key
        end local 0 // sun.security.pkcs11.P11RSAKeyFactory this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   19     0        this  Lsun/security/pkcs11/P11RSAKeyFactory;
            0   19     1         key  Lsun/security/pkcs11/P11Key;
            0   19     2     keySpec  Ljava/lang/Class<TT;>;
            0   19     3     session  [Lsun/security/pkcs11/Session;
            6   18     4  attributes  [Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            7   18     5       keyID  J
           17   18     7        spec  Ljava/security/spec/KeySpec;
      Exception table:
        from    to  target  type
           7     9       9  any
    Exceptions:
      throws sun.security.pkcs11.wrapper.PKCS11Exception, java.security.spec.InvalidKeySpecException
    Signature: <T::Ljava/security/spec/KeySpec;>(Lsun/security/pkcs11/P11Key;Ljava/lang/Class<TT;>;[Lsun/security/pkcs11/Session;)TT;
    MethodParameters:
         Name  Flags
      key      
      keySpec  
      session  

  <T extends java.security.spec.KeySpec> T implGetPrivateKeySpec(sun.security.pkcs11.P11Key, java.lang.Class<T>, sun.security.pkcs11.Session[]);
    descriptor: (Lsun/security/pkcs11/P11Key;Ljava/lang/Class;[Lsun/security/pkcs11/Session;)Ljava/security/spec/KeySpec;
    flags: (0x0000) 
    Code:
      stack=11, locals=8, args_size=4
        start local 0 // sun.security.pkcs11.P11RSAKeyFactory this
        start local 1 // sun.security.pkcs11.P11Key key
        start local 2 // java.lang.Class keySpec
        start local 3 // sun.security.pkcs11.Session[] session
         0: .line 285
            ldc Ljava/security/spec/RSAPrivateCrtKeySpec;
            aload 2 /* keySpec */
            invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
            ifeq 30
         1: .line 286
            aload 3 /* session */
            iconst_0
            aload 0 /* this */
            getfield sun.security.pkcs11.P11RSAKeyFactory.token:Lsun/security/pkcs11/Token;
            invokevirtual sun.security.pkcs11.Token.getObjSession:()Lsun/security/pkcs11/Session;
            aastore
         2: .line 287
            bipush 8
            anewarray sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            iconst_0
         3: .line 288
            new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            ldc 288
            invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(J)V
            aastore
            dup
            iconst_1
         4: .line 289
            new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            ldc 290
            invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(J)V
            aastore
            dup
            iconst_2
         5: .line 290
            new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            ldc 291
            invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(J)V
            aastore
            dup
            iconst_3
         6: .line 291
            new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            ldc 292
            invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(J)V
            aastore
            dup
            iconst_4
         7: .line 292
            new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            ldc 293
            invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(J)V
            aastore
            dup
            iconst_5
         8: .line 293
            new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            ldc 294
            invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(J)V
            aastore
            dup
            bipush 6
         9: .line 294
            new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            ldc 295
            invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(J)V
            aastore
            dup
            bipush 7
        10: .line 295
            new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            ldc 296
            invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(J)V
            aastore
        11: .line 287
            astore 4 /* attributes */
        start local 4 // sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] attributes
        12: .line 297
            aload 1 /* key */
            invokevirtual sun.security.pkcs11.P11Key.getKeyID:()J
            lstore 5 /* keyID */
        start local 5 // long keyID
        13: .line 299
            aload 0 /* this */
            getfield sun.security.pkcs11.P11RSAKeyFactory.token:Lsun/security/pkcs11/Token;
            getfield sun.security.pkcs11.Token.p11:Lsun/security/pkcs11/wrapper/PKCS11;
            aload 3 /* session */
            iconst_0
            aaload
            invokevirtual sun.security.pkcs11.Session.id:()J
            lload 5 /* keyID */
            aload 4 /* attributes */
            invokevirtual sun.security.pkcs11.wrapper.PKCS11.C_GetAttributeValue:(JJ[Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;)V
        14: .line 300
            goto 18
      StackMap locals: sun.security.pkcs11.P11RSAKeyFactory sun.security.pkcs11.P11Key java.lang.Class sun.security.pkcs11.Session[] sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] long
      StackMap stack: java.lang.Throwable
        15: astore 7
        16: .line 301
            aload 1 /* key */
            invokevirtual sun.security.pkcs11.P11Key.releaseKeyID:()V
        17: .line 302
            aload 7
            athrow
        18: .line 301
      StackMap locals:
      StackMap stack:
            aload 1 /* key */
            invokevirtual sun.security.pkcs11.P11Key.releaseKeyID:()V
        19: .line 304
            new java.security.spec.RSAPrivateCrtKeySpec
            dup
        20: .line 305
            aload 4 /* attributes */
            iconst_0
            aaload
            invokevirtual sun.security.pkcs11.wrapper.CK_ATTRIBUTE.getBigInteger:()Ljava/math/BigInteger;
        21: .line 306
            aload 4 /* attributes */
            iconst_1
            aaload
            invokevirtual sun.security.pkcs11.wrapper.CK_ATTRIBUTE.getBigInteger:()Ljava/math/BigInteger;
        22: .line 307
            aload 4 /* attributes */
            iconst_2
            aaload
            invokevirtual sun.security.pkcs11.wrapper.CK_ATTRIBUTE.getBigInteger:()Ljava/math/BigInteger;
        23: .line 308
            aload 4 /* attributes */
            iconst_3
            aaload
            invokevirtual sun.security.pkcs11.wrapper.CK_ATTRIBUTE.getBigInteger:()Ljava/math/BigInteger;
        24: .line 309
            aload 4 /* attributes */
            iconst_4
            aaload
            invokevirtual sun.security.pkcs11.wrapper.CK_ATTRIBUTE.getBigInteger:()Ljava/math/BigInteger;
        25: .line 310
            aload 4 /* attributes */
            iconst_5
            aaload
            invokevirtual sun.security.pkcs11.wrapper.CK_ATTRIBUTE.getBigInteger:()Ljava/math/BigInteger;
        26: .line 311
            aload 4 /* attributes */
            bipush 6
            aaload
            invokevirtual sun.security.pkcs11.wrapper.CK_ATTRIBUTE.getBigInteger:()Ljava/math/BigInteger;
        27: .line 312
            aload 4 /* attributes */
            bipush 7
            aaload
            invokevirtual sun.security.pkcs11.wrapper.CK_ATTRIBUTE.getBigInteger:()Ljava/math/BigInteger;
        28: .line 304
            invokespecial java.security.spec.RSAPrivateCrtKeySpec.<init>:(Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;)V
            astore 7 /* spec */
        start local 7 // java.security.spec.KeySpec spec
        29: .line 314
            aload 2 /* keySpec */
            aload 7 /* spec */
            invokevirtual java.lang.Class.cast:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.security.spec.KeySpec
            areturn
        end local 7 // java.security.spec.KeySpec spec
        end local 5 // long keyID
        end local 4 // sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] attributes
        30: .line 315
      StackMap locals:
      StackMap stack:
            ldc Ljava/security/spec/RSAPrivateKeySpec;
            aload 2 /* keySpec */
            invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
            ifeq 48
        31: .line 316
            aload 3 /* session */
            iconst_0
            aload 0 /* this */
            getfield sun.security.pkcs11.P11RSAKeyFactory.token:Lsun/security/pkcs11/Token;
            invokevirtual sun.security.pkcs11.Token.getObjSession:()Lsun/security/pkcs11/Session;
            aastore
        32: .line 317
            iconst_2
            anewarray sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            iconst_0
        33: .line 318
            new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            ldc 288
            invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(J)V
            aastore
            dup
            iconst_1
        34: .line 319
            new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            ldc 291
            invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(J)V
            aastore
        35: .line 317
            astore 4 /* attributes */
        start local 4 // sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] attributes
        36: .line 321
            aload 1 /* key */
            invokevirtual sun.security.pkcs11.P11Key.getKeyID:()J
            lstore 5 /* keyID */
        start local 5 // long keyID
        37: .line 323
            aload 0 /* this */
            getfield sun.security.pkcs11.P11RSAKeyFactory.token:Lsun/security/pkcs11/Token;
            getfield sun.security.pkcs11.Token.p11:Lsun/security/pkcs11/wrapper/PKCS11;
            aload 3 /* session */
            iconst_0
            aaload
            invokevirtual sun.security.pkcs11.Session.id:()J
            lload 5 /* keyID */
            aload 4 /* attributes */
            invokevirtual sun.security.pkcs11.wrapper.PKCS11.C_GetAttributeValue:(JJ[Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;)V
        38: .line 324
            goto 42
      StackMap locals: sun.security.pkcs11.P11RSAKeyFactory sun.security.pkcs11.P11Key java.lang.Class sun.security.pkcs11.Session[] sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] long
      StackMap stack: java.lang.Throwable
        39: astore 7
        40: .line 325
            aload 1 /* key */
            invokevirtual sun.security.pkcs11.P11Key.releaseKeyID:()V
        41: .line 326
            aload 7
            athrow
        42: .line 325
      StackMap locals:
      StackMap stack:
            aload 1 /* key */
            invokevirtual sun.security.pkcs11.P11Key.releaseKeyID:()V
        43: .line 328
            new java.security.spec.RSAPrivateKeySpec
            dup
        44: .line 329
            aload 4 /* attributes */
            iconst_0
            aaload
            invokevirtual sun.security.pkcs11.wrapper.CK_ATTRIBUTE.getBigInteger:()Ljava/math/BigInteger;
        45: .line 330
            aload 4 /* attributes */
            iconst_1
            aaload
            invokevirtual sun.security.pkcs11.wrapper.CK_ATTRIBUTE.getBigInteger:()Ljava/math/BigInteger;
        46: .line 328
            invokespecial java.security.spec.RSAPrivateKeySpec.<init>:(Ljava/math/BigInteger;Ljava/math/BigInteger;)V
            astore 7 /* spec */
        start local 7 // java.security.spec.KeySpec spec
        47: .line 332
            aload 2 /* keySpec */
            aload 7 /* spec */
            invokevirtual java.lang.Class.cast:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.security.spec.KeySpec
            areturn
        end local 7 // java.security.spec.KeySpec spec
        end local 5 // long keyID
        end local 4 // sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] attributes
        48: .line 334
      StackMap locals:
      StackMap stack:
            new java.security.spec.InvalidKeySpecException
            dup
            ldc "Only RSAPrivate(Crt)KeySpec and PKCS8EncodedKeySpec supported for RSA private keys"
            invokespecial java.security.spec.InvalidKeySpecException.<init>:(Ljava/lang/String;)V
            athrow
        end local 3 // sun.security.pkcs11.Session[] session
        end local 2 // java.lang.Class keySpec
        end local 1 // sun.security.pkcs11.P11Key key
        end local 0 // sun.security.pkcs11.P11RSAKeyFactory this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   49     0        this  Lsun/security/pkcs11/P11RSAKeyFactory;
            0   49     1         key  Lsun/security/pkcs11/P11Key;
            0   49     2     keySpec  Ljava/lang/Class<TT;>;
            0   49     3     session  [Lsun/security/pkcs11/Session;
           12   30     4  attributes  [Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
           13   30     5       keyID  J
           29   30     7        spec  Ljava/security/spec/KeySpec;
           36   48     4  attributes  [Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
           37   48     5       keyID  J
           47   48     7        spec  Ljava/security/spec/KeySpec;
      Exception table:
        from    to  target  type
          13    15      15  any
          37    39      39  any
    Exceptions:
      throws sun.security.pkcs11.wrapper.PKCS11Exception, java.security.spec.InvalidKeySpecException
    Signature: <T::Ljava/security/spec/KeySpec;>(Lsun/security/pkcs11/P11Key;Ljava/lang/Class<TT;>;[Lsun/security/pkcs11/Session;)TT;
    MethodParameters:
         Name  Flags
      key      
      keySpec  
      session  

  java.security.KeyFactory implGetSoftwareFactory();
    descriptor: ()Ljava/security/KeyFactory;
    flags: (0x0000) 
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // sun.security.pkcs11.P11RSAKeyFactory this
         0: .line 340
            ldc "RSA"
            invokestatic sun.security.pkcs11.P11Util.getSunRsaSignProvider:()Ljava/security/Provider;
            invokestatic java.security.KeyFactory.getInstance:(Ljava/lang/String;Ljava/security/Provider;)Ljava/security/KeyFactory;
            areturn
        end local 0 // sun.security.pkcs11.P11RSAKeyFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/security/pkcs11/P11RSAKeyFactory;
    Exceptions:
      throws java.security.GeneralSecurityException
}
SourceFile: "P11RSAKeyFactory.java"