public class sun.security.provider.DSAKeyFactory extends java.security.KeyFactorySpi
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: sun.security.provider.DSAKeyFactory
  super_class: java.security.KeyFactorySpi
{
  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.security.provider.DSAKeyFactory this
         0: .line 50
            aload 0 /* this */
            invokespecial java.security.KeyFactorySpi.<init>:()V
            return
        end local 0 // sun.security.provider.DSAKeyFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/security/provider/DSAKeyFactory;

  protected java.security.PublicKey engineGeneratePublic(java.security.spec.KeySpec);
    descriptor: (Ljava/security/spec/KeySpec;)Ljava/security/PublicKey;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=6, locals=3, args_size=2
        start local 0 // sun.security.provider.DSAKeyFactory this
        start local 1 // java.security.spec.KeySpec keySpec
         0: .line 65
            aload 1 /* keySpec */
            instanceof java.security.spec.DSAPublicKeySpec
            ifeq 8
         1: .line 66
            aload 1 /* keySpec */
            checkcast java.security.spec.DSAPublicKeySpec
            astore 2 /* dsaPubKeySpec */
        start local 2 // java.security.spec.DSAPublicKeySpec dsaPubKeySpec
         2: .line 67
            new sun.security.provider.DSAPublicKeyImpl
            dup
            aload 2 /* dsaPubKeySpec */
            invokevirtual java.security.spec.DSAPublicKeySpec.getY:()Ljava/math/BigInteger;
         3: .line 68
            aload 2 /* dsaPubKeySpec */
            invokevirtual java.security.spec.DSAPublicKeySpec.getP:()Ljava/math/BigInteger;
         4: .line 69
            aload 2 /* dsaPubKeySpec */
            invokevirtual java.security.spec.DSAPublicKeySpec.getQ:()Ljava/math/BigInteger;
         5: .line 70
            aload 2 /* dsaPubKeySpec */
            invokevirtual java.security.spec.DSAPublicKeySpec.getG:()Ljava/math/BigInteger;
         6: .line 67
            invokespecial sun.security.provider.DSAPublicKeyImpl.<init>:(Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;)V
         7: areturn
        end local 2 // java.security.spec.DSAPublicKeySpec dsaPubKeySpec
         8: .line 71
      StackMap locals:
      StackMap stack:
            aload 1 /* keySpec */
            instanceof java.security.spec.X509EncodedKeySpec
            ifeq 13
         9: .line 72
            new sun.security.provider.DSAPublicKeyImpl
            dup
        10: .line 73
            aload 1 /* keySpec */
            checkcast java.security.spec.X509EncodedKeySpec
            invokevirtual java.security.spec.X509EncodedKeySpec.getEncoded:()[B
        11: .line 72
            invokespecial sun.security.provider.DSAPublicKeyImpl.<init>:([B)V
        12: areturn
        13: .line 75
      StackMap locals:
      StackMap stack:
            new java.security.spec.InvalidKeySpecException
            dup
        14: .line 76
            ldc "Inappropriate key specification"
        15: .line 75
            invokespecial java.security.spec.InvalidKeySpecException.<init>:(Ljava/lang/String;)V
            athrow
        16: .line 78
      StackMap locals:
      StackMap stack: java.security.InvalidKeyException
            astore 2 /* e */
        start local 2 // java.security.InvalidKeyException e
        17: .line 79
            new java.security.spec.InvalidKeySpecException
            dup
        18: .line 80
            new java.lang.StringBuilder
            dup
            ldc "Inappropriate key specification: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* e */
            invokevirtual java.security.InvalidKeyException.getMessage:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        19: .line 79
            invokespecial java.security.spec.InvalidKeySpecException.<init>:(Ljava/lang/String;)V
            athrow
        end local 2 // java.security.InvalidKeyException e
        end local 1 // java.security.spec.KeySpec keySpec
        end local 0 // sun.security.provider.DSAKeyFactory this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   20     0           this  Lsun/security/provider/DSAKeyFactory;
            0   20     1        keySpec  Ljava/security/spec/KeySpec;
            2    8     2  dsaPubKeySpec  Ljava/security/spec/DSAPublicKeySpec;
           17   20     2              e  Ljava/security/InvalidKeyException;
      Exception table:
        from    to  target  type
           0     7      16  Class java.security.InvalidKeyException
           8    12      16  Class java.security.InvalidKeyException
          13    16      16  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=6, locals=3, args_size=2
        start local 0 // sun.security.provider.DSAKeyFactory this
        start local 1 // java.security.spec.KeySpec keySpec
         0: .line 98
            aload 1 /* keySpec */
            instanceof java.security.spec.DSAPrivateKeySpec
            ifeq 8
         1: .line 99
            aload 1 /* keySpec */
            checkcast java.security.spec.DSAPrivateKeySpec
            astore 2 /* dsaPrivKeySpec */
        start local 2 // java.security.spec.DSAPrivateKeySpec dsaPrivKeySpec
         2: .line 100
            new sun.security.provider.DSAPrivateKey
            dup
            aload 2 /* dsaPrivKeySpec */
            invokevirtual java.security.spec.DSAPrivateKeySpec.getX:()Ljava/math/BigInteger;
         3: .line 101
            aload 2 /* dsaPrivKeySpec */
            invokevirtual java.security.spec.DSAPrivateKeySpec.getP:()Ljava/math/BigInteger;
         4: .line 102
            aload 2 /* dsaPrivKeySpec */
            invokevirtual java.security.spec.DSAPrivateKeySpec.getQ:()Ljava/math/BigInteger;
         5: .line 103
            aload 2 /* dsaPrivKeySpec */
            invokevirtual java.security.spec.DSAPrivateKeySpec.getG:()Ljava/math/BigInteger;
         6: .line 100
            invokespecial sun.security.provider.DSAPrivateKey.<init>:(Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;)V
         7: areturn
        end local 2 // java.security.spec.DSAPrivateKeySpec dsaPrivKeySpec
         8: .line 105
      StackMap locals:
      StackMap stack:
            aload 1 /* keySpec */
            instanceof java.security.spec.PKCS8EncodedKeySpec
            ifeq 13
         9: .line 106
            new sun.security.provider.DSAPrivateKey
            dup
        10: .line 107
            aload 1 /* keySpec */
            checkcast java.security.spec.PKCS8EncodedKeySpec
            invokevirtual java.security.spec.PKCS8EncodedKeySpec.getEncoded:()[B
        11: .line 106
            invokespecial sun.security.provider.DSAPrivateKey.<init>:([B)V
        12: areturn
        13: .line 110
      StackMap locals:
      StackMap stack:
            new java.security.spec.InvalidKeySpecException
            dup
        14: .line 111
            ldc "Inappropriate key specification"
        15: .line 110
            invokespecial java.security.spec.InvalidKeySpecException.<init>:(Ljava/lang/String;)V
            athrow
        16: .line 113
      StackMap locals:
      StackMap stack: java.security.InvalidKeyException
            astore 2 /* e */
        start local 2 // java.security.InvalidKeyException e
        17: .line 114
            new java.security.spec.InvalidKeySpecException
            dup
        18: .line 115
            new java.lang.StringBuilder
            dup
            ldc "Inappropriate key specification: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* e */
            invokevirtual java.security.InvalidKeyException.getMessage:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        19: .line 114
            invokespecial java.security.spec.InvalidKeySpecException.<init>:(Ljava/lang/String;)V
            athrow
        end local 2 // java.security.InvalidKeyException e
        end local 1 // java.security.spec.KeySpec keySpec
        end local 0 // sun.security.provider.DSAKeyFactory this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   20     0            this  Lsun/security/provider/DSAKeyFactory;
            0   20     1         keySpec  Ljava/security/spec/KeySpec;
            2    8     2  dsaPrivKeySpec  Ljava/security/spec/DSAPrivateKeySpec;
           17   20     2               e  Ljava/security/InvalidKeyException;
      Exception table:
        from    to  target  type
           0     7      16  Class java.security.InvalidKeyException
           8    12      16  Class java.security.InvalidKeyException
          13    16      16  Class java.security.InvalidKeyException
    Exceptions:
      throws java.security.spec.InvalidKeySpecException
    MethodParameters:
         Name  Flags
      keySpec  

  protected <T extends java.security.spec.KeySpec> T engineGetKeySpec(java.security.Key, java.lang.Class<T>);
    descriptor: (Ljava/security/Key;Ljava/lang/Class;)Ljava/security/spec/KeySpec;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=7, locals=7, args_size=3
        start local 0 // sun.security.provider.DSAKeyFactory this
        start local 1 // java.security.Key key
        start local 2 // java.lang.Class keySpec
         0: .line 143
            aload 1 /* key */
            instanceof java.security.interfaces.DSAPublicKey
            ifeq 21
         1: .line 147
            ldc "java.security.spec.DSAPublicKeySpec"
         2: .line 146
            invokestatic java.lang.Class.forName:(Ljava/lang/String;)Ljava/lang/Class;
            astore 4 /* dsaPubKeySpec */
        start local 4 // java.lang.Class dsaPubKeySpec
         3: .line 149
            ldc "java.security.spec.X509EncodedKeySpec"
         4: .line 148
            invokestatic java.lang.Class.forName:(Ljava/lang/String;)Ljava/lang/Class;
            astore 5 /* x509KeySpec */
        start local 5 // java.lang.Class x509KeySpec
         5: .line 151
            aload 4 /* dsaPubKeySpec */
            aload 2 /* keySpec */
            invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
            ifeq 15
         6: .line 153
            aload 1 /* key */
            checkcast java.security.interfaces.DSAPublicKey
         7: .line 152
            astore 6 /* dsaPubKey */
        start local 6 // java.security.interfaces.DSAPublicKey dsaPubKey
         8: .line 154
            aload 6 /* dsaPubKey */
            invokeinterface java.security.interfaces.DSAPublicKey.getParams:()Ljava/security/interfaces/DSAParams;
            astore 3 /* params */
        start local 3 // java.security.interfaces.DSAParams params
         9: .line 155
            aload 2 /* keySpec */
            new java.security.spec.DSAPublicKeySpec
            dup
            aload 6 /* dsaPubKey */
            invokeinterface java.security.interfaces.DSAPublicKey.getY:()Ljava/math/BigInteger;
        10: .line 156
            aload 3 /* params */
            invokeinterface java.security.interfaces.DSAParams.getP:()Ljava/math/BigInteger;
        11: .line 157
            aload 3 /* params */
            invokeinterface java.security.interfaces.DSAParams.getQ:()Ljava/math/BigInteger;
        12: .line 158
            aload 3 /* params */
            invokeinterface java.security.interfaces.DSAParams.getG:()Ljava/math/BigInteger;
            invokespecial java.security.spec.DSAPublicKeySpec.<init>:(Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;)V
        13: .line 155
            invokevirtual java.lang.Class.cast:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.security.spec.KeySpec
        14: areturn
        end local 6 // java.security.interfaces.DSAPublicKey dsaPubKey
        end local 3 // java.security.interfaces.DSAParams params
        15: .line 160
      StackMap locals: sun.security.provider.DSAKeyFactory java.security.Key java.lang.Class top java.lang.Class java.lang.Class
      StackMap stack:
            aload 5 /* x509KeySpec */
            aload 2 /* keySpec */
            invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
            ifeq 18
        16: .line 161
            aload 2 /* keySpec */
            new java.security.spec.X509EncodedKeySpec
            dup
            aload 1 /* key */
            invokeinterface java.security.Key.getEncoded:()[B
            invokespecial java.security.spec.X509EncodedKeySpec.<init>:([B)V
            invokevirtual java.lang.Class.cast:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.security.spec.KeySpec
        17: areturn
        18: .line 164
      StackMap locals:
      StackMap stack:
            new java.security.spec.InvalidKeySpecException
            dup
        19: .line 165
            ldc "Inappropriate key specification"
        20: .line 164
            invokespecial java.security.spec.InvalidKeySpecException.<init>:(Ljava/lang/String;)V
            athrow
        end local 5 // java.lang.Class x509KeySpec
        end local 4 // java.lang.Class dsaPubKeySpec
        21: .line 168
      StackMap locals: sun.security.provider.DSAKeyFactory java.security.Key java.lang.Class
      StackMap stack:
            aload 1 /* key */
            instanceof java.security.interfaces.DSAPrivateKey
            ifeq 42
        22: .line 172
            ldc "java.security.spec.DSAPrivateKeySpec"
        23: .line 171
            invokestatic java.lang.Class.forName:(Ljava/lang/String;)Ljava/lang/Class;
            astore 4 /* dsaPrivKeySpec */
        start local 4 // java.lang.Class dsaPrivKeySpec
        24: .line 174
            ldc "java.security.spec.PKCS8EncodedKeySpec"
        25: .line 173
            invokestatic java.lang.Class.forName:(Ljava/lang/String;)Ljava/lang/Class;
            astore 5 /* pkcs8KeySpec */
        start local 5 // java.lang.Class pkcs8KeySpec
        26: .line 176
            aload 4 /* dsaPrivKeySpec */
            aload 2 /* keySpec */
            invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
            ifeq 36
        27: .line 178
            aload 1 /* key */
            checkcast java.security.interfaces.DSAPrivateKey
        28: .line 177
            astore 6 /* dsaPrivKey */
        start local 6 // java.security.interfaces.DSAPrivateKey dsaPrivKey
        29: .line 179
            aload 6 /* dsaPrivKey */
            invokeinterface java.security.interfaces.DSAPrivateKey.getParams:()Ljava/security/interfaces/DSAParams;
            astore 3 /* params */
        start local 3 // java.security.interfaces.DSAParams params
        30: .line 180
            aload 2 /* keySpec */
            new java.security.spec.DSAPrivateKeySpec
            dup
            aload 6 /* dsaPrivKey */
            invokeinterface java.security.interfaces.DSAPrivateKey.getX:()Ljava/math/BigInteger;
        31: .line 181
            aload 3 /* params */
            invokeinterface java.security.interfaces.DSAParams.getP:()Ljava/math/BigInteger;
        32: .line 182
            aload 3 /* params */
            invokeinterface java.security.interfaces.DSAParams.getQ:()Ljava/math/BigInteger;
        33: .line 183
            aload 3 /* params */
            invokeinterface java.security.interfaces.DSAParams.getG:()Ljava/math/BigInteger;
            invokespecial java.security.spec.DSAPrivateKeySpec.<init>:(Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;)V
        34: .line 180
            invokevirtual java.lang.Class.cast:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.security.spec.KeySpec
        35: areturn
        end local 6 // java.security.interfaces.DSAPrivateKey dsaPrivKey
        end local 3 // java.security.interfaces.DSAParams params
        36: .line 185
      StackMap locals: sun.security.provider.DSAKeyFactory java.security.Key java.lang.Class top java.lang.Class java.lang.Class
      StackMap stack:
            aload 5 /* pkcs8KeySpec */
            aload 2 /* keySpec */
            invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
            ifeq 39
        37: .line 186
            aload 2 /* keySpec */
            new java.security.spec.PKCS8EncodedKeySpec
            dup
            aload 1 /* key */
            invokeinterface java.security.Key.getEncoded:()[B
            invokespecial java.security.spec.PKCS8EncodedKeySpec.<init>:([B)V
            invokevirtual java.lang.Class.cast:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.security.spec.KeySpec
        38: areturn
        39: .line 189
      StackMap locals:
      StackMap stack:
            new java.security.spec.InvalidKeySpecException
            dup
        40: .line 190
            ldc "Inappropriate key specification"
        41: .line 189
            invokespecial java.security.spec.InvalidKeySpecException.<init>:(Ljava/lang/String;)V
            athrow
        end local 5 // java.lang.Class pkcs8KeySpec
        end local 4 // java.lang.Class dsaPrivKeySpec
        42: .line 194
      StackMap locals: sun.security.provider.DSAKeyFactory java.security.Key java.lang.Class
      StackMap stack:
            new java.security.spec.InvalidKeySpecException
            dup
            ldc "Inappropriate key type"
            invokespecial java.security.spec.InvalidKeySpecException.<init>:(Ljava/lang/String;)V
            athrow
        43: .line 197
      StackMap locals:
      StackMap stack: java.lang.ClassNotFoundException
            astore 4 /* e */
        start local 4 // java.lang.ClassNotFoundException e
        44: .line 198
            new java.security.spec.InvalidKeySpecException
            dup
        45: .line 199
            new java.lang.StringBuilder
            dup
            ldc "Unsupported key specification: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 4 /* e */
            invokevirtual java.lang.ClassNotFoundException.getMessage:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        46: .line 198
            invokespecial java.security.spec.InvalidKeySpecException.<init>:(Ljava/lang/String;)V
            athrow
        end local 4 // java.lang.ClassNotFoundException e
        end local 2 // java.lang.Class keySpec
        end local 1 // java.security.Key key
        end local 0 // sun.security.provider.DSAKeyFactory this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   47     0            this  Lsun/security/provider/DSAKeyFactory;
            0   47     1             key  Ljava/security/Key;
            0   47     2         keySpec  Ljava/lang/Class<TT;>;
            9   15     3          params  Ljava/security/interfaces/DSAParams;
           30   36     3          params  Ljava/security/interfaces/DSAParams;
            3   21     4   dsaPubKeySpec  Ljava/lang/Class<*>;
            5   21     5     x509KeySpec  Ljava/lang/Class<*>;
            8   15     6       dsaPubKey  Ljava/security/interfaces/DSAPublicKey;
           24   42     4  dsaPrivKeySpec  Ljava/lang/Class<*>;
           26   42     5    pkcs8KeySpec  Ljava/lang/Class<*>;
           29   36     6      dsaPrivKey  Ljava/security/interfaces/DSAPrivateKey;
           44   47     4               e  Ljava/lang/ClassNotFoundException;
      Exception table:
        from    to  target  type
           0    14      43  Class java.lang.ClassNotFoundException
          15    17      43  Class java.lang.ClassNotFoundException
          18    35      43  Class java.lang.ClassNotFoundException
          36    38      43  Class java.lang.ClassNotFoundException
          39    43      43  Class java.lang.ClassNotFoundException
    Exceptions:
      throws java.security.spec.InvalidKeySpecException
    Signature: <T::Ljava/security/spec/KeySpec;>(Ljava/security/Key;Ljava/lang/Class<TT;>;)TT;
    MethodParameters:
         Name  Flags
      key      
      keySpec  

  protected java.security.Key engineTranslateKey(java.security.Key);
    descriptor: (Ljava/security/Key;)Ljava/security/Key;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // sun.security.provider.DSAKeyFactory this
        start local 1 // java.security.Key key
         0: .line 218
            aload 1 /* key */
            instanceof java.security.interfaces.DSAPublicKey
            ifeq 8
         1: .line 220
            aload 1 /* key */
            instanceof sun.security.provider.DSAPublicKey
            ifeq 4
         2: .line 221
            aload 1 /* key */
         3: areturn
         4: .line 225
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* key */
            ldc Ljava/security/spec/DSAPublicKeySpec;
            invokevirtual sun.security.provider.DSAKeyFactory.engineGetKeySpec:(Ljava/security/Key;Ljava/lang/Class;)Ljava/security/spec/KeySpec;
            checkcast java.security.spec.DSAPublicKeySpec
         5: .line 224
            astore 2 /* dsaPubKeySpec */
        start local 2 // java.security.spec.DSAPublicKeySpec dsaPubKeySpec
         6: .line 227
            aload 0 /* this */
            aload 2 /* dsaPubKeySpec */
            invokevirtual sun.security.provider.DSAKeyFactory.engineGeneratePublic:(Ljava/security/spec/KeySpec;)Ljava/security/PublicKey;
         7: areturn
        end local 2 // java.security.spec.DSAPublicKeySpec dsaPubKeySpec
         8: .line 229
      StackMap locals:
      StackMap stack:
            aload 1 /* key */
            instanceof java.security.interfaces.DSAPrivateKey
            ifeq 16
         9: .line 231
            aload 1 /* key */
            instanceof sun.security.provider.DSAPrivateKey
            ifeq 12
        10: .line 232
            aload 1 /* key */
        11: areturn
        12: .line 236
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* key */
            ldc Ljava/security/spec/DSAPrivateKeySpec;
            invokevirtual sun.security.provider.DSAKeyFactory.engineGetKeySpec:(Ljava/security/Key;Ljava/lang/Class;)Ljava/security/spec/KeySpec;
            checkcast java.security.spec.DSAPrivateKeySpec
        13: .line 235
            astore 2 /* dsaPrivKeySpec */
        start local 2 // java.security.spec.DSAPrivateKeySpec dsaPrivKeySpec
        14: .line 238
            aload 0 /* this */
            aload 2 /* dsaPrivKeySpec */
            invokevirtual sun.security.provider.DSAKeyFactory.engineGeneratePrivate:(Ljava/security/spec/KeySpec;)Ljava/security/PrivateKey;
        15: areturn
        end local 2 // java.security.spec.DSAPrivateKeySpec dsaPrivKeySpec
        16: .line 241
      StackMap locals:
      StackMap stack:
            new java.security.InvalidKeyException
            dup
            ldc "Wrong algorithm type"
            invokespecial java.security.InvalidKeyException.<init>:(Ljava/lang/String;)V
            athrow
        17: .line 244
      StackMap locals:
      StackMap stack: java.security.spec.InvalidKeySpecException
            astore 2 /* e */
        start local 2 // java.security.spec.InvalidKeySpecException e
        18: .line 245
            new java.security.InvalidKeyException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Cannot translate key: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        19: .line 246
            aload 2 /* e */
            invokevirtual java.security.spec.InvalidKeySpecException.getMessage:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        20: .line 245
            invokespecial java.security.InvalidKeyException.<init>:(Ljava/lang/String;)V
            athrow
        end local 2 // java.security.spec.InvalidKeySpecException e
        end local 1 // java.security.Key key
        end local 0 // sun.security.provider.DSAKeyFactory this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   21     0            this  Lsun/security/provider/DSAKeyFactory;
            0   21     1             key  Ljava/security/Key;
            6    8     2   dsaPubKeySpec  Ljava/security/spec/DSAPublicKeySpec;
           14   16     2  dsaPrivKeySpec  Ljava/security/spec/DSAPrivateKeySpec;
           18   21     2               e  Ljava/security/spec/InvalidKeySpecException;
      Exception table:
        from    to  target  type
           0     3      17  Class java.security.spec.InvalidKeySpecException
           4     7      17  Class java.security.spec.InvalidKeySpecException
           8    11      17  Class java.security.spec.InvalidKeySpecException
          12    15      17  Class java.security.spec.InvalidKeySpecException
          16    17      17  Class java.security.spec.InvalidKeySpecException
    Exceptions:
      throws java.security.InvalidKeyException
    MethodParameters:
      Name  Flags
      key   
}
SourceFile: "DSAKeyFactory.java"