public class com.jcraft.jsch.jce.SignatureRSA implements com.jcraft.jsch.SignatureRSA
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: com.jcraft.jsch.jce.SignatureRSA
  super_class: java.lang.Object
{
  java.security.Signature signature;
    descriptor: Ljava/security/Signature;
    flags: (0x0000) 

  java.security.KeyFactory keyFactory;
    descriptor: Ljava/security/KeyFactory;
    flags: (0x0000) 

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.jcraft.jsch.jce.SignatureRSA this
         0: .line 37
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // com.jcraft.jsch.jce.SignatureRSA this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/jcraft/jsch/jce/SignatureRSA;

  public void init();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.jcraft.jsch.jce.SignatureRSA this
         0: .line 43
            aload 0 /* this */
            ldc "SHA1withRSA"
            invokestatic java.security.Signature.getInstance:(Ljava/lang/String;)Ljava/security/Signature;
            putfield com.jcraft.jsch.jce.SignatureRSA.signature:Ljava/security/Signature;
         1: .line 44
            aload 0 /* this */
            ldc "RSA"
            invokestatic java.security.KeyFactory.getInstance:(Ljava/lang/String;)Ljava/security/KeyFactory;
            putfield com.jcraft.jsch.jce.SignatureRSA.keyFactory:Ljava/security/KeyFactory;
         2: .line 45
            return
        end local 0 // com.jcraft.jsch.jce.SignatureRSA this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/jcraft/jsch/jce/SignatureRSA;
    Exceptions:
      throws java.lang.Exception

  public void setPubKey(byte[], byte[]);
    descriptor: ([B[B)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=5, args_size=3
        start local 0 // com.jcraft.jsch.jce.SignatureRSA this
        start local 1 // byte[] e
        start local 2 // byte[] n
         0: .line 48
            new java.security.spec.RSAPublicKeySpec
            dup
            new java.math.BigInteger
            dup
            aload 2 /* n */
            invokespecial java.math.BigInteger.<init>:([B)V
         1: .line 49
            new java.math.BigInteger
            dup
            aload 1 /* e */
            invokespecial java.math.BigInteger.<init>:([B)V
         2: .line 48
            invokespecial java.security.spec.RSAPublicKeySpec.<init>:(Ljava/math/BigInteger;Ljava/math/BigInteger;)V
         3: .line 47
            astore 3 /* rsaPubKeySpec */
        start local 3 // java.security.spec.RSAPublicKeySpec rsaPubKeySpec
         4: .line 50
            aload 0 /* this */
            getfield com.jcraft.jsch.jce.SignatureRSA.keyFactory:Ljava/security/KeyFactory;
            aload 3 /* rsaPubKeySpec */
            invokevirtual java.security.KeyFactory.generatePublic:(Ljava/security/spec/KeySpec;)Ljava/security/PublicKey;
            astore 4 /* pubKey */
        start local 4 // java.security.PublicKey pubKey
         5: .line 51
            aload 0 /* this */
            getfield com.jcraft.jsch.jce.SignatureRSA.signature:Ljava/security/Signature;
            aload 4 /* pubKey */
            invokevirtual java.security.Signature.initVerify:(Ljava/security/PublicKey;)V
         6: .line 52
            return
        end local 4 // java.security.PublicKey pubKey
        end local 3 // java.security.spec.RSAPublicKeySpec rsaPubKeySpec
        end local 2 // byte[] n
        end local 1 // byte[] e
        end local 0 // com.jcraft.jsch.jce.SignatureRSA this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    7     0           this  Lcom/jcraft/jsch/jce/SignatureRSA;
            0    7     1              e  [B
            0    7     2              n  [B
            4    7     3  rsaPubKeySpec  Ljava/security/spec/RSAPublicKeySpec;
            5    7     4         pubKey  Ljava/security/PublicKey;
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
      Name  Flags
      e     
      n     

  public void setPrvKey(byte[], byte[]);
    descriptor: ([B[B)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=5, args_size=3
        start local 0 // com.jcraft.jsch.jce.SignatureRSA this
        start local 1 // byte[] d
        start local 2 // byte[] n
         0: .line 55
            new java.security.spec.RSAPrivateKeySpec
            dup
            new java.math.BigInteger
            dup
            aload 2 /* n */
            invokespecial java.math.BigInteger.<init>:([B)V
         1: .line 56
            new java.math.BigInteger
            dup
            aload 1 /* d */
            invokespecial java.math.BigInteger.<init>:([B)V
         2: .line 55
            invokespecial java.security.spec.RSAPrivateKeySpec.<init>:(Ljava/math/BigInteger;Ljava/math/BigInteger;)V
         3: .line 54
            astore 3 /* rsaPrivKeySpec */
        start local 3 // java.security.spec.RSAPrivateKeySpec rsaPrivKeySpec
         4: .line 57
            aload 0 /* this */
            getfield com.jcraft.jsch.jce.SignatureRSA.keyFactory:Ljava/security/KeyFactory;
            aload 3 /* rsaPrivKeySpec */
            invokevirtual java.security.KeyFactory.generatePrivate:(Ljava/security/spec/KeySpec;)Ljava/security/PrivateKey;
            astore 4 /* prvKey */
        start local 4 // java.security.PrivateKey prvKey
         5: .line 58
            aload 0 /* this */
            getfield com.jcraft.jsch.jce.SignatureRSA.signature:Ljava/security/Signature;
            aload 4 /* prvKey */
            invokevirtual java.security.Signature.initSign:(Ljava/security/PrivateKey;)V
         6: .line 59
            return
        end local 4 // java.security.PrivateKey prvKey
        end local 3 // java.security.spec.RSAPrivateKeySpec rsaPrivKeySpec
        end local 2 // byte[] n
        end local 1 // byte[] d
        end local 0 // com.jcraft.jsch.jce.SignatureRSA this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    7     0            this  Lcom/jcraft/jsch/jce/SignatureRSA;
            0    7     1               d  [B
            0    7     2               n  [B
            4    7     3  rsaPrivKeySpec  Ljava/security/spec/RSAPrivateKeySpec;
            5    7     4          prvKey  Ljava/security/PrivateKey;
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
      Name  Flags
      d     
      n     

  public byte[] sign();
    descriptor: ()[B
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=1
        start local 0 // com.jcraft.jsch.jce.SignatureRSA this
         0: .line 61
            aload 0 /* this */
            getfield com.jcraft.jsch.jce.SignatureRSA.signature:Ljava/security/Signature;
            invokevirtual java.security.Signature.sign:()[B
            astore 1 /* sig */
        start local 1 // byte[] sig
         1: .line 62
            aload 1 /* sig */
            areturn
        end local 1 // byte[] sig
        end local 0 // com.jcraft.jsch.jce.SignatureRSA this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/jcraft/jsch/jce/SignatureRSA;
            1    2     1   sig  [B
    Exceptions:
      throws java.lang.Exception

  public void update(byte[]);
    descriptor: ([B)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.jcraft.jsch.jce.SignatureRSA this
        start local 1 // byte[] foo
         0: .line 65
            aload 0 /* this */
            getfield com.jcraft.jsch.jce.SignatureRSA.signature:Ljava/security/Signature;
            aload 1 /* foo */
            invokevirtual java.security.Signature.update:([B)V
         1: .line 66
            return
        end local 1 // byte[] foo
        end local 0 // com.jcraft.jsch.jce.SignatureRSA this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/jcraft/jsch/jce/SignatureRSA;
            0    2     1   foo  [B
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
      Name  Flags
      foo   

  public boolean verify(byte[]);
    descriptor: ([B)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=6, args_size=2
        start local 0 // com.jcraft.jsch.jce.SignatureRSA this
        start local 1 // byte[] sig
         0: .line 68
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         1: .line 69
            iconst_0
            istore 3 /* j */
        start local 3 // int j
         2: .line 71
            new com.jcraft.jsch.Buffer
            dup
            aload 1 /* sig */
            invokespecial com.jcraft.jsch.Buffer.<init>:([B)V
            astore 5 /* buf */
        start local 5 // com.jcraft.jsch.Buffer buf
         3: .line 73
            new java.lang.String
            dup
            aload 5 /* buf */
            invokevirtual com.jcraft.jsch.Buffer.getString:()[B
            invokespecial java.lang.String.<init>:([B)V
            ldc "ssh-rsa"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 8
         4: .line 74
            aload 5 /* buf */
            invokevirtual com.jcraft.jsch.Buffer.getInt:()I
            istore 3 /* j */
         5: .line 75
            aload 5 /* buf */
            invokevirtual com.jcraft.jsch.Buffer.getOffSet:()I
            istore 2 /* i */
         6: .line 76
            iload 3 /* j */
            newarray 8
            astore 4 /* tmp */
        start local 4 // byte[] tmp
         7: .line 77
            aload 1 /* sig */
            iload 2 /* i */
            aload 4 /* tmp */
            iconst_0
            iload 3 /* j */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
            aload 4 /* tmp */
            astore 1 /* sig */
        end local 4 // byte[] tmp
         8: .line 80
      StackMap locals: com.jcraft.jsch.jce.SignatureRSA byte[] int int top com.jcraft.jsch.Buffer
      StackMap stack:
            aload 0 /* this */
            getfield com.jcraft.jsch.jce.SignatureRSA.signature:Ljava/security/Signature;
            aload 1 /* sig */
            invokevirtual java.security.Signature.verify:([B)Z
            ireturn
        end local 5 // com.jcraft.jsch.Buffer buf
        end local 3 // int j
        end local 2 // int i
        end local 1 // byte[] sig
        end local 0 // com.jcraft.jsch.jce.SignatureRSA this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0  this  Lcom/jcraft/jsch/jce/SignatureRSA;
            0    9     1   sig  [B
            1    9     2     i  I
            2    9     3     j  I
            7    8     4   tmp  [B
            3    9     5   buf  Lcom/jcraft/jsch/Buffer;
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
      Name  Flags
      sig   
}
SourceFile: "SignatureRSA.java"