public class com.jcraft.jsch.KeyPairRSA extends com.jcraft.jsch.KeyPair
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: com.jcraft.jsch.KeyPairRSA
super_class: com.jcraft.jsch.KeyPair
{
private byte[] n_array;
descriptor: [B
flags: (0x0002) ACC_PRIVATE
private byte[] pub_array;
descriptor: [B
flags: (0x0002) ACC_PRIVATE
private byte[] prv_array;
descriptor: [B
flags: (0x0002) ACC_PRIVATE
private byte[] p_array;
descriptor: [B
flags: (0x0002) ACC_PRIVATE
private byte[] q_array;
descriptor: [B
flags: (0x0002) ACC_PRIVATE
private byte[] ep_array;
descriptor: [B
flags: (0x0002) ACC_PRIVATE
private byte[] eq_array;
descriptor: [B
flags: (0x0002) ACC_PRIVATE
private byte[] c_array;
descriptor: [B
flags: (0x0002) ACC_PRIVATE
private int key_size;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private static final byte[] begin;
descriptor: [B
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final byte[] end;
descriptor: [B
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final byte[] sshrsa;
descriptor: [B
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc "-----BEGIN RSA PRIVATE KEY-----"
invokestatic com.jcraft.jsch.Util.str2byte:(Ljava/lang/String;)[B
putstatic com.jcraft.jsch.KeyPairRSA.begin:[B
1: ldc "-----END RSA PRIVATE KEY-----"
invokestatic com.jcraft.jsch.Util.str2byte:(Ljava/lang/String;)[B
putstatic com.jcraft.jsch.KeyPairRSA.end:[B
2: ldc "ssh-rsa"
invokestatic com.jcraft.jsch.Util.str2byte:(Ljava/lang/String;)[B
putstatic com.jcraft.jsch.KeyPairRSA.sshrsa:[B
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(com.jcraft.jsch.JSch);
descriptor: (Lcom/jcraft/jsch/JSch;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
aconst_null
aconst_null
aconst_null
invokespecial com.jcraft.jsch.KeyPairRSA.<init>:(Lcom/jcraft/jsch/JSch;[B[B[B)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/jcraft/jsch/KeyPairRSA;
0 2 1 jsch Lcom/jcraft/jsch/JSch;
MethodParameters:
Name Flags
jsch
public void <init>(com.jcraft.jsch.JSch, byte[], byte[], byte[]);
descriptor: (Lcom/jcraft/jsch/JSch;[B[B[B)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
aload 1
invokespecial com.jcraft.jsch.KeyPair.<init>:(Lcom/jcraft/jsch/JSch;)V
1: aload 0
sipush 1024
putfield com.jcraft.jsch.KeyPairRSA.key_size:I
2: aload 0
aload 2
putfield com.jcraft.jsch.KeyPairRSA.n_array:[B
3: aload 0
aload 3
putfield com.jcraft.jsch.KeyPairRSA.pub_array:[B
4: aload 0
aload 4
putfield com.jcraft.jsch.KeyPairRSA.prv_array:[B
5: aload 2
ifnull 7
6: aload 0
new java.math.BigInteger
dup
aload 2
invokespecial java.math.BigInteger.<init>:([B)V
invokevirtual java.math.BigInteger.bitLength:()I
putfield com.jcraft.jsch.KeyPairRSA.key_size:I
7: StackMap locals: com.jcraft.jsch.KeyPairRSA com.jcraft.jsch.JSch byte[] byte[] byte[]
StackMap stack:
return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/jcraft/jsch/KeyPairRSA;
0 8 1 jsch Lcom/jcraft/jsch/JSch;
0 8 2 n_array [B
0 8 3 pub_array [B
0 8 4 prv_array [B
MethodParameters:
Name Flags
jsch
n_array
pub_array
prv_array
void generate(int);
descriptor: (I)V
flags: (0x0000)
Code:
stack=4, locals=4, args_size=2
start local 0 start local 1 0: aload 0
iload 1
putfield com.jcraft.jsch.KeyPairRSA.key_size:I
1: ldc "keypairgen.rsa"
invokestatic com.jcraft.jsch.JSch.getConfig:(Ljava/lang/String;)Ljava/lang/String;
invokestatic java.lang.Class.forName:(Ljava/lang/String;)Ljava/lang/Class;
astore 2
start local 2 2: aload 2
invokevirtual java.lang.Class.newInstance:()Ljava/lang/Object;
checkcast com.jcraft.jsch.KeyPairGenRSA
astore 3
start local 3 3: aload 3
iload 1
invokeinterface com.jcraft.jsch.KeyPairGenRSA.init:(I)V
4: aload 0
aload 3
invokeinterface com.jcraft.jsch.KeyPairGenRSA.getE:()[B
putfield com.jcraft.jsch.KeyPairRSA.pub_array:[B
5: aload 0
aload 3
invokeinterface com.jcraft.jsch.KeyPairGenRSA.getD:()[B
putfield com.jcraft.jsch.KeyPairRSA.prv_array:[B
6: aload 0
aload 3
invokeinterface com.jcraft.jsch.KeyPairGenRSA.getN:()[B
putfield com.jcraft.jsch.KeyPairRSA.n_array:[B
7: aload 0
aload 3
invokeinterface com.jcraft.jsch.KeyPairGenRSA.getP:()[B
putfield com.jcraft.jsch.KeyPairRSA.p_array:[B
8: aload 0
aload 3
invokeinterface com.jcraft.jsch.KeyPairGenRSA.getQ:()[B
putfield com.jcraft.jsch.KeyPairRSA.q_array:[B
9: aload 0
aload 3
invokeinterface com.jcraft.jsch.KeyPairGenRSA.getEP:()[B
putfield com.jcraft.jsch.KeyPairRSA.ep_array:[B
10: aload 0
aload 3
invokeinterface com.jcraft.jsch.KeyPairGenRSA.getEQ:()[B
putfield com.jcraft.jsch.KeyPairRSA.eq_array:[B
11: aload 0
aload 3
invokeinterface com.jcraft.jsch.KeyPairGenRSA.getC:()[B
putfield com.jcraft.jsch.KeyPairRSA.c_array:[B
12: aconst_null
astore 3
end local 3 end local 2 13: goto 18
14: StackMap locals:
StackMap stack: java.lang.Exception
astore 2
start local 2 15: aload 2
instanceof java.lang.Throwable
ifeq 17
16: new com.jcraft.jsch.JSchException
dup
aload 2
invokevirtual java.lang.Exception.toString:()Ljava/lang/String;
aload 2
invokespecial com.jcraft.jsch.JSchException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
17: StackMap locals: java.lang.Exception
StackMap stack:
new com.jcraft.jsch.JSchException
dup
aload 2
invokevirtual java.lang.Exception.toString:()Ljava/lang/String;
invokespecial com.jcraft.jsch.JSchException.<init>:(Ljava/lang/String;)V
athrow
end local 2 18: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Lcom/jcraft/jsch/KeyPairRSA;
0 19 1 key_size I
2 13 2 c Ljava/lang/Class;
3 13 3 keypairgen Lcom/jcraft/jsch/KeyPairGenRSA;
15 18 2 e Ljava/lang/Exception;
Exception table:
from to target type
1 13 14 Class java.lang.Exception
Exceptions:
throws com.jcraft.jsch.JSchException
MethodParameters:
Name Flags
key_size
byte[] getBegin();
descriptor: ()[B
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: getstatic com.jcraft.jsch.KeyPairRSA.begin:[B
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/jcraft/jsch/KeyPairRSA;
byte[] getEnd();
descriptor: ()[B
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: getstatic com.jcraft.jsch.KeyPairRSA.end:[B
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/jcraft/jsch/KeyPairRSA;
byte[] getPrivateKey();
descriptor: ()[B
flags: (0x0000)
Code:
stack=4, locals=5, args_size=1
start local 0 0: iconst_1
aload 0
iconst_1
invokevirtual com.jcraft.jsch.KeyPairRSA.countLength:(I)I
iadd
iconst_1
iadd
1: iconst_1
2: iadd
3: aload 0
aload 0
getfield com.jcraft.jsch.KeyPairRSA.n_array:[B
arraylength
invokevirtual com.jcraft.jsch.KeyPairRSA.countLength:(I)I
4: iadd
5: aload 0
getfield com.jcraft.jsch.KeyPairRSA.n_array:[B
arraylength
6: iadd
7: iconst_1
8: iadd
9: aload 0
aload 0
getfield com.jcraft.jsch.KeyPairRSA.pub_array:[B
arraylength
invokevirtual com.jcraft.jsch.KeyPairRSA.countLength:(I)I
10: iadd
11: aload 0
getfield com.jcraft.jsch.KeyPairRSA.pub_array:[B
arraylength
12: iadd
13: iconst_1
14: iadd
15: aload 0
aload 0
getfield com.jcraft.jsch.KeyPairRSA.prv_array:[B
arraylength
invokevirtual com.jcraft.jsch.KeyPairRSA.countLength:(I)I
16: iadd
17: aload 0
getfield com.jcraft.jsch.KeyPairRSA.prv_array:[B
arraylength
18: iadd
19: iconst_1
20: iadd
21: aload 0
aload 0
getfield com.jcraft.jsch.KeyPairRSA.p_array:[B
arraylength
invokevirtual com.jcraft.jsch.KeyPairRSA.countLength:(I)I
22: iadd
23: aload 0
getfield com.jcraft.jsch.KeyPairRSA.p_array:[B
arraylength
24: iadd
25: iconst_1
26: iadd
27: aload 0
aload 0
getfield com.jcraft.jsch.KeyPairRSA.q_array:[B
arraylength
invokevirtual com.jcraft.jsch.KeyPairRSA.countLength:(I)I
28: iadd
29: aload 0
getfield com.jcraft.jsch.KeyPairRSA.q_array:[B
arraylength
30: iadd
31: iconst_1
32: iadd
33: aload 0
aload 0
getfield com.jcraft.jsch.KeyPairRSA.ep_array:[B
arraylength
invokevirtual com.jcraft.jsch.KeyPairRSA.countLength:(I)I
34: iadd
35: aload 0
getfield com.jcraft.jsch.KeyPairRSA.ep_array:[B
arraylength
36: iadd
37: iconst_1
38: iadd
39: aload 0
aload 0
getfield com.jcraft.jsch.KeyPairRSA.eq_array:[B
arraylength
invokevirtual com.jcraft.jsch.KeyPairRSA.countLength:(I)I
40: iadd
41: aload 0
getfield com.jcraft.jsch.KeyPairRSA.eq_array:[B
arraylength
42: iadd
43: iconst_1
44: iadd
45: aload 0
aload 0
getfield com.jcraft.jsch.KeyPairRSA.c_array:[B
arraylength
invokevirtual com.jcraft.jsch.KeyPairRSA.countLength:(I)I
46: iadd
47: aload 0
getfield com.jcraft.jsch.KeyPairRSA.c_array:[B
arraylength
48: iadd
49: istore 1
start local 1 50: iconst_1
aload 0
iload 1
invokevirtual com.jcraft.jsch.KeyPairRSA.countLength:(I)I
iadd
iload 1
iadd
51: istore 2
start local 2 52: iload 2
newarray 8
astore 3
start local 3 53: iconst_0
istore 4
start local 4 54: aload 0
aload 3
iload 4
iload 1
invokevirtual com.jcraft.jsch.KeyPairRSA.writeSEQUENCE:([BII)I
istore 4
55: aload 0
aload 3
iload 4
iconst_1
newarray 8
invokevirtual com.jcraft.jsch.KeyPairRSA.writeINTEGER:([BI[B)I
istore 4
56: aload 0
aload 3
iload 4
aload 0
getfield com.jcraft.jsch.KeyPairRSA.n_array:[B
invokevirtual com.jcraft.jsch.KeyPairRSA.writeINTEGER:([BI[B)I
istore 4
57: aload 0
aload 3
iload 4
aload 0
getfield com.jcraft.jsch.KeyPairRSA.pub_array:[B
invokevirtual com.jcraft.jsch.KeyPairRSA.writeINTEGER:([BI[B)I
istore 4
58: aload 0
aload 3
iload 4
aload 0
getfield com.jcraft.jsch.KeyPairRSA.prv_array:[B
invokevirtual com.jcraft.jsch.KeyPairRSA.writeINTEGER:([BI[B)I
istore 4
59: aload 0
aload 3
iload 4
aload 0
getfield com.jcraft.jsch.KeyPairRSA.p_array:[B
invokevirtual com.jcraft.jsch.KeyPairRSA.writeINTEGER:([BI[B)I
istore 4
60: aload 0
aload 3
iload 4
aload 0
getfield com.jcraft.jsch.KeyPairRSA.q_array:[B
invokevirtual com.jcraft.jsch.KeyPairRSA.writeINTEGER:([BI[B)I
istore 4
61: aload 0
aload 3
iload 4
aload 0
getfield com.jcraft.jsch.KeyPairRSA.ep_array:[B
invokevirtual com.jcraft.jsch.KeyPairRSA.writeINTEGER:([BI[B)I
istore 4
62: aload 0
aload 3
iload 4
aload 0
getfield com.jcraft.jsch.KeyPairRSA.eq_array:[B
invokevirtual com.jcraft.jsch.KeyPairRSA.writeINTEGER:([BI[B)I
istore 4
63: aload 0
aload 3
iload 4
aload 0
getfield com.jcraft.jsch.KeyPairRSA.c_array:[B
invokevirtual com.jcraft.jsch.KeyPairRSA.writeINTEGER:([BI[B)I
istore 4
64: aload 3
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 65 0 this Lcom/jcraft/jsch/KeyPairRSA;
50 65 1 content I
52 65 2 total I
53 65 3 plain [B
54 65 4 index I
boolean parse(byte[]);
descriptor: ([B)Z
flags: (0x0000)
Code:
stack=5, locals=6, args_size=2
start local 0 start local 1 0: iconst_0
istore 2
start local 2 1: iconst_0
istore 3
start local 3 2: aload 0
getfield com.jcraft.jsch.KeyPairRSA.vendor:I
iconst_2
if_icmpne 16
3: new com.jcraft.jsch.Buffer
dup
aload 1
invokespecial com.jcraft.jsch.Buffer.<init>:([B)V
astore 4
start local 4 4: aload 4
aload 1
arraylength
invokevirtual com.jcraft.jsch.Buffer.skip:(I)V
5: aload 4
iconst_4
ldc ""
invokevirtual com.jcraft.jsch.Buffer.getBytes:(ILjava/lang/String;)[[B
astore 5
start local 5 6: aload 0
aload 5
iconst_0
aaload
putfield com.jcraft.jsch.KeyPairRSA.prv_array:[B
7: aload 0
aload 5
iconst_1
aaload
putfield com.jcraft.jsch.KeyPairRSA.p_array:[B
8: aload 0
aload 5
iconst_2
aaload
putfield com.jcraft.jsch.KeyPairRSA.q_array:[B
9: aload 0
aload 5
iconst_3
aaload
putfield com.jcraft.jsch.KeyPairRSA.c_array:[B
end local 5 10: goto 13
11: StackMap locals: com.jcraft.jsch.KeyPairRSA byte[] int int com.jcraft.jsch.Buffer
StackMap stack: com.jcraft.jsch.JSchException
pop
12: iconst_0
ireturn
13: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.jcraft.jsch.KeyPairRSA.getEPArray:()[B
pop
14: aload 0
invokevirtual com.jcraft.jsch.KeyPairRSA.getEQArray:()[B
pop
15: iconst_1
ireturn
end local 4 16: StackMap locals:
StackMap stack:
aload 0
getfield com.jcraft.jsch.KeyPairRSA.vendor:I
iconst_1
if_icmpne 32
17: aload 1
iload 2
baload
bipush 48
if_icmpeq 31
18: new com.jcraft.jsch.Buffer
dup
aload 1
invokespecial com.jcraft.jsch.Buffer.<init>:([B)V
astore 4
start local 4 19: aload 0
aload 4
invokevirtual com.jcraft.jsch.Buffer.getMPIntBits:()[B
putfield com.jcraft.jsch.KeyPairRSA.pub_array:[B
20: aload 0
aload 4
invokevirtual com.jcraft.jsch.Buffer.getMPIntBits:()[B
putfield com.jcraft.jsch.KeyPairRSA.prv_array:[B
21: aload 0
aload 4
invokevirtual com.jcraft.jsch.Buffer.getMPIntBits:()[B
putfield com.jcraft.jsch.KeyPairRSA.n_array:[B
22: aload 4
invokevirtual com.jcraft.jsch.Buffer.getMPIntBits:()[B
pop
23: aload 0
aload 4
invokevirtual com.jcraft.jsch.Buffer.getMPIntBits:()[B
putfield com.jcraft.jsch.KeyPairRSA.p_array:[B
24: aload 0
aload 4
invokevirtual com.jcraft.jsch.Buffer.getMPIntBits:()[B
putfield com.jcraft.jsch.KeyPairRSA.q_array:[B
25: aload 0
getfield com.jcraft.jsch.KeyPairRSA.n_array:[B
ifnull 27
26: aload 0
new java.math.BigInteger
dup
aload 0
getfield com.jcraft.jsch.KeyPairRSA.n_array:[B
invokespecial java.math.BigInteger.<init>:([B)V
invokevirtual java.math.BigInteger.bitLength:()I
putfield com.jcraft.jsch.KeyPairRSA.key_size:I
27: StackMap locals: com.jcraft.jsch.Buffer
StackMap stack:
aload 0
invokevirtual com.jcraft.jsch.KeyPairRSA.getEPArray:()[B
pop
28: aload 0
invokevirtual com.jcraft.jsch.KeyPairRSA.getEQArray:()[B
pop
29: aload 0
invokevirtual com.jcraft.jsch.KeyPairRSA.getCArray:()[B
pop
30: iconst_1
ireturn
end local 4 31: StackMap locals:
StackMap stack:
iconst_0
ireturn
32: StackMap locals:
StackMap stack:
iinc 2 1
33: aload 1
iload 2
iinc 2 1
baload
sipush 255
iand
istore 3
34: iload 3
sipush 128
iand
ifeq 40
35: iload 3
bipush 127
iand
istore 4
start local 4 36: iconst_0
istore 3
37: goto 39
StackMap locals: int
StackMap stack:
38: iload 3
bipush 8
ishl
aload 1
iload 2
iinc 2 1
baload
sipush 255
iand
iadd
istore 3
StackMap locals:
StackMap stack:
39: iload 4
iinc 4 -1
ifgt 38
end local 4 40: StackMap locals:
StackMap stack:
aload 1
iload 2
baload
iconst_2
if_icmpeq 42
41: iconst_0
ireturn
42: StackMap locals:
StackMap stack:
iinc 2 1
43: aload 1
iload 2
iinc 2 1
baload
sipush 255
iand
istore 3
44: iload 3
sipush 128
iand
ifeq 50
45: iload 3
bipush 127
iand
istore 4
start local 4 46: iconst_0
istore 3
47: goto 49
StackMap locals: int
StackMap stack:
48: iload 3
bipush 8
ishl
aload 1
iload 2
iinc 2 1
baload
sipush 255
iand
iadd
istore 3
StackMap locals:
StackMap stack:
49: iload 4
iinc 4 -1
ifgt 48
end local 4 50: StackMap locals:
StackMap stack:
iload 2
iload 3
iadd
istore 2
51: iinc 2 1
52: aload 1
iload 2
iinc 2 1
baload
sipush 255
iand
istore 3
53: iload 3
sipush 128
iand
ifeq 59
54: iload 3
bipush 127
iand
istore 4
start local 4 55: iconst_0
istore 3
56: goto 58
StackMap locals: int
StackMap stack:
57: iload 3
bipush 8
ishl
aload 1
iload 2
iinc 2 1
baload
sipush 255
iand
iadd
istore 3
StackMap locals:
StackMap stack:
58: iload 4
iinc 4 -1
ifgt 57
end local 4 59: StackMap locals:
StackMap stack:
aload 0
iload 3
newarray 8
putfield com.jcraft.jsch.KeyPairRSA.n_array:[B
60: aload 1
iload 2
aload 0
getfield com.jcraft.jsch.KeyPairRSA.n_array:[B
iconst_0
iload 3
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
61: iload 2
iload 3
iadd
istore 2
62: iinc 2 1
63: aload 1
iload 2
iinc 2 1
baload
sipush 255
iand
istore 3
64: iload 3
sipush 128
iand
ifeq 70
65: iload 3
bipush 127
iand
istore 4
start local 4 66: iconst_0
istore 3
67: goto 69
StackMap locals: int
StackMap stack:
68: iload 3
bipush 8
ishl
aload 1
iload 2
iinc 2 1
baload
sipush 255
iand
iadd
istore 3
StackMap locals:
StackMap stack:
69: iload 4
iinc 4 -1
ifgt 68
end local 4 70: StackMap locals:
StackMap stack:
aload 0
iload 3
newarray 8
putfield com.jcraft.jsch.KeyPairRSA.pub_array:[B
71: aload 1
iload 2
aload 0
getfield com.jcraft.jsch.KeyPairRSA.pub_array:[B
iconst_0
iload 3
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
72: iload 2
iload 3
iadd
istore 2
73: iinc 2 1
74: aload 1
iload 2
iinc 2 1
baload
sipush 255
iand
istore 3
75: iload 3
sipush 128
iand
ifeq 81
76: iload 3
bipush 127
iand
istore 4
start local 4 77: iconst_0
istore 3
78: goto 80
StackMap locals: int
StackMap stack:
79: iload 3
bipush 8
ishl
aload 1
iload 2
iinc 2 1
baload
sipush 255
iand
iadd
istore 3
StackMap locals:
StackMap stack:
80: iload 4
iinc 4 -1
ifgt 79
end local 4 81: StackMap locals:
StackMap stack:
aload 0
iload 3
newarray 8
putfield com.jcraft.jsch.KeyPairRSA.prv_array:[B
82: aload 1
iload 2
aload 0
getfield com.jcraft.jsch.KeyPairRSA.prv_array:[B
iconst_0
iload 3
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
83: iload 2
iload 3
iadd
istore 2
84: iinc 2 1
85: aload 1
iload 2
iinc 2 1
baload
sipush 255
iand
istore 3
86: iload 3
sipush 128
iand
ifeq 92
87: iload 3
bipush 127
iand
istore 4
start local 4 88: iconst_0
istore 3
89: goto 91
StackMap locals: int
StackMap stack:
90: iload 3
bipush 8
ishl
aload 1
iload 2
iinc 2 1
baload
sipush 255
iand
iadd
istore 3
StackMap locals:
StackMap stack:
91: iload 4
iinc 4 -1
ifgt 90
end local 4 92: StackMap locals:
StackMap stack:
aload 0
iload 3
newarray 8
putfield com.jcraft.jsch.KeyPairRSA.p_array:[B
93: aload 1
iload 2
aload 0
getfield com.jcraft.jsch.KeyPairRSA.p_array:[B
iconst_0
iload 3
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
94: iload 2
iload 3
iadd
istore 2
95: iinc 2 1
96: aload 1
iload 2
iinc 2 1
baload
sipush 255
iand
istore 3
97: iload 3
sipush 128
iand
ifeq 103
98: iload 3
bipush 127
iand
istore 4
start local 4 99: iconst_0
istore 3
100: goto 102
StackMap locals: int
StackMap stack:
101: iload 3
bipush 8
ishl
aload 1
iload 2
iinc 2 1
baload
sipush 255
iand
iadd
istore 3
StackMap locals:
StackMap stack:
102: iload 4
iinc 4 -1
ifgt 101
end local 4 103: StackMap locals:
StackMap stack:
aload 0
iload 3
newarray 8
putfield com.jcraft.jsch.KeyPairRSA.q_array:[B
104: aload 1
iload 2
aload 0
getfield com.jcraft.jsch.KeyPairRSA.q_array:[B
iconst_0
iload 3
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
105: iload 2
iload 3
iadd
istore 2
106: iinc 2 1
107: aload 1
iload 2
iinc 2 1
baload
sipush 255
iand
istore 3
108: iload 3
sipush 128
iand
ifeq 114
109: iload 3
bipush 127
iand
istore 4
start local 4 110: iconst_0
istore 3
111: goto 113
StackMap locals: int
StackMap stack:
112: iload 3
bipush 8
ishl
aload 1
iload 2
iinc 2 1
baload
sipush 255
iand
iadd
istore 3
StackMap locals:
StackMap stack:
113: iload 4
iinc 4 -1
ifgt 112
end local 4 114: StackMap locals:
StackMap stack:
aload 0
iload 3
newarray 8
putfield com.jcraft.jsch.KeyPairRSA.ep_array:[B
115: aload 1
iload 2
aload 0
getfield com.jcraft.jsch.KeyPairRSA.ep_array:[B
iconst_0
iload 3
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
116: iload 2
iload 3
iadd
istore 2
117: iinc 2 1
118: aload 1
iload 2
iinc 2 1
baload
sipush 255
iand
istore 3
119: iload 3
sipush 128
iand
ifeq 125
120: iload 3
bipush 127
iand
istore 4
start local 4 121: iconst_0
istore 3
122: goto 124
StackMap locals: int
StackMap stack:
123: iload 3
bipush 8
ishl
aload 1
iload 2
iinc 2 1
baload
sipush 255
iand
iadd
istore 3
StackMap locals:
StackMap stack:
124: iload 4
iinc 4 -1
ifgt 123
end local 4 125: StackMap locals:
StackMap stack:
aload 0
iload 3
newarray 8
putfield com.jcraft.jsch.KeyPairRSA.eq_array:[B
126: aload 1
iload 2
aload 0
getfield com.jcraft.jsch.KeyPairRSA.eq_array:[B
iconst_0
iload 3
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
127: iload 2
iload 3
iadd
istore 2
128: iinc 2 1
129: aload 1
iload 2
iinc 2 1
baload
sipush 255
iand
istore 3
130: iload 3
sipush 128
iand
ifeq 136
131: iload 3
bipush 127
iand
istore 4
start local 4 132: iconst_0
istore 3
133: goto 135
StackMap locals: int
StackMap stack:
134: iload 3
bipush 8
ishl
aload 1
iload 2
iinc 2 1
baload
sipush 255
iand
iadd
istore 3
StackMap locals:
StackMap stack:
135: iload 4
iinc 4 -1
ifgt 134
end local 4 136: StackMap locals:
StackMap stack:
aload 0
iload 3
newarray 8
putfield com.jcraft.jsch.KeyPairRSA.c_array:[B
137: aload 1
iload 2
aload 0
getfield com.jcraft.jsch.KeyPairRSA.c_array:[B
iconst_0
iload 3
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
138: iload 2
iload 3
iadd
istore 2
139: aload 0
getfield com.jcraft.jsch.KeyPairRSA.n_array:[B
ifnull 144
140: aload 0
new java.math.BigInteger
dup
aload 0
getfield com.jcraft.jsch.KeyPairRSA.n_array:[B
invokespecial java.math.BigInteger.<init>:([B)V
invokevirtual java.math.BigInteger.bitLength:()I
putfield com.jcraft.jsch.KeyPairRSA.key_size:I
end local 3 end local 2 141: goto 144
142: StackMap locals: com.jcraft.jsch.KeyPairRSA byte[]
StackMap stack: java.lang.Exception
pop
143: iconst_0
ireturn
144: StackMap locals:
StackMap stack:
iconst_1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 145 0 this Lcom/jcraft/jsch/KeyPairRSA;
0 145 1 plain [B
1 141 2 index I
2 141 3 length I
4 16 4 buf Lcom/jcraft/jsch/Buffer;
6 10 5 tmp [[B
19 31 4 buf Lcom/jcraft/jsch/Buffer;
36 40 4 foo I
46 50 4 foo I
55 59 4 foo I
66 70 4 foo I
77 81 4 foo I
88 92 4 foo I
99 103 4 foo I
110 114 4 foo I
121 125 4 foo I
132 136 4 foo I
Exception table:
from to target type
5 10 11 Class com.jcraft.jsch.JSchException
0 12 142 Class java.lang.Exception
13 15 142 Class java.lang.Exception
16 30 142 Class java.lang.Exception
32 41 142 Class java.lang.Exception
42 141 142 Class java.lang.Exception
MethodParameters:
Name Flags
plain
public byte[] getPublicKeyBlob();
descriptor: ()[B
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=1
start local 0 0: aload 0
invokespecial com.jcraft.jsch.KeyPair.getPublicKeyBlob:()[B
astore 1
start local 1 1: aload 1
ifnull 2
aload 1
areturn
2: StackMap locals: byte[]
StackMap stack:
aload 0
getfield com.jcraft.jsch.KeyPairRSA.pub_array:[B
ifnonnull 3
aconst_null
areturn
3: StackMap locals:
StackMap stack:
iconst_3
anewarray byte[]
astore 2
start local 2 4: aload 2
iconst_0
getstatic com.jcraft.jsch.KeyPairRSA.sshrsa:[B
aastore
5: aload 2
iconst_1
aload 0
getfield com.jcraft.jsch.KeyPairRSA.pub_array:[B
aastore
6: aload 2
iconst_2
aload 0
getfield com.jcraft.jsch.KeyPairRSA.n_array:[B
aastore
7: aload 2
invokestatic com.jcraft.jsch.Buffer.fromBytes:([[B)Lcom/jcraft/jsch/Buffer;
getfield com.jcraft.jsch.Buffer.buffer:[B
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/jcraft/jsch/KeyPairRSA;
1 8 1 foo [B
4 8 2 tmp [[B
byte[] getKeyTypeName();
descriptor: ()[B
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: getstatic com.jcraft.jsch.KeyPairRSA.sshrsa:[B
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/jcraft/jsch/KeyPairRSA;
public int getKeyType();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: iconst_2
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/jcraft/jsch/KeyPairRSA;
public int getKeySize();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.jcraft.jsch.KeyPairRSA.key_size:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/jcraft/jsch/KeyPairRSA;
public byte[] getSignature(byte[]);
descriptor: ([B)[B
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=6, args_size=2
start local 0 start local 1 0: ldc "signature.rsa"
invokestatic com.jcraft.jsch.JSch.getConfig:(Ljava/lang/String;)Ljava/lang/String;
invokestatic java.lang.Class.forName:(Ljava/lang/String;)Ljava/lang/Class;
astore 2
start local 2 1: aload 2
invokevirtual java.lang.Class.newInstance:()Ljava/lang/Object;
checkcast com.jcraft.jsch.SignatureRSA
astore 3
start local 3 2: aload 3
invokeinterface com.jcraft.jsch.SignatureRSA.init:()V
3: aload 3
aload 0
getfield com.jcraft.jsch.KeyPairRSA.prv_array:[B
aload 0
getfield com.jcraft.jsch.KeyPairRSA.n_array:[B
invokeinterface com.jcraft.jsch.SignatureRSA.setPrvKey:([B[B)V
4: aload 3
aload 1
invokeinterface com.jcraft.jsch.SignatureRSA.update:([B)V
5: aload 3
invokeinterface com.jcraft.jsch.SignatureRSA.sign:()[B
astore 4
start local 4 6: iconst_2
anewarray byte[]
astore 5
start local 5 7: aload 5
iconst_0
getstatic com.jcraft.jsch.KeyPairRSA.sshrsa:[B
aastore
8: aload 5
iconst_1
aload 4
aastore
9: aload 5
invokestatic com.jcraft.jsch.Buffer.fromBytes:([[B)Lcom/jcraft/jsch/Buffer;
getfield com.jcraft.jsch.Buffer.buffer:[B
10: areturn
end local 5 end local 4 end local 3 end local 2 11: StackMap locals:
StackMap stack: java.lang.Exception
pop
12: aconst_null
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lcom/jcraft/jsch/KeyPairRSA;
0 13 1 data [B
1 11 2 c Ljava/lang/Class;
2 11 3 rsa Lcom/jcraft/jsch/SignatureRSA;
6 11 4 sig [B
7 11 5 tmp [[B
Exception table:
from to target type
0 10 11 Class java.lang.Exception
MethodParameters:
Name Flags
data
public com.jcraft.jsch.Signature getVerifier();
descriptor: ()Lcom/jcraft/jsch/Signature;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=1
start local 0 0: ldc "signature.rsa"
invokestatic com.jcraft.jsch.JSch.getConfig:(Ljava/lang/String;)Ljava/lang/String;
invokestatic java.lang.Class.forName:(Ljava/lang/String;)Ljava/lang/Class;
astore 1
start local 1 1: aload 1
invokevirtual java.lang.Class.newInstance:()Ljava/lang/Object;
checkcast com.jcraft.jsch.SignatureRSA
astore 2
start local 2 2: aload 2
invokeinterface com.jcraft.jsch.SignatureRSA.init:()V
3: aload 0
getfield com.jcraft.jsch.KeyPairRSA.pub_array:[B
ifnonnull 8
aload 0
getfield com.jcraft.jsch.KeyPairRSA.n_array:[B
ifnonnull 8
aload 0
invokevirtual com.jcraft.jsch.KeyPairRSA.getPublicKeyBlob:()[B
ifnull 8
4: new com.jcraft.jsch.Buffer
dup
aload 0
invokevirtual com.jcraft.jsch.KeyPairRSA.getPublicKeyBlob:()[B
invokespecial com.jcraft.jsch.Buffer.<init>:([B)V
astore 3
start local 3 5: aload 3
invokevirtual com.jcraft.jsch.Buffer.getString:()[B
pop
6: aload 0
aload 3
invokevirtual com.jcraft.jsch.Buffer.getString:()[B
putfield com.jcraft.jsch.KeyPairRSA.pub_array:[B
7: aload 0
aload 3
invokevirtual com.jcraft.jsch.Buffer.getString:()[B
putfield com.jcraft.jsch.KeyPairRSA.n_array:[B
end local 3 8: StackMap locals: java.lang.Class com.jcraft.jsch.SignatureRSA
StackMap stack:
aload 2
aload 0
getfield com.jcraft.jsch.KeyPairRSA.pub_array:[B
aload 0
getfield com.jcraft.jsch.KeyPairRSA.n_array:[B
invokeinterface com.jcraft.jsch.SignatureRSA.setPubKey:([B[B)V
9: aload 2
10: areturn
end local 2 end local 1 11: StackMap locals: com.jcraft.jsch.KeyPairRSA
StackMap stack: java.lang.Exception
pop
12: aconst_null
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lcom/jcraft/jsch/KeyPairRSA;
1 11 1 c Ljava/lang/Class;
2 11 2 rsa Lcom/jcraft/jsch/SignatureRSA;
5 8 3 buf Lcom/jcraft/jsch/Buffer;
Exception table:
from to target type
0 10 11 Class java.lang.Exception
static com.jcraft.jsch.KeyPair fromSSHAgent(com.jcraft.jsch.JSch, com.jcraft.jsch.Buffer);
descriptor: (Lcom/jcraft/jsch/JSch;Lcom/jcraft/jsch/Buffer;)Lcom/jcraft/jsch/KeyPair;
flags: (0x0008) ACC_STATIC
Code:
stack=6, locals=7, args_size=2
start local 0 start local 1 0: aload 1
bipush 8
ldc "invalid key format"
invokevirtual com.jcraft.jsch.Buffer.getBytes:(ILjava/lang/String;)[[B
astore 2
start local 2 1: aload 2
iconst_1
aaload
astore 3
start local 3 2: aload 2
iconst_2
aaload
astore 4
start local 4 3: aload 2
iconst_3
aaload
astore 5
start local 5 4: new com.jcraft.jsch.KeyPairRSA
dup
aload 0
aload 3
aload 4
aload 5
invokespecial com.jcraft.jsch.KeyPairRSA.<init>:(Lcom/jcraft/jsch/JSch;[B[B[B)V
astore 6
start local 6 5: aload 6
aload 2
iconst_4
aaload
putfield com.jcraft.jsch.KeyPairRSA.c_array:[B
6: aload 6
aload 2
iconst_5
aaload
putfield com.jcraft.jsch.KeyPairRSA.p_array:[B
7: aload 6
aload 2
bipush 6
aaload
putfield com.jcraft.jsch.KeyPairRSA.q_array:[B
8: aload 6
new java.lang.String
dup
aload 2
bipush 7
aaload
invokespecial java.lang.String.<init>:([B)V
putfield com.jcraft.jsch.KeyPairRSA.publicKeyComment:Ljava/lang/String;
9: aload 6
iconst_0
putfield com.jcraft.jsch.KeyPairRSA.vendor:I
10: aload 6
areturn
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 jsch Lcom/jcraft/jsch/JSch;
0 11 1 buf Lcom/jcraft/jsch/Buffer;
1 11 2 tmp [[B
2 11 3 n_array [B
3 11 4 pub_array [B
4 11 5 prv_array [B
5 11 6 kpair Lcom/jcraft/jsch/KeyPairRSA;
Exceptions:
throws com.jcraft.jsch.JSchException
MethodParameters:
Name Flags
jsch
buf
public byte[] ();
descriptor: ()[B
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=1
start local 0 0: aload 0
invokevirtual com.jcraft.jsch.KeyPairRSA.isEncrypted:()Z
ifeq 2
1: new com.jcraft.jsch.JSchException
dup
ldc "key is encrypted."
invokespecial com.jcraft.jsch.JSchException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
new com.jcraft.jsch.Buffer
dup
invokespecial com.jcraft.jsch.Buffer.<init>:()V
astore 1
start local 1 3: aload 1
getstatic com.jcraft.jsch.KeyPairRSA.sshrsa:[B
invokevirtual com.jcraft.jsch.Buffer.putString:([B)V
4: aload 1
aload 0
getfield com.jcraft.jsch.KeyPairRSA.n_array:[B
invokevirtual com.jcraft.jsch.Buffer.putString:([B)V
5: aload 1
aload 0
getfield com.jcraft.jsch.KeyPairRSA.pub_array:[B
invokevirtual com.jcraft.jsch.Buffer.putString:([B)V
6: aload 1
aload 0
getfield com.jcraft.jsch.KeyPairRSA.prv_array:[B
invokevirtual com.jcraft.jsch.Buffer.putString:([B)V
7: aload 1
aload 0
invokevirtual com.jcraft.jsch.KeyPairRSA.getCArray:()[B
invokevirtual com.jcraft.jsch.Buffer.putString:([B)V
8: aload 1
aload 0
getfield com.jcraft.jsch.KeyPairRSA.p_array:[B
invokevirtual com.jcraft.jsch.Buffer.putString:([B)V
9: aload 1
aload 0
getfield com.jcraft.jsch.KeyPairRSA.q_array:[B
invokevirtual com.jcraft.jsch.Buffer.putString:([B)V
10: aload 1
aload 0
getfield com.jcraft.jsch.KeyPairRSA.publicKeyComment:Ljava/lang/String;
invokestatic com.jcraft.jsch.Util.str2byte:(Ljava/lang/String;)[B
invokevirtual com.jcraft.jsch.Buffer.putString:([B)V
11: aload 1
invokevirtual com.jcraft.jsch.Buffer.getLength:()I
newarray 8
astore 2
start local 2 12: aload 1
aload 2
iconst_0
aload 2
arraylength
invokevirtual com.jcraft.jsch.Buffer.getByte:([BII)V
13: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lcom/jcraft/jsch/KeyPairRSA;
3 14 1 buf Lcom/jcraft/jsch/Buffer;
12 14 2 result [B
Exceptions:
throws com.jcraft.jsch.JSchException
private byte[] getEPArray();
descriptor: ()[B
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=1, args_size=1
start local 0 0: aload 0
getfield com.jcraft.jsch.KeyPairRSA.ep_array:[B
ifnonnull 2
1: aload 0
new java.math.BigInteger
dup
aload 0
getfield com.jcraft.jsch.KeyPairRSA.prv_array:[B
invokespecial java.math.BigInteger.<init>:([B)V
new java.math.BigInteger
dup
aload 0
getfield com.jcraft.jsch.KeyPairRSA.p_array:[B
invokespecial java.math.BigInteger.<init>:([B)V
getstatic java.math.BigInteger.ONE:Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.subtract:(Ljava/math/BigInteger;)Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.mod:(Ljava/math/BigInteger;)Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.toByteArray:()[B
putfield com.jcraft.jsch.KeyPairRSA.ep_array:[B
2: StackMap locals:
StackMap stack:
aload 0
getfield com.jcraft.jsch.KeyPairRSA.ep_array:[B
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/jcraft/jsch/KeyPairRSA;
private byte[] getEQArray();
descriptor: ()[B
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=1, args_size=1
start local 0 0: aload 0
getfield com.jcraft.jsch.KeyPairRSA.eq_array:[B
ifnonnull 2
1: aload 0
new java.math.BigInteger
dup
aload 0
getfield com.jcraft.jsch.KeyPairRSA.prv_array:[B
invokespecial java.math.BigInteger.<init>:([B)V
new java.math.BigInteger
dup
aload 0
getfield com.jcraft.jsch.KeyPairRSA.q_array:[B
invokespecial java.math.BigInteger.<init>:([B)V
getstatic java.math.BigInteger.ONE:Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.subtract:(Ljava/math/BigInteger;)Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.mod:(Ljava/math/BigInteger;)Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.toByteArray:()[B
putfield com.jcraft.jsch.KeyPairRSA.eq_array:[B
2: StackMap locals:
StackMap stack:
aload 0
getfield com.jcraft.jsch.KeyPairRSA.eq_array:[B
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/jcraft/jsch/KeyPairRSA;
private byte[] getCArray();
descriptor: ()[B
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=1, args_size=1
start local 0 0: aload 0
getfield com.jcraft.jsch.KeyPairRSA.c_array:[B
ifnonnull 2
1: aload 0
new java.math.BigInteger
dup
aload 0
getfield com.jcraft.jsch.KeyPairRSA.q_array:[B
invokespecial java.math.BigInteger.<init>:([B)V
new java.math.BigInteger
dup
aload 0
getfield com.jcraft.jsch.KeyPairRSA.p_array:[B
invokespecial java.math.BigInteger.<init>:([B)V
invokevirtual java.math.BigInteger.modInverse:(Ljava/math/BigInteger;)Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.toByteArray:()[B
putfield com.jcraft.jsch.KeyPairRSA.c_array:[B
2: StackMap locals:
StackMap stack:
aload 0
getfield com.jcraft.jsch.KeyPairRSA.c_array:[B
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/jcraft/jsch/KeyPairRSA;
public void dispose();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial com.jcraft.jsch.KeyPair.dispose:()V
1: aload 0
getfield com.jcraft.jsch.KeyPairRSA.prv_array:[B
invokestatic com.jcraft.jsch.Util.bzero:([B)V
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/jcraft/jsch/KeyPairRSA;
}
SourceFile: "KeyPairRSA.java"