final class sun.security.pkcs11.P11DSAKeyFactory extends sun.security.pkcs11.P11KeyFactory
  minor version: 0
  major version: 59
  flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
  this_class: sun.security.pkcs11.P11DSAKeyFactory
  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.P11DSAKeyFactory this
        start local 1 // sun.security.pkcs11.Token token
        start local 2 // java.lang.String algorithm
         0: .line 47
            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 48
            return
        end local 2 // java.lang.String algorithm
        end local 1 // sun.security.pkcs11.Token token
        end local 0 // sun.security.pkcs11.P11DSAKeyFactory this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       this  Lsun/security/pkcs11/P11DSAKeyFactory;
            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=5, locals=4, args_size=2
        start local 0 // sun.security.pkcs11.P11DSAKeyFactory this
        start local 1 // java.security.PublicKey key
         0: .line 52
            aload 1 /* key */
            instanceof java.security.interfaces.DSAPublicKey
            ifeq 10
         1: .line 53
            aload 1 /* key */
            checkcast java.security.interfaces.DSAPublicKey
            astore 2 /* dsaKey */
        start local 2 // java.security.interfaces.DSAPublicKey dsaKey
         2: .line 54
            aload 2 /* dsaKey */
            invokeinterface java.security.interfaces.DSAPublicKey.getParams:()Ljava/security/interfaces/DSAParams;
            astore 3 /* params */
        start local 3 // java.security.interfaces.DSAParams params
         3: .line 55
            aload 0 /* this */
         4: .line 56
            aload 2 /* dsaKey */
            invokeinterface java.security.interfaces.DSAPublicKey.getY:()Ljava/math/BigInteger;
         5: .line 57
            aload 3 /* params */
            invokeinterface java.security.interfaces.DSAParams.getP:()Ljava/math/BigInteger;
         6: .line 58
            aload 3 /* params */
            invokeinterface java.security.interfaces.DSAParams.getQ:()Ljava/math/BigInteger;
         7: .line 59
            aload 3 /* params */
            invokeinterface java.security.interfaces.DSAParams.getG:()Ljava/math/BigInteger;
         8: .line 55
            invokevirtual sun.security.pkcs11.P11DSAKeyFactory.generatePublic:(Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;)Ljava/security/PublicKey;
         9: areturn
        end local 3 // java.security.interfaces.DSAParams params
        end local 2 // java.security.interfaces.DSAPublicKey dsaKey
        10: .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 15
        11: .line 63
            aload 1 /* key */
            invokeinterface java.security.PublicKey.getEncoded:()[B
            astore 2 /* encoded */
        start local 2 // byte[] encoded
        12: .line 64
            new sun.security.provider.DSAPublicKey
            dup
            aload 2 /* encoded */
            invokespecial sun.security.provider.DSAPublicKey.<init>:([B)V
            astore 1 /* key */
        13: .line 65
            aload 0 /* this */
            aload 1 /* key */
            invokevirtual sun.security.pkcs11.P11DSAKeyFactory.implTranslatePublicKey:(Ljava/security/PublicKey;)Ljava/security/PublicKey;
        14: areturn
        end local 2 // byte[] encoded
        15: .line 67
      StackMap locals:
      StackMap stack:
            new java.security.InvalidKeyException
            dup
            ldc "PublicKey must be instance of DSAPublicKey or have X.509 encoding"
            invokespecial java.security.InvalidKeyException.<init>:(Ljava/lang/String;)V
            athrow
        16: .line 70
      StackMap locals:
      StackMap stack: sun.security.pkcs11.wrapper.PKCS11Exception
            astore 2 /* e */
        start local 2 // sun.security.pkcs11.wrapper.PKCS11Exception e
        17: .line 71
            new java.security.InvalidKeyException
            dup
            ldc "Could not create DSA 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.P11DSAKeyFactory this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   18     0     this  Lsun/security/pkcs11/P11DSAKeyFactory;
            0   18     1      key  Ljava/security/PublicKey;
            2   10     2   dsaKey  Ljava/security/interfaces/DSAPublicKey;
            3   10     3   params  Ljava/security/interfaces/DSAParams;
           12   15     2  encoded  [B
           17   18     2        e  Lsun/security/pkcs11/wrapper/PKCS11Exception;
      Exception table:
        from    to  target  type
           0     9      16  Class sun.security.pkcs11.wrapper.PKCS11Exception
          10    14      16  Class sun.security.pkcs11.wrapper.PKCS11Exception
          15    16      16  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=5, locals=4, args_size=2
        start local 0 // sun.security.pkcs11.P11DSAKeyFactory this
        start local 1 // java.security.PrivateKey key
         0: .line 78
            aload 1 /* key */
            instanceof java.security.interfaces.DSAPrivateKey
            ifeq 10
         1: .line 79
            aload 1 /* key */
            checkcast java.security.interfaces.DSAPrivateKey
            astore 2 /* dsaKey */
        start local 2 // java.security.interfaces.DSAPrivateKey dsaKey
         2: .line 80
            aload 2 /* dsaKey */
            invokeinterface java.security.interfaces.DSAPrivateKey.getParams:()Ljava/security/interfaces/DSAParams;
            astore 3 /* params */
        start local 3 // java.security.interfaces.DSAParams params
         3: .line 81
            aload 0 /* this */
         4: .line 82
            aload 2 /* dsaKey */
            invokeinterface java.security.interfaces.DSAPrivateKey.getX:()Ljava/math/BigInteger;
         5: .line 83
            aload 3 /* params */
            invokeinterface java.security.interfaces.DSAParams.getP:()Ljava/math/BigInteger;
         6: .line 84
            aload 3 /* params */
            invokeinterface java.security.interfaces.DSAParams.getQ:()Ljava/math/BigInteger;
         7: .line 85
            aload 3 /* params */
            invokeinterface java.security.interfaces.DSAParams.getG:()Ljava/math/BigInteger;
         8: .line 81
            invokevirtual sun.security.pkcs11.P11DSAKeyFactory.generatePrivate:(Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;)Ljava/security/PrivateKey;
         9: areturn
        end local 3 // java.security.interfaces.DSAParams params
        end local 2 // java.security.interfaces.DSAPrivateKey dsaKey
        10: .line 87
      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 15
        11: .line 89
            aload 1 /* key */
            invokeinterface java.security.PrivateKey.getEncoded:()[B
            astore 2 /* encoded */
        start local 2 // byte[] encoded
        12: .line 90
            new sun.security.provider.DSAPrivateKey
            dup
            aload 2 /* encoded */
            invokespecial sun.security.provider.DSAPrivateKey.<init>:([B)V
            astore 1 /* key */
        13: .line 91
            aload 0 /* this */
            aload 1 /* key */
            invokevirtual sun.security.pkcs11.P11DSAKeyFactory.implTranslatePrivateKey:(Ljava/security/PrivateKey;)Ljava/security/PrivateKey;
        14: areturn
        end local 2 // byte[] encoded
        15: .line 93
      StackMap locals:
      StackMap stack:
            new java.security.InvalidKeyException
            dup
            ldc "PrivateKey must be instance of DSAPrivateKey or have PKCS#8 encoding"
            invokespecial java.security.InvalidKeyException.<init>:(Ljava/lang/String;)V
            athrow
        16: .line 96
      StackMap locals:
      StackMap stack: sun.security.pkcs11.wrapper.PKCS11Exception
            astore 2 /* e */
        start local 2 // sun.security.pkcs11.wrapper.PKCS11Exception e
        17: .line 97
            new java.security.InvalidKeyException
            dup
            ldc "Could not create DSA 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.P11DSAKeyFactory this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   18     0     this  Lsun/security/pkcs11/P11DSAKeyFactory;
            0   18     1      key  Ljava/security/PrivateKey;
            2   10     2   dsaKey  Ljava/security/interfaces/DSAPrivateKey;
            3   10     3   params  Ljava/security/interfaces/DSAParams;
           12   15     2  encoded  [B
           17   18     2        e  Lsun/security/pkcs11/wrapper/PKCS11Exception;
      Exception table:
        from    to  target  type
           0     9      16  Class sun.security.pkcs11.wrapper.PKCS11Exception
          10    14      16  Class sun.security.pkcs11.wrapper.PKCS11Exception
          15    16      16  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=5, locals=4, args_size=2
        start local 0 // sun.security.pkcs11.P11DSAKeyFactory this
        start local 1 // java.security.spec.KeySpec keySpec
         0: .line 104
            aload 0 /* this */
            getfield sun.security.pkcs11.P11DSAKeyFactory.token:Lsun/security/pkcs11/Token;
            invokevirtual sun.security.pkcs11.Token.ensureValid:()V
         1: .line 105
            aload 1 /* keySpec */
            instanceof java.security.spec.X509EncodedKeySpec
            ifeq 10
         2: .line 107
            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 108
            new sun.security.provider.DSAPublicKey
            dup
            aload 2 /* encoded */
            invokespecial sun.security.provider.DSAPublicKey.<init>:([B)V
            astore 3 /* key */
        start local 3 // java.security.PublicKey key
         4: .line 109
            aload 0 /* this */
            aload 3 /* key */
            invokevirtual sun.security.pkcs11.P11DSAKeyFactory.implTranslatePublicKey:(Ljava/security/PublicKey;)Ljava/security/PublicKey;
         5: areturn
        end local 3 // java.security.PublicKey key
        end local 2 // byte[] encoded
         6: .line 110
      StackMap locals:
      StackMap stack: java.security.InvalidKeyException
            astore 2 /* e */
        start local 2 // java.security.InvalidKeyException e
         7: .line 111
            new java.security.spec.InvalidKeySpecException
            dup
         8: .line 112
            ldc "Could not create DSA public key"
            aload 2 /* e */
         9: .line 111
            invokespecial java.security.spec.InvalidKeySpecException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 2 // java.security.InvalidKeyException e
        10: .line 115
      StackMap locals:
      StackMap stack:
            aload 1 /* keySpec */
            instanceof java.security.spec.DSAPublicKeySpec
            ifne 12
        11: .line 116
            new java.security.spec.InvalidKeySpecException
            dup
            ldc "Only DSAPublicKeySpec and X509EncodedKeySpec supported for DSA public keys"
            invokespecial java.security.spec.InvalidKeySpecException.<init>:(Ljava/lang/String;)V
            athrow
        12: .line 120
      StackMap locals:
      StackMap stack:
            aload 1 /* keySpec */
            checkcast java.security.spec.DSAPublicKeySpec
            astore 2 /* ds */
        start local 2 // java.security.spec.DSAPublicKeySpec ds
        13: .line 121
            aload 0 /* this */
        14: .line 122
            aload 2 /* ds */
            invokevirtual java.security.spec.DSAPublicKeySpec.getY:()Ljava/math/BigInteger;
        15: .line 123
            aload 2 /* ds */
            invokevirtual java.security.spec.DSAPublicKeySpec.getP:()Ljava/math/BigInteger;
        16: .line 124
            aload 2 /* ds */
            invokevirtual java.security.spec.DSAPublicKeySpec.getQ:()Ljava/math/BigInteger;
        17: .line 125
            aload 2 /* ds */
            invokevirtual java.security.spec.DSAPublicKeySpec.getG:()Ljava/math/BigInteger;
        18: .line 121
            invokevirtual sun.security.pkcs11.P11DSAKeyFactory.generatePublic:(Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;)Ljava/security/PublicKey;
        19: areturn
        end local 2 // java.security.spec.DSAPublicKeySpec ds
        20: .line 127
      StackMap locals:
      StackMap stack: sun.security.pkcs11.wrapper.PKCS11Exception
            astore 2 /* e */
        start local 2 // sun.security.pkcs11.wrapper.PKCS11Exception e
        21: .line 128
            new java.security.spec.InvalidKeySpecException
            dup
        22: .line 129
            ldc "Could not create DSA public key"
            aload 2 /* e */
        23: .line 128
            invokespecial java.security.spec.InvalidKeySpecException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 2 // sun.security.pkcs11.wrapper.PKCS11Exception e
        end local 1 // java.security.spec.KeySpec keySpec
        end local 0 // sun.security.pkcs11.P11DSAKeyFactory this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   24     0     this  Lsun/security/pkcs11/P11DSAKeyFactory;
            0   24     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   20     2       ds  Ljava/security/spec/DSAPublicKeySpec;
           21   24     2        e  Lsun/security/pkcs11/wrapper/PKCS11Exception;
      Exception table:
        from    to  target  type
           2     5       6  Class java.security.InvalidKeyException
          12    19      20  Class sun.security.pkcs11.wrapper.PKCS11Exception
    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=5, locals=4, args_size=2
        start local 0 // sun.security.pkcs11.P11DSAKeyFactory this
        start local 1 // java.security.spec.KeySpec keySpec
         0: .line 136
            aload 0 /* this */
            getfield sun.security.pkcs11.P11DSAKeyFactory.token:Lsun/security/pkcs11/Token;
            invokevirtual sun.security.pkcs11.Token.ensureValid:()V
         1: .line 137
            aload 1 /* keySpec */
            instanceof java.security.spec.PKCS8EncodedKeySpec
            ifeq 10
         2: .line 139
            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 140
            new sun.security.provider.DSAPrivateKey
            dup
            aload 2 /* encoded */
            invokespecial sun.security.provider.DSAPrivateKey.<init>:([B)V
            astore 3 /* key */
        start local 3 // java.security.PrivateKey key
         4: .line 141
            aload 0 /* this */
            aload 3 /* key */
            invokevirtual sun.security.pkcs11.P11DSAKeyFactory.implTranslatePrivateKey:(Ljava/security/PrivateKey;)Ljava/security/PrivateKey;
         5: areturn
        end local 3 // java.security.PrivateKey key
        end local 2 // byte[] encoded
         6: .line 142
      StackMap locals:
      StackMap stack: java.security.GeneralSecurityException
            astore 2 /* e */
        start local 2 // java.security.GeneralSecurityException e
         7: .line 143
            new java.security.spec.InvalidKeySpecException
            dup
         8: .line 144
            ldc "Could not create DSA private key"
            aload 2 /* e */
         9: .line 143
            invokespecial java.security.spec.InvalidKeySpecException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 2 // java.security.GeneralSecurityException e
        10: .line 147
      StackMap locals:
      StackMap stack:
            aload 1 /* keySpec */
            instanceof java.security.spec.DSAPrivateKeySpec
            ifne 12
        11: .line 148
            new java.security.spec.InvalidKeySpecException
            dup
            ldc "Only DSAPrivateKeySpec and PKCS8EncodedKeySpec supported for DSA private keys"
            invokespecial java.security.spec.InvalidKeySpecException.<init>:(Ljava/lang/String;)V
            athrow
        12: .line 152
      StackMap locals:
      StackMap stack:
            aload 1 /* keySpec */
            checkcast java.security.spec.DSAPrivateKeySpec
            astore 2 /* ds */
        start local 2 // java.security.spec.DSAPrivateKeySpec ds
        13: .line 153
            aload 0 /* this */
        14: .line 154
            aload 2 /* ds */
            invokevirtual java.security.spec.DSAPrivateKeySpec.getX:()Ljava/math/BigInteger;
        15: .line 155
            aload 2 /* ds */
            invokevirtual java.security.spec.DSAPrivateKeySpec.getP:()Ljava/math/BigInteger;
        16: .line 156
            aload 2 /* ds */
            invokevirtual java.security.spec.DSAPrivateKeySpec.getQ:()Ljava/math/BigInteger;
        17: .line 157
            aload 2 /* ds */
            invokevirtual java.security.spec.DSAPrivateKeySpec.getG:()Ljava/math/BigInteger;
        18: .line 153
            invokevirtual sun.security.pkcs11.P11DSAKeyFactory.generatePrivate:(Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;)Ljava/security/PrivateKey;
        19: areturn
        end local 2 // java.security.spec.DSAPrivateKeySpec ds
        20: .line 159
      StackMap locals:
      StackMap stack: sun.security.pkcs11.wrapper.PKCS11Exception
            astore 2 /* e */
        start local 2 // sun.security.pkcs11.wrapper.PKCS11Exception e
        21: .line 160
            new java.security.spec.InvalidKeySpecException
            dup
        22: .line 161
            ldc "Could not create DSA private key"
            aload 2 /* e */
        23: .line 160
            invokespecial java.security.spec.InvalidKeySpecException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 2 // sun.security.pkcs11.wrapper.PKCS11Exception e
        end local 1 // java.security.spec.KeySpec keySpec
        end local 0 // sun.security.pkcs11.P11DSAKeyFactory this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   24     0     this  Lsun/security/pkcs11/P11DSAKeyFactory;
            0   24     1  keySpec  Ljava/security/spec/KeySpec;
            3    6     2  encoded  [B
            4    6     3      key  Ljava/security/PrivateKey;
            7   10     2        e  Ljava/security/GeneralSecurityException;
           13   20     2       ds  Ljava/security/spec/DSAPrivateKeySpec;
           21   24     2        e  Lsun/security/pkcs11/wrapper/PKCS11Exception;
      Exception table:
        from    to  target  type
           2     5       6  Class java.security.GeneralSecurityException
          12    19      20  Class sun.security.pkcs11.wrapper.PKCS11Exception
    Exceptions:
      throws java.security.spec.InvalidKeySpecException
    MethodParameters:
         Name  Flags
      keySpec  

  private java.security.PublicKey generatePublic(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/security/PublicKey;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=9, locals=11, args_size=5
        start local 0 // sun.security.pkcs11.P11DSAKeyFactory this
        start local 1 // java.math.BigInteger y
        start local 2 // java.math.BigInteger p
        start local 3 // java.math.BigInteger q
        start local 4 // java.math.BigInteger g
         0: .line 167
            bipush 6
            anewarray sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            iconst_0
         1: .line 168
            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
         2: .line 169
            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_2
         3: .line 170
            new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            ldc 17
            aload 1 /* y */
            invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JLjava/math/BigInteger;)V
            aastore
            dup
            iconst_3
         4: .line 171
            new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            ldc 304
            aload 2 /* p */
            invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JLjava/math/BigInteger;)V
            aastore
            dup
            iconst_4
         5: .line 172
            new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            ldc 305
            aload 3 /* q */
            invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JLjava/math/BigInteger;)V
            aastore
            dup
            iconst_5
         6: .line 173
            new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            ldc 306
            aload 4 /* g */
            invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JLjava/math/BigInteger;)V
            aastore
         7: .line 167
            astore 5 /* attributes */
        start local 5 // sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] attributes
         8: .line 175
            aload 0 /* this */
            getfield sun.security.pkcs11.P11DSAKeyFactory.token:Lsun/security/pkcs11/Token;
         9: .line 176
            ldc "import"
            ldc 2
            lconst_1
            aload 5 /* attributes */
        10: .line 175
            invokevirtual sun.security.pkcs11.Token.getAttributes:(Ljava/lang/String;JJ[Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;)[Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            astore 5 /* attributes */
        11: .line 177
            aconst_null
            astore 6 /* session */
        start local 6 // sun.security.pkcs11.Session session
        12: .line 179
            aload 0 /* this */
            getfield sun.security.pkcs11.P11DSAKeyFactory.token:Lsun/security/pkcs11/Token;
            invokevirtual sun.security.pkcs11.Token.getObjSession:()Lsun/security/pkcs11/Session;
            astore 6 /* session */
        13: .line 180
            aload 0 /* this */
            getfield sun.security.pkcs11.P11DSAKeyFactory.token:Lsun/security/pkcs11/Token;
            getfield sun.security.pkcs11.Token.p11:Lsun/security/pkcs11/wrapper/PKCS11;
            aload 6 /* session */
            invokevirtual sun.security.pkcs11.Session.id:()J
            aload 5 /* attributes */
            invokevirtual sun.security.pkcs11.wrapper.PKCS11.C_CreateObject:(J[Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;)J
            lstore 7 /* keyID */
        start local 7 // long keyID
        14: .line 182
            aload 6 /* session */
            lload 7 /* keyID */
            ldc "DSA"
            aload 2 /* p */
            invokevirtual java.math.BigInteger.bitLength:()I
            aload 5 /* attributes */
        15: .line 181
            invokestatic sun.security.pkcs11.P11Key.publicKey:(Lsun/security/pkcs11/Session;JLjava/lang/String;I[Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;)Ljava/security/PublicKey;
            astore 10
        16: .line 184
            aload 0 /* this */
            getfield sun.security.pkcs11.P11DSAKeyFactory.token:Lsun/security/pkcs11/Token;
            aload 6 /* session */
            invokevirtual sun.security.pkcs11.Token.releaseSession:(Lsun/security/pkcs11/Session;)Lsun/security/pkcs11/Session;
            pop
        17: .line 181
            aload 10
            areturn
        end local 7 // long keyID
        18: .line 183
      StackMap locals: sun.security.pkcs11.P11DSAKeyFactory 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 9
        19: .line 184
            aload 0 /* this */
            getfield sun.security.pkcs11.P11DSAKeyFactory.token:Lsun/security/pkcs11/Token;
            aload 6 /* session */
            invokevirtual sun.security.pkcs11.Token.releaseSession:(Lsun/security/pkcs11/Session;)Lsun/security/pkcs11/Session;
            pop
        20: .line 185
            aload 9
            athrow
        end local 6 // sun.security.pkcs11.Session session
        end local 5 // sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] attributes
        end local 4 // java.math.BigInteger g
        end local 3 // java.math.BigInteger q
        end local 2 // java.math.BigInteger p
        end local 1 // java.math.BigInteger y
        end local 0 // sun.security.pkcs11.P11DSAKeyFactory this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   21     0        this  Lsun/security/pkcs11/P11DSAKeyFactory;
            0   21     1           y  Ljava/math/BigInteger;
            0   21     2           p  Ljava/math/BigInteger;
            0   21     3           q  Ljava/math/BigInteger;
            0   21     4           g  Ljava/math/BigInteger;
            8   21     5  attributes  [Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
           12   21     6     session  Lsun/security/pkcs11/Session;
           14   18     7       keyID  J
      Exception table:
        from    to  target  type
          12    16      18  any
    Exceptions:
      throws sun.security.pkcs11.wrapper.PKCS11Exception
    MethodParameters:
      Name  Flags
      y     
      p     
      q     
      g     

  private java.security.PrivateKey generatePrivate(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/security/PrivateKey;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=9, locals=11, args_size=5
        start local 0 // sun.security.pkcs11.P11DSAKeyFactory this
        start local 1 // java.math.BigInteger x
        start local 2 // java.math.BigInteger p
        start local 3 // java.math.BigInteger q
        start local 4 // java.math.BigInteger g
         0: .line 190
            bipush 6
            anewarray sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            iconst_0
         1: .line 191
            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
         2: .line 192
            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_2
         3: .line 193
            new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            ldc 17
            aload 1 /* x */
            invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JLjava/math/BigInteger;)V
            aastore
            dup
            iconst_3
         4: .line 194
            new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            ldc 304
            aload 2 /* p */
            invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JLjava/math/BigInteger;)V
            aastore
            dup
            iconst_4
         5: .line 195
            new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            ldc 305
            aload 3 /* q */
            invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JLjava/math/BigInteger;)V
            aastore
            dup
            iconst_5
         6: .line 196
            new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            ldc 306
            aload 4 /* g */
            invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(JLjava/math/BigInteger;)V
            aastore
         7: .line 190
            astore 5 /* attributes */
        start local 5 // sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] attributes
         8: .line 198
            aload 0 /* this */
            getfield sun.security.pkcs11.P11DSAKeyFactory.token:Lsun/security/pkcs11/Token;
         9: .line 199
            ldc "import"
            ldc 3
            lconst_1
            aload 5 /* attributes */
        10: .line 198
            invokevirtual sun.security.pkcs11.Token.getAttributes:(Ljava/lang/String;JJ[Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;)[Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            astore 5 /* attributes */
        11: .line 200
            aconst_null
            astore 6 /* session */
        start local 6 // sun.security.pkcs11.Session session
        12: .line 202
            aload 0 /* this */
            getfield sun.security.pkcs11.P11DSAKeyFactory.token:Lsun/security/pkcs11/Token;
            invokevirtual sun.security.pkcs11.Token.getObjSession:()Lsun/security/pkcs11/Session;
            astore 6 /* session */
        13: .line 203
            aload 0 /* this */
            getfield sun.security.pkcs11.P11DSAKeyFactory.token:Lsun/security/pkcs11/Token;
            getfield sun.security.pkcs11.Token.p11:Lsun/security/pkcs11/wrapper/PKCS11;
            aload 6 /* session */
            invokevirtual sun.security.pkcs11.Session.id:()J
            aload 5 /* attributes */
            invokevirtual sun.security.pkcs11.wrapper.PKCS11.C_CreateObject:(J[Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;)J
            lstore 7 /* keyID */
        start local 7 // long keyID
        14: .line 205
            aload 6 /* session */
            lload 7 /* keyID */
            ldc "DSA"
            aload 2 /* p */
            invokevirtual java.math.BigInteger.bitLength:()I
            aload 5 /* attributes */
        15: .line 204
            invokestatic sun.security.pkcs11.P11Key.privateKey:(Lsun/security/pkcs11/Session;JLjava/lang/String;I[Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;)Ljava/security/PrivateKey;
            astore 10
        16: .line 207
            aload 0 /* this */
            getfield sun.security.pkcs11.P11DSAKeyFactory.token:Lsun/security/pkcs11/Token;
            aload 6 /* session */
            invokevirtual sun.security.pkcs11.Token.releaseSession:(Lsun/security/pkcs11/Session;)Lsun/security/pkcs11/Session;
            pop
        17: .line 204
            aload 10
            areturn
        end local 7 // long keyID
        18: .line 206
      StackMap locals: sun.security.pkcs11.P11DSAKeyFactory 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 9
        19: .line 207
            aload 0 /* this */
            getfield sun.security.pkcs11.P11DSAKeyFactory.token:Lsun/security/pkcs11/Token;
            aload 6 /* session */
            invokevirtual sun.security.pkcs11.Token.releaseSession:(Lsun/security/pkcs11/Session;)Lsun/security/pkcs11/Session;
            pop
        20: .line 208
            aload 9
            athrow
        end local 6 // sun.security.pkcs11.Session session
        end local 5 // sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] attributes
        end local 4 // java.math.BigInteger g
        end local 3 // java.math.BigInteger q
        end local 2 // java.math.BigInteger p
        end local 1 // java.math.BigInteger x
        end local 0 // sun.security.pkcs11.P11DSAKeyFactory this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   21     0        this  Lsun/security/pkcs11/P11DSAKeyFactory;
            0   21     1           x  Ljava/math/BigInteger;
            0   21     2           p  Ljava/math/BigInteger;
            0   21     3           q  Ljava/math/BigInteger;
            0   21     4           g  Ljava/math/BigInteger;
            8   21     5  attributes  [Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
           12   21     6     session  Lsun/security/pkcs11/Session;
           14   18     7       keyID  J
      Exception table:
        from    to  target  type
          12    16      18  any
    Exceptions:
      throws sun.security.pkcs11.wrapper.PKCS11Exception
    MethodParameters:
      Name  Flags
      x     
      p     
      q     
      g     

  <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.P11DSAKeyFactory 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 213
            ldc Ljava/security/spec/DSAPublicKeySpec;
            aload 2 /* keySpec */
            invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
            ifeq 22
         1: .line 214
            aload 3 /* session */
            iconst_0
            aload 0 /* this */
            getfield sun.security.pkcs11.P11DSAKeyFactory.token:Lsun/security/pkcs11/Token;
            invokevirtual sun.security.pkcs11.Token.getObjSession:()Lsun/security/pkcs11/Session;
            aastore
         2: .line 215
            iconst_4
            anewarray sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            iconst_0
         3: .line 216
            new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            ldc 17
            invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(J)V
            aastore
            dup
            iconst_1
         4: .line 217
            new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            ldc 304
            invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(J)V
            aastore
            dup
            iconst_2
         5: .line 218
            new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            ldc 305
            invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(J)V
            aastore
            dup
            iconst_3
         6: .line 219
            new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            ldc 306
            invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(J)V
            aastore
         7: .line 215
            astore 4 /* attributes */
        start local 4 // sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] attributes
         8: .line 221
            aload 1 /* key */
            invokevirtual sun.security.pkcs11.P11Key.getKeyID:()J
            lstore 5 /* keyID */
        start local 5 // long keyID
         9: .line 223
            aload 0 /* this */
            getfield sun.security.pkcs11.P11DSAKeyFactory.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
        10: .line 224
            goto 14
      StackMap locals: sun.security.pkcs11.P11DSAKeyFactory sun.security.pkcs11.P11Key java.lang.Class sun.security.pkcs11.Session[] sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] long
      StackMap stack: java.lang.Throwable
        11: astore 7
        12: .line 225
            aload 1 /* key */
            invokevirtual sun.security.pkcs11.P11Key.releaseKeyID:()V
        13: .line 226
            aload 7
            athrow
        14: .line 225
      StackMap locals:
      StackMap stack:
            aload 1 /* key */
            invokevirtual sun.security.pkcs11.P11Key.releaseKeyID:()V
        15: .line 227
            new java.security.spec.DSAPublicKeySpec
            dup
        16: .line 228
            aload 4 /* attributes */
            iconst_0
            aaload
            invokevirtual sun.security.pkcs11.wrapper.CK_ATTRIBUTE.getBigInteger:()Ljava/math/BigInteger;
        17: .line 229
            aload 4 /* attributes */
            iconst_1
            aaload
            invokevirtual sun.security.pkcs11.wrapper.CK_ATTRIBUTE.getBigInteger:()Ljava/math/BigInteger;
        18: .line 230
            aload 4 /* attributes */
            iconst_2
            aaload
            invokevirtual sun.security.pkcs11.wrapper.CK_ATTRIBUTE.getBigInteger:()Ljava/math/BigInteger;
        19: .line 231
            aload 4 /* attributes */
            iconst_3
            aaload
            invokevirtual sun.security.pkcs11.wrapper.CK_ATTRIBUTE.getBigInteger:()Ljava/math/BigInteger;
        20: .line 227
            invokespecial java.security.spec.DSAPublicKeySpec.<init>:(Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;)V
            astore 7 /* spec */
        start local 7 // java.security.spec.KeySpec spec
        21: .line 233
            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
        22: .line 235
      StackMap locals:
      StackMap stack:
            new java.security.spec.InvalidKeySpecException
            dup
            ldc "Only DSAPublicKeySpec and X509EncodedKeySpec supported for DSA 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.P11DSAKeyFactory this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   23     0        this  Lsun/security/pkcs11/P11DSAKeyFactory;
            0   23     1         key  Lsun/security/pkcs11/P11Key;
            0   23     2     keySpec  Ljava/lang/Class<TT;>;
            0   23     3     session  [Lsun/security/pkcs11/Session;
            8   22     4  attributes  [Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            9   22     5       keyID  J
           21   22     7        spec  Ljava/security/spec/KeySpec;
      Exception table:
        from    to  target  type
           9    11      11  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=7, locals=8, args_size=4
        start local 0 // sun.security.pkcs11.P11DSAKeyFactory 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 242
            ldc Ljava/security/spec/DSAPrivateKeySpec;
            aload 2 /* keySpec */
            invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
            ifeq 22
         1: .line 243
            aload 3 /* session */
            iconst_0
            aload 0 /* this */
            getfield sun.security.pkcs11.P11DSAKeyFactory.token:Lsun/security/pkcs11/Token;
            invokevirtual sun.security.pkcs11.Token.getObjSession:()Lsun/security/pkcs11/Session;
            aastore
         2: .line 244
            iconst_4
            anewarray sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            iconst_0
         3: .line 245
            new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            ldc 17
            invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(J)V
            aastore
            dup
            iconst_1
         4: .line 246
            new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            ldc 304
            invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(J)V
            aastore
            dup
            iconst_2
         5: .line 247
            new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            ldc 305
            invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(J)V
            aastore
            dup
            iconst_3
         6: .line 248
            new sun.security.pkcs11.wrapper.CK_ATTRIBUTE
            dup
            ldc 306
            invokespecial sun.security.pkcs11.wrapper.CK_ATTRIBUTE.<init>:(J)V
            aastore
         7: .line 244
            astore 4 /* attributes */
        start local 4 // sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] attributes
         8: .line 250
            aload 1 /* key */
            invokevirtual sun.security.pkcs11.P11Key.getKeyID:()J
            lstore 5 /* keyID */
        start local 5 // long keyID
         9: .line 252
            aload 0 /* this */
            getfield sun.security.pkcs11.P11DSAKeyFactory.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
        10: .line 253
            goto 14
      StackMap locals: sun.security.pkcs11.P11DSAKeyFactory sun.security.pkcs11.P11Key java.lang.Class sun.security.pkcs11.Session[] sun.security.pkcs11.wrapper.CK_ATTRIBUTE[] long
      StackMap stack: java.lang.Throwable
        11: astore 7
        12: .line 254
            aload 1 /* key */
            invokevirtual sun.security.pkcs11.P11Key.releaseKeyID:()V
        13: .line 255
            aload 7
            athrow
        14: .line 254
      StackMap locals:
      StackMap stack:
            aload 1 /* key */
            invokevirtual sun.security.pkcs11.P11Key.releaseKeyID:()V
        15: .line 256
            new java.security.spec.DSAPrivateKeySpec
            dup
        16: .line 257
            aload 4 /* attributes */
            iconst_0
            aaload
            invokevirtual sun.security.pkcs11.wrapper.CK_ATTRIBUTE.getBigInteger:()Ljava/math/BigInteger;
        17: .line 258
            aload 4 /* attributes */
            iconst_1
            aaload
            invokevirtual sun.security.pkcs11.wrapper.CK_ATTRIBUTE.getBigInteger:()Ljava/math/BigInteger;
        18: .line 259
            aload 4 /* attributes */
            iconst_2
            aaload
            invokevirtual sun.security.pkcs11.wrapper.CK_ATTRIBUTE.getBigInteger:()Ljava/math/BigInteger;
        19: .line 260
            aload 4 /* attributes */
            iconst_3
            aaload
            invokevirtual sun.security.pkcs11.wrapper.CK_ATTRIBUTE.getBigInteger:()Ljava/math/BigInteger;
        20: .line 256
            invokespecial java.security.spec.DSAPrivateKeySpec.<init>:(Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;)V
            astore 7 /* spec */
        start local 7 // java.security.spec.KeySpec spec
        21: .line 262
            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
        22: .line 264
      StackMap locals:
      StackMap stack:
            new java.security.spec.InvalidKeySpecException
            dup
            ldc "Only DSAPrivateKeySpec and PKCS8EncodedKeySpec supported for DSA 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.P11DSAKeyFactory this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   23     0        this  Lsun/security/pkcs11/P11DSAKeyFactory;
            0   23     1         key  Lsun/security/pkcs11/P11Key;
            0   23     2     keySpec  Ljava/lang/Class<TT;>;
            0   23     3     session  [Lsun/security/pkcs11/Session;
            8   22     4  attributes  [Lsun/security/pkcs11/wrapper/CK_ATTRIBUTE;
            9   22     5       keyID  J
           21   22     7        spec  Ljava/security/spec/KeySpec;
      Exception table:
        from    to  target  type
           9    11      11  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.P11DSAKeyFactory this
         0: .line 270
            ldc "DSA"
            invokestatic sun.security.pkcs11.P11Util.getSunProvider:()Ljava/security/Provider;
            invokestatic java.security.KeyFactory.getInstance:(Ljava/lang/String;Ljava/security/Provider;)Ljava/security/KeyFactory;
            areturn
        end local 0 // sun.security.pkcs11.P11DSAKeyFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/security/pkcs11/P11DSAKeyFactory;
    Exceptions:
      throws java.security.GeneralSecurityException
}
SourceFile: "P11DSAKeyFactory.java"