abstract class sun.security.mscapi.RSASignature extends java.security.SignatureSpi
  minor version: 0
  major version: 59
  flags: flags: (0x0420) ACC_SUPER, ACC_ABSTRACT
  this_class: sun.security.mscapi.RSASignature
  super_class: java.security.SignatureSpi
{
  private final java.security.MessageDigest messageDigest;
    descriptor: Ljava/security/MessageDigest;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private java.lang.String messageDigestAlgorithm;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

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

  private sun.security.mscapi.Key privateKey;
    descriptor: Lsun/security/mscapi/Key;
    flags: (0x0002) ACC_PRIVATE

  private sun.security.mscapi.Key publicKey;
    descriptor: Lsun/security/mscapi/Key;
    flags: (0x0002) ACC_PRIVATE

  void <init>();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // sun.security.mscapi.RSASignature this
         0: .line 86
            aload 0 /* this */
            invokespecial java.security.SignatureSpi.<init>:()V
         1: .line 78
            aload 0 /* this */
            aconst_null
            putfield sun.security.mscapi.RSASignature.privateKey:Lsun/security/mscapi/Key;
         2: .line 81
            aload 0 /* this */
            aconst_null
            putfield sun.security.mscapi.RSASignature.publicKey:Lsun/security/mscapi/Key;
         3: .line 87
            aload 0 /* this */
            aconst_null
            putfield sun.security.mscapi.RSASignature.messageDigest:Ljava/security/MessageDigest;
         4: .line 88
            aload 0 /* this */
            aconst_null
            putfield sun.security.mscapi.RSASignature.messageDigestAlgorithm:Ljava/lang/String;
         5: .line 89
            return
        end local 0 // sun.security.mscapi.RSASignature this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lsun/security/mscapi/RSASignature;

  void <init>(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0000) 
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // sun.security.mscapi.RSASignature this
        start local 1 // java.lang.String digestName
         0: .line 94
            aload 0 /* this */
            invokespecial java.security.SignatureSpi.<init>:()V
         1: .line 78
            aload 0 /* this */
            aconst_null
            putfield sun.security.mscapi.RSASignature.privateKey:Lsun/security/mscapi/Key;
         2: .line 81
            aload 0 /* this */
            aconst_null
            putfield sun.security.mscapi.RSASignature.publicKey:Lsun/security/mscapi/Key;
         3: .line 97
            aload 0 /* this */
            aload 1 /* digestName */
            invokestatic java.security.MessageDigest.getInstance:(Ljava/lang/String;)Ljava/security/MessageDigest;
            putfield sun.security.mscapi.RSASignature.messageDigest:Ljava/security/MessageDigest;
         4: .line 99
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.security.mscapi.RSASignature.messageDigest:Ljava/security/MessageDigest;
            invokevirtual java.security.MessageDigest.getAlgorithm:()Ljava/lang/String;
            putfield sun.security.mscapi.RSASignature.messageDigestAlgorithm:Ljava/lang/String;
         5: .line 101
            goto 8
      StackMap locals: sun.security.mscapi.RSASignature java.lang.String
      StackMap stack: java.security.NoSuchAlgorithmException
         6: astore 2 /* e */
        start local 2 // java.security.NoSuchAlgorithmException e
         7: .line 102
            new java.security.ProviderException
            dup
            aload 2 /* e */
            invokespecial java.security.ProviderException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 2 // java.security.NoSuchAlgorithmException e
         8: .line 105
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            putfield sun.security.mscapi.RSASignature.needsReset:Z
         9: .line 106
            return
        end local 1 // java.lang.String digestName
        end local 0 // sun.security.mscapi.RSASignature this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   10     0        this  Lsun/security/mscapi/RSASignature;
            0   10     1  digestName  Ljava/lang/String;
            7    8     2           e  Ljava/security/NoSuchAlgorithmException;
      Exception table:
        from    to  target  type
           3     5       6  Class java.security.NoSuchAlgorithmException
    MethodParameters:
            Name  Flags
      digestName  

  protected void engineInitVerify(java.security.PublicKey);
    descriptor: (Ljava/security/PublicKey;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=10, args_size=2
        start local 0 // sun.security.mscapi.RSASignature this
        start local 1 // java.security.PublicKey key
         0: .line 237
            aload 1 /* key */
            instanceof java.security.interfaces.RSAPublicKey
            ifne 2
         1: .line 238
            new java.security.InvalidKeyException
            dup
            ldc "Key type not supported"
            invokespecial java.security.InvalidKeyException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 242
      StackMap locals:
      StackMap stack:
            aload 1 /* key */
            checkcast java.security.interfaces.RSAPublicKey
         3: .line 241
            astore 2 /* rsaKey */
        start local 2 // java.security.interfaces.RSAPublicKey rsaKey
         4: .line 244
            aload 1 /* key */
            instanceof sun.security.mscapi.RSAPublicKey
            ifne 22
         5: .line 248
            aload 2 /* rsaKey */
            invokeinterface java.security.interfaces.RSAPublicKey.getModulus:()Ljava/math/BigInteger;
            astore 3 /* modulus */
        start local 3 // java.math.BigInteger modulus
         6: .line 249
            aload 2 /* rsaKey */
            invokeinterface java.security.interfaces.RSAPublicKey.getPublicExponent:()Ljava/math/BigInteger;
            astore 4 /* exponent */
        start local 4 // java.math.BigInteger exponent
         7: .line 253
            aload 3 /* modulus */
            invokevirtual java.math.BigInteger.bitLength:()I
            bipush 7
            iadd
            bipush -8
            iand
         8: .line 254
            aload 4 /* exponent */
            iconst_m1
            sipush 16384
         9: .line 253
            invokestatic sun.security.rsa.RSAKeyFactory.checkKeyLengths:(ILjava/math/BigInteger;II)V
        10: .line 256
            aload 3 /* modulus */
            invokevirtual java.math.BigInteger.toByteArray:()[B
            astore 5 /* modulusBytes */
        start local 5 // byte[] modulusBytes
        11: .line 257
            aload 4 /* exponent */
            invokevirtual java.math.BigInteger.toByteArray:()[B
            astore 6 /* exponentBytes */
        start local 6 // byte[] exponentBytes
        12: .line 260
            aload 5 /* modulusBytes */
            iconst_0
            baload
            ifne 14
        13: .line 261
            aload 5 /* modulusBytes */
            arraylength
            iconst_1
            isub
            bipush 8
            imul
            goto 15
        14: .line 262
      StackMap locals: sun.security.mscapi.RSASignature java.security.PublicKey java.security.interfaces.RSAPublicKey java.math.BigInteger java.math.BigInteger byte[] byte[]
      StackMap stack:
            aload 5 /* modulusBytes */
            arraylength
            bipush 8
            imul
        15: .line 260
      StackMap locals:
      StackMap stack: int
            istore 7 /* keyBitLength */
        start local 7 // int keyBitLength
        16: .line 265
            iload 7 /* keyBitLength */
            aload 5 /* modulusBytes */
            aload 6 /* exponentBytes */
        17: .line 264
            invokestatic sun.security.mscapi.RSASignature.generatePublicKeyBlob:(I[B[B)[B
            astore 8 /* keyBlob */
        start local 8 // byte[] keyBlob
        18: .line 268
            aload 0 /* this */
            aload 8 /* keyBlob */
            iload 7 /* keyBitLength */
            invokestatic sun.security.mscapi.RSASignature.importPublicKey:([BI)Lsun/security/mscapi/RSAPublicKey;
            putfield sun.security.mscapi.RSASignature.publicKey:Lsun/security/mscapi/Key;
        19: .line 270
            goto 23
      StackMap locals: sun.security.mscapi.RSASignature java.security.PublicKey java.security.interfaces.RSAPublicKey java.math.BigInteger java.math.BigInteger byte[] byte[] int byte[]
      StackMap stack: java.security.KeyStoreException
        20: astore 9 /* e */
        start local 9 // java.security.KeyStoreException e
        21: .line 271
            new java.security.InvalidKeyException
            dup
            aload 9 /* e */
            invokespecial java.security.InvalidKeyException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 9 // java.security.KeyStoreException e
        end local 8 // byte[] keyBlob
        end local 7 // int keyBitLength
        end local 6 // byte[] exponentBytes
        end local 5 // byte[] modulusBytes
        end local 4 // java.math.BigInteger exponent
        end local 3 // java.math.BigInteger modulus
        22: .line 275
      StackMap locals: sun.security.mscapi.RSASignature java.security.PublicKey java.security.interfaces.RSAPublicKey
      StackMap stack:
            aload 0 /* this */
            aload 1 /* key */
            checkcast sun.security.mscapi.RSAPublicKey
            putfield sun.security.mscapi.RSASignature.publicKey:Lsun/security/mscapi/Key;
        23: .line 278
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aconst_null
            putfield sun.security.mscapi.RSASignature.privateKey:Lsun/security/mscapi/Key;
        24: .line 279
            aload 0 /* this */
            invokevirtual sun.security.mscapi.RSASignature.resetDigest:()V
        25: .line 280
            return
        end local 2 // java.security.interfaces.RSAPublicKey rsaKey
        end local 1 // java.security.PublicKey key
        end local 0 // sun.security.mscapi.RSASignature this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   26     0           this  Lsun/security/mscapi/RSASignature;
            0   26     1            key  Ljava/security/PublicKey;
            4   26     2         rsaKey  Ljava/security/interfaces/RSAPublicKey;
            6   22     3        modulus  Ljava/math/BigInteger;
            7   22     4       exponent  Ljava/math/BigInteger;
           11   22     5   modulusBytes  [B
           12   22     6  exponentBytes  [B
           16   22     7   keyBitLength  I
           18   22     8        keyBlob  [B
           21   22     9              e  Ljava/security/KeyStoreException;
      Exception table:
        from    to  target  type
          18    19      20  Class java.security.KeyStoreException
    Exceptions:
      throws java.security.InvalidKeyException
    MethodParameters:
      Name  Flags
      key   

  protected void engineInitSign(java.security.PrivateKey);
    descriptor: (Ljava/security/PrivateKey;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // sun.security.mscapi.RSASignature this
        start local 1 // java.security.PrivateKey key
         0: .line 286
            aload 1 /* key */
            instanceof sun.security.mscapi.RSAPrivateKey
            ifne 2
         1: .line 287
            new java.security.InvalidKeyException
            dup
            ldc "Key type not supported"
            invokespecial java.security.InvalidKeyException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 289
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* key */
            checkcast sun.security.mscapi.RSAPrivateKey
            putfield sun.security.mscapi.RSASignature.privateKey:Lsun/security/mscapi/Key;
         3: .line 293
            aload 0 /* this */
            getfield sun.security.mscapi.RSASignature.privateKey:Lsun/security/mscapi/Key;
            invokevirtual sun.security.mscapi.Key.length:()I
            bipush 7
            iadd
            bipush -8
            iand
         4: .line 294
            aconst_null
            sipush 512
         5: .line 295
            sipush 16384
         6: .line 293
            invokestatic sun.security.rsa.RSAKeyFactory.checkKeyLengths:(ILjava/math/BigInteger;II)V
         7: .line 297
            aload 0 /* this */
            aconst_null
            putfield sun.security.mscapi.RSASignature.publicKey:Lsun/security/mscapi/Key;
         8: .line 298
            aload 0 /* this */
            invokevirtual sun.security.mscapi.RSASignature.resetDigest:()V
         9: .line 299
            return
        end local 1 // java.security.PrivateKey key
        end local 0 // sun.security.mscapi.RSASignature this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   10     0  this  Lsun/security/mscapi/RSASignature;
            0   10     1   key  Ljava/security/PrivateKey;
    Exceptions:
      throws java.security.InvalidKeyException
    MethodParameters:
      Name  Flags
      key   

  protected void resetDigest();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // sun.security.mscapi.RSASignature this
         0: .line 305
            aload 0 /* this */
            getfield sun.security.mscapi.RSASignature.needsReset:Z
            ifeq 3
         1: .line 306
            aload 0 /* this */
            getfield sun.security.mscapi.RSASignature.messageDigest:Ljava/security/MessageDigest;
            invokevirtual java.security.MessageDigest.reset:()V
         2: .line 307
            aload 0 /* this */
            iconst_0
            putfield sun.security.mscapi.RSASignature.needsReset:Z
         3: .line 309
      StackMap locals:
      StackMap stack:
            return
        end local 0 // sun.security.mscapi.RSASignature this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lsun/security/mscapi/RSASignature;

  protected byte[] getDigestValue();
    descriptor: ()[B
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // sun.security.mscapi.RSASignature this
         0: .line 312
            aload 0 /* this */
            iconst_0
            putfield sun.security.mscapi.RSASignature.needsReset:Z
         1: .line 313
            aload 0 /* this */
            getfield sun.security.mscapi.RSASignature.messageDigest:Ljava/security/MessageDigest;
            invokevirtual java.security.MessageDigest.digest:()[B
            areturn
        end local 0 // sun.security.mscapi.RSASignature this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lsun/security/mscapi/RSASignature;
    Exceptions:
      throws java.security.SignatureException

  protected void setDigestName(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // sun.security.mscapi.RSASignature this
        start local 1 // java.lang.String name
         0: .line 317
            aload 0 /* this */
            aload 1 /* name */
            putfield sun.security.mscapi.RSASignature.messageDigestAlgorithm:Ljava/lang/String;
         1: .line 318
            return
        end local 1 // java.lang.String name
        end local 0 // sun.security.mscapi.RSASignature this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lsun/security/mscapi/RSASignature;
            0    2     1  name  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      name  

  protected void engineUpdate(byte);
    descriptor: (B)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // sun.security.mscapi.RSASignature this
        start local 1 // byte b
         0: .line 331
            aload 0 /* this */
            getfield sun.security.mscapi.RSASignature.messageDigest:Ljava/security/MessageDigest;
            iload 1 /* b */
            invokevirtual java.security.MessageDigest.update:(B)V
         1: .line 332
            aload 0 /* this */
            iconst_1
            putfield sun.security.mscapi.RSASignature.needsReset:Z
         2: .line 333
            return
        end local 1 // byte b
        end local 0 // sun.security.mscapi.RSASignature this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lsun/security/mscapi/RSASignature;
            0    3     1     b  B
    Exceptions:
      throws java.security.SignatureException
    MethodParameters:
      Name  Flags
      b     

  protected void engineUpdate(byte[], int, int);
    descriptor: ([BII)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // sun.security.mscapi.RSASignature this
        start local 1 // byte[] b
        start local 2 // int off
        start local 3 // int len
         0: .line 349
            aload 0 /* this */
            getfield sun.security.mscapi.RSASignature.messageDigest:Ljava/security/MessageDigest;
            aload 1 /* b */
            iload 2 /* off */
            iload 3 /* len */
            invokevirtual java.security.MessageDigest.update:([BII)V
         1: .line 350
            aload 0 /* this */
            iconst_1
            putfield sun.security.mscapi.RSASignature.needsReset:Z
         2: .line 351
            return
        end local 3 // int len
        end local 2 // int off
        end local 1 // byte[] b
        end local 0 // sun.security.mscapi.RSASignature this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lsun/security/mscapi/RSASignature;
            0    3     1     b  [B
            0    3     2   off  I
            0    3     3   len  I
    Exceptions:
      throws java.security.SignatureException
    MethodParameters:
      Name  Flags
      b     
      off   
      len   

  protected void engineUpdate(java.nio.ByteBuffer);
    descriptor: (Ljava/nio/ByteBuffer;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // sun.security.mscapi.RSASignature this
        start local 1 // java.nio.ByteBuffer input
         0: .line 361
            aload 0 /* this */
            getfield sun.security.mscapi.RSASignature.messageDigest:Ljava/security/MessageDigest;
            aload 1 /* input */
            invokevirtual java.security.MessageDigest.update:(Ljava/nio/ByteBuffer;)V
         1: .line 362
            aload 0 /* this */
            iconst_1
            putfield sun.security.mscapi.RSASignature.needsReset:Z
         2: .line 363
            return
        end local 1 // java.nio.ByteBuffer input
        end local 0 // sun.security.mscapi.RSASignature this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Lsun/security/mscapi/RSASignature;
            0    3     1  input  Ljava/nio/ByteBuffer;
    MethodParameters:
       Name  Flags
      input  

  protected byte[] engineSign();
    descriptor: ()[B
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=8, locals=4, args_size=1
        start local 0 // sun.security.mscapi.RSASignature this
         0: .line 379
            aload 0 /* this */
            invokevirtual sun.security.mscapi.RSASignature.getDigestValue:()[B
            astore 1 /* hash */
        start local 1 // byte[] hash
         1: .line 382
            aload 0 /* this */
            instanceof sun.security.mscapi.RSASignature$Raw
            istore 2 /* noHashOID */
        start local 2 // boolean noHashOID
         2: .line 386
            iload 2 /* noHashOID */
            aload 1 /* hash */
            aload 1 /* hash */
            arraylength
         3: .line 387
            aload 0 /* this */
            getfield sun.security.mscapi.RSASignature.messageDigestAlgorithm:Ljava/lang/String;
            aload 0 /* this */
            getfield sun.security.mscapi.RSASignature.privateKey:Lsun/security/mscapi/Key;
            invokevirtual sun.security.mscapi.Key.getHCryptProvider:()J
         4: .line 388
            aload 0 /* this */
            getfield sun.security.mscapi.RSASignature.privateKey:Lsun/security/mscapi/Key;
            invokevirtual sun.security.mscapi.Key.getHCryptKey:()J
         5: .line 386
            invokestatic sun.security.mscapi.RSASignature.signHash:(Z[BILjava/lang/String;JJ)[B
            astore 3 /* result */
        start local 3 // byte[] result
         6: .line 391
            aload 0 /* this */
            aload 3 /* result */
            invokevirtual sun.security.mscapi.RSASignature.convertEndianArray:([B)[B
            areturn
        end local 3 // byte[] result
        end local 2 // boolean noHashOID
        end local 1 // byte[] hash
        end local 0 // sun.security.mscapi.RSASignature this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    7     0       this  Lsun/security/mscapi/RSASignature;
            1    7     1       hash  [B
            2    7     2  noHashOID  Z
            6    7     3     result  [B
    Exceptions:
      throws java.security.SignatureException

  private byte[] convertEndianArray(byte[]);
    descriptor: ([B)[B
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=4, args_size=2
        start local 0 // sun.security.mscapi.RSASignature this
        start local 1 // byte[] byteArray
         0: .line 399
            aload 1 /* byteArray */
            ifnull 1
            aload 1 /* byteArray */
            arraylength
            ifne 2
         1: .line 400
      StackMap locals:
      StackMap stack:
            aload 1 /* byteArray */
            areturn
         2: .line 402
      StackMap locals:
      StackMap stack:
            aload 1 /* byteArray */
            arraylength
            newarray 8
            astore 2 /* retval */
        start local 2 // byte[] retval
         3: .line 405
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         4: goto 7
         5: .line 406
      StackMap locals: byte[] int
      StackMap stack:
            aload 2 /* retval */
            iload 3 /* i */
            aload 1 /* byteArray */
            aload 1 /* byteArray */
            arraylength
            iload 3 /* i */
            isub
            iconst_1
            isub
            baload
            bastore
         6: .line 405
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         7: iload 3 /* i */
            aload 1 /* byteArray */
            arraylength
            if_icmplt 5
        end local 3 // int i
         8: .line 408
            aload 2 /* retval */
            areturn
        end local 2 // byte[] retval
        end local 1 // byte[] byteArray
        end local 0 // sun.security.mscapi.RSASignature this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    9     0       this  Lsun/security/mscapi/RSASignature;
            0    9     1  byteArray  [B
            3    9     2     retval  [B
            4    8     3          i  I
    MethodParameters:
           Name  Flags
      byteArray  

  private static native byte[] signHash(boolean, byte[], int, java.lang.String, long, long);
    descriptor: (Z[BILjava/lang/String;JJ)[B
    flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
    Exceptions:
      throws java.security.SignatureException
    MethodParameters:
               Name  Flags
      noHashOID      
      hash           
      hashSize       
      hashAlgorithm  
      hCryptProv     
      hCryptKey      

  private static native boolean verifySignedHash(byte[], int, java.lang.String, byte[], int, long, long);
    descriptor: ([BILjava/lang/String;[BIJJ)Z
    flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
    Exceptions:
      throws java.security.SignatureException
    MethodParameters:
               Name  Flags
      hash           
      hashSize       
      hashAlgorithm  
      signature      
      signatureSize  
      hCryptProv     
      hCryptKey      

  protected boolean engineVerify(byte[]);
    descriptor: ([B)Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=9, locals=3, args_size=2
        start local 0 // sun.security.mscapi.RSASignature this
        start local 1 // byte[] sigBytes
         0: .line 441
            aload 0 /* this */
            invokevirtual sun.security.mscapi.RSASignature.getDigestValue:()[B
            astore 2 /* hash */
        start local 2 // byte[] hash
         1: .line 443
            aload 2 /* hash */
            aload 2 /* hash */
            arraylength
         2: .line 444
            aload 0 /* this */
            getfield sun.security.mscapi.RSASignature.messageDigestAlgorithm:Ljava/lang/String;
            aload 0 /* this */
            aload 1 /* sigBytes */
            invokevirtual sun.security.mscapi.RSASignature.convertEndianArray:([B)[B
         3: .line 445
            aload 1 /* sigBytes */
            arraylength
            aload 0 /* this */
            getfield sun.security.mscapi.RSASignature.publicKey:Lsun/security/mscapi/Key;
            invokevirtual sun.security.mscapi.Key.getHCryptProvider:()J
         4: .line 446
            aload 0 /* this */
            getfield sun.security.mscapi.RSASignature.publicKey:Lsun/security/mscapi/Key;
            invokevirtual sun.security.mscapi.Key.getHCryptKey:()J
         5: .line 443
            invokestatic sun.security.mscapi.RSASignature.verifySignedHash:([BILjava/lang/String;[BIJJ)Z
            ireturn
        end local 2 // byte[] hash
        end local 1 // byte[] sigBytes
        end local 0 // sun.security.mscapi.RSASignature this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    6     0      this  Lsun/security/mscapi/RSASignature;
            0    6     1  sigBytes  [B
            1    6     2      hash  [B
    Exceptions:
      throws java.security.SignatureException
    MethodParameters:
          Name  Flags
      sigBytes  

  protected void engineSetParameter(java.lang.String, java.lang.Object);
    descriptor: (Ljava/lang/String;Ljava/lang/Object;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // sun.security.mscapi.RSASignature this
        start local 1 // java.lang.String param
        start local 2 // java.lang.Object value
         0: .line 477
            new java.security.InvalidParameterException
            dup
            ldc "Parameter not supported"
            invokespecial java.security.InvalidParameterException.<init>:(Ljava/lang/String;)V
            athrow
        end local 2 // java.lang.Object value
        end local 1 // java.lang.String param
        end local 0 // sun.security.mscapi.RSASignature this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lsun/security/mscapi/RSASignature;
            0    1     1  param  Ljava/lang/String;
            0    1     2  value  Ljava/lang/Object;
    Exceptions:
      throws java.security.InvalidParameterException
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
       Name  Flags
      param  
      value  

  protected java.lang.Object engineGetParameter(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/Object;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // sun.security.mscapi.RSASignature this
        start local 1 // java.lang.String param
         0: .line 507
            new java.security.InvalidParameterException
            dup
            ldc "Parameter not supported"
            invokespecial java.security.InvalidParameterException.<init>:(Ljava/lang/String;)V
            athrow
        end local 1 // java.lang.String param
        end local 0 // sun.security.mscapi.RSASignature this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lsun/security/mscapi/RSASignature;
            0    1     1  param  Ljava/lang/String;
    Exceptions:
      throws java.security.InvalidParameterException
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
       Name  Flags
      param  

  static native byte[] generatePublicKeyBlob(int, byte[], byte[]);
    descriptor: (I[B[B)[B
    flags: (0x0108) ACC_STATIC, ACC_NATIVE
    Exceptions:
      throws java.security.InvalidKeyException
    MethodParameters:
                Name  Flags
      keyBitLength    
      modulus         
      publicExponent  

  static native sun.security.mscapi.RSAPublicKey importPublicKey(byte[], int);
    descriptor: ([BI)Lsun/security/mscapi/RSAPublicKey;
    flags: (0x0108) ACC_STATIC, ACC_NATIVE
    Exceptions:
      throws java.security.KeyStoreException
    MethodParameters:
         Name  Flags
      keyBlob  
      keySize  
}
SourceFile: "RSASignature.java"
NestMembers:
  sun.security.mscapi.RSASignature$MD2  sun.security.mscapi.RSASignature$MD5  sun.security.mscapi.RSASignature$Raw  sun.security.mscapi.RSASignature$SHA1  sun.security.mscapi.RSASignature$SHA256  sun.security.mscapi.RSASignature$SHA384  sun.security.mscapi.RSASignature$SHA512
InnerClasses:
  public final MD2 = sun.security.mscapi.RSASignature$MD2 of sun.security.mscapi.RSASignature
  public final MD5 = sun.security.mscapi.RSASignature$MD5 of sun.security.mscapi.RSASignature
  public final Raw = sun.security.mscapi.RSASignature$Raw of sun.security.mscapi.RSASignature
  public final SHA1 = sun.security.mscapi.RSASignature$SHA1 of sun.security.mscapi.RSASignature
  public final SHA256 = sun.security.mscapi.RSASignature$SHA256 of sun.security.mscapi.RSASignature
  public final SHA384 = sun.security.mscapi.RSASignature$SHA384 of sun.security.mscapi.RSASignature
  public final SHA512 = sun.security.mscapi.RSASignature$SHA512 of sun.security.mscapi.RSASignature