public class com.jcraft.jsch.KeyPairDSA extends com.jcraft.jsch.KeyPair
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: com.jcraft.jsch.KeyPairDSA
super_class: com.jcraft.jsch.KeyPair
{
private byte[] P_array;
descriptor: [B
flags: (0x0002) ACC_PRIVATE
private byte[] Q_array;
descriptor: [B
flags: (0x0002) ACC_PRIVATE
private byte[] G_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 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[] sshdss;
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 DSA PRIVATE KEY-----"
invokestatic com.jcraft.jsch.Util.str2byte:(Ljava/lang/String;)[B
putstatic com.jcraft.jsch.KeyPairDSA.begin:[B
1: ldc "-----END DSA PRIVATE KEY-----"
invokestatic com.jcraft.jsch.Util.str2byte:(Ljava/lang/String;)[B
putstatic com.jcraft.jsch.KeyPairDSA.end:[B
2: ldc "ssh-dss"
invokestatic com.jcraft.jsch.Util.str2byte:(Ljava/lang/String;)[B
putstatic com.jcraft.jsch.KeyPairDSA.sshdss:[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=7, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
aconst_null
aconst_null
aconst_null
aconst_null
aconst_null
invokespecial com.jcraft.jsch.KeyPairDSA.<init>:(Lcom/jcraft/jsch/JSch;[B[B[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/KeyPairDSA;
0 2 1 jsch Lcom/jcraft/jsch/JSch;
MethodParameters:
Name Flags
jsch
public void <init>(com.jcraft.jsch.JSch, byte[], byte[], byte[], byte[], byte[]);
descriptor: (Lcom/jcraft/jsch/JSch;[B[B[B[B[B)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=7, args_size=7
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 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.KeyPairDSA.key_size:I
2: aload 0
aload 2
putfield com.jcraft.jsch.KeyPairDSA.P_array:[B
3: aload 0
aload 3
putfield com.jcraft.jsch.KeyPairDSA.Q_array:[B
4: aload 0
aload 4
putfield com.jcraft.jsch.KeyPairDSA.G_array:[B
5: aload 0
aload 5
putfield com.jcraft.jsch.KeyPairDSA.pub_array:[B
6: aload 0
aload 6
putfield com.jcraft.jsch.KeyPairDSA.prv_array:[B
7: aload 2
ifnull 9
8: 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.KeyPairDSA.key_size:I
9: StackMap locals: com.jcraft.jsch.KeyPairDSA com.jcraft.jsch.JSch byte[] byte[] byte[] byte[] byte[]
StackMap stack:
return
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 10 0 this Lcom/jcraft/jsch/KeyPairDSA;
0 10 1 jsch Lcom/jcraft/jsch/JSch;
0 10 2 P_array [B
0 10 3 Q_array [B
0 10 4 G_array [B
0 10 5 pub_array [B
0 10 6 prv_array [B
MethodParameters:
Name Flags
jsch
P_array
Q_array
G_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.KeyPairDSA.key_size:I
1: ldc "keypairgen.dsa"
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.KeyPairGenDSA
astore 3
start local 3 3: aload 3
iload 1
invokeinterface com.jcraft.jsch.KeyPairGenDSA.init:(I)V
4: aload 0
aload 3
invokeinterface com.jcraft.jsch.KeyPairGenDSA.getP:()[B
putfield com.jcraft.jsch.KeyPairDSA.P_array:[B
5: aload 0
aload 3
invokeinterface com.jcraft.jsch.KeyPairGenDSA.getQ:()[B
putfield com.jcraft.jsch.KeyPairDSA.Q_array:[B
6: aload 0
aload 3
invokeinterface com.jcraft.jsch.KeyPairGenDSA.getG:()[B
putfield com.jcraft.jsch.KeyPairDSA.G_array:[B
7: aload 0
aload 3
invokeinterface com.jcraft.jsch.KeyPairGenDSA.getY:()[B
putfield com.jcraft.jsch.KeyPairDSA.pub_array:[B
8: aload 0
aload 3
invokeinterface com.jcraft.jsch.KeyPairGenDSA.getX:()[B
putfield com.jcraft.jsch.KeyPairDSA.prv_array:[B
9: aconst_null
astore 3
end local 3 end local 2 10: goto 15
11: StackMap locals:
StackMap stack: java.lang.Exception
astore 2
start local 2 12: aload 2
instanceof java.lang.Throwable
ifeq 14
13: 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
14: 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 15: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Lcom/jcraft/jsch/KeyPairDSA;
0 16 1 key_size I
2 10 2 c Ljava/lang/Class;
3 10 3 keypairgen Lcom/jcraft/jsch/KeyPairGenDSA;
12 15 2 e Ljava/lang/Exception;
Exception table:
from to target type
1 10 11 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.KeyPairDSA.begin:[B
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/jcraft/jsch/KeyPairDSA;
byte[] getEnd();
descriptor: ()[B
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: getstatic com.jcraft.jsch.KeyPairDSA.end:[B
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/jcraft/jsch/KeyPairDSA;
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.KeyPairDSA.countLength:(I)I
iadd
iconst_1
iadd
1: iconst_1
2: iadd
3: aload 0
aload 0
getfield com.jcraft.jsch.KeyPairDSA.P_array:[B
arraylength
invokevirtual com.jcraft.jsch.KeyPairDSA.countLength:(I)I
4: iadd
5: aload 0
getfield com.jcraft.jsch.KeyPairDSA.P_array:[B
arraylength
6: iadd
7: iconst_1
8: iadd
9: aload 0
aload 0
getfield com.jcraft.jsch.KeyPairDSA.Q_array:[B
arraylength
invokevirtual com.jcraft.jsch.KeyPairDSA.countLength:(I)I
10: iadd
11: aload 0
getfield com.jcraft.jsch.KeyPairDSA.Q_array:[B
arraylength
12: iadd
13: iconst_1
14: iadd
15: aload 0
aload 0
getfield com.jcraft.jsch.KeyPairDSA.G_array:[B
arraylength
invokevirtual com.jcraft.jsch.KeyPairDSA.countLength:(I)I
16: iadd
17: aload 0
getfield com.jcraft.jsch.KeyPairDSA.G_array:[B
arraylength
18: iadd
19: iconst_1
20: iadd
21: aload 0
aload 0
getfield com.jcraft.jsch.KeyPairDSA.pub_array:[B
arraylength
invokevirtual com.jcraft.jsch.KeyPairDSA.countLength:(I)I
22: iadd
23: aload 0
getfield com.jcraft.jsch.KeyPairDSA.pub_array:[B
arraylength
24: iadd
25: iconst_1
26: iadd
27: aload 0
aload 0
getfield com.jcraft.jsch.KeyPairDSA.prv_array:[B
arraylength
invokevirtual com.jcraft.jsch.KeyPairDSA.countLength:(I)I
28: iadd
29: aload 0
getfield com.jcraft.jsch.KeyPairDSA.prv_array:[B
arraylength
30: iadd
31: istore 1
start local 1 32: iconst_1
aload 0
iload 1
invokevirtual com.jcraft.jsch.KeyPairDSA.countLength:(I)I
iadd
iload 1
iadd
33: istore 2
start local 2 34: iload 2
newarray 8
astore 3
start local 3 35: iconst_0
istore 4
start local 4 36: aload 0
aload 3
iload 4
iload 1
invokevirtual com.jcraft.jsch.KeyPairDSA.writeSEQUENCE:([BII)I
istore 4
37: aload 0
aload 3
iload 4
iconst_1
newarray 8
invokevirtual com.jcraft.jsch.KeyPairDSA.writeINTEGER:([BI[B)I
istore 4
38: aload 0
aload 3
iload 4
aload 0
getfield com.jcraft.jsch.KeyPairDSA.P_array:[B
invokevirtual com.jcraft.jsch.KeyPairDSA.writeINTEGER:([BI[B)I
istore 4
39: aload 0
aload 3
iload 4
aload 0
getfield com.jcraft.jsch.KeyPairDSA.Q_array:[B
invokevirtual com.jcraft.jsch.KeyPairDSA.writeINTEGER:([BI[B)I
istore 4
40: aload 0
aload 3
iload 4
aload 0
getfield com.jcraft.jsch.KeyPairDSA.G_array:[B
invokevirtual com.jcraft.jsch.KeyPairDSA.writeINTEGER:([BI[B)I
istore 4
41: aload 0
aload 3
iload 4
aload 0
getfield com.jcraft.jsch.KeyPairDSA.pub_array:[B
invokevirtual com.jcraft.jsch.KeyPairDSA.writeINTEGER:([BI[B)I
istore 4
42: aload 0
aload 3
iload 4
aload 0
getfield com.jcraft.jsch.KeyPairDSA.prv_array:[B
invokevirtual com.jcraft.jsch.KeyPairDSA.writeINTEGER:([BI[B)I
istore 4
43: 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 44 0 this Lcom/jcraft/jsch/KeyPairDSA;
32 44 1 content I
34 44 2 total I
35 44 3 plain [B
36 44 4 index I
boolean parse(byte[]);
descriptor: ([B)Z
flags: (0x0000)
Code:
stack=5, locals=5, args_size=2
start local 0 start local 1 0: aload 0
getfield com.jcraft.jsch.KeyPairDSA.vendor:I
iconst_1
if_icmpne 13
1: aload 1
iconst_0
baload
bipush 48
if_icmpeq 12
2: new com.jcraft.jsch.Buffer
dup
aload 1
invokespecial com.jcraft.jsch.Buffer.<init>:([B)V
astore 2
start local 2 3: aload 2
invokevirtual com.jcraft.jsch.Buffer.getInt:()I
pop
4: aload 0
aload 2
invokevirtual com.jcraft.jsch.Buffer.getMPIntBits:()[B
putfield com.jcraft.jsch.KeyPairDSA.P_array:[B
5: aload 0
aload 2
invokevirtual com.jcraft.jsch.Buffer.getMPIntBits:()[B
putfield com.jcraft.jsch.KeyPairDSA.G_array:[B
6: aload 0
aload 2
invokevirtual com.jcraft.jsch.Buffer.getMPIntBits:()[B
putfield com.jcraft.jsch.KeyPairDSA.Q_array:[B
7: aload 0
aload 2
invokevirtual com.jcraft.jsch.Buffer.getMPIntBits:()[B
putfield com.jcraft.jsch.KeyPairDSA.pub_array:[B
8: aload 0
aload 2
invokevirtual com.jcraft.jsch.Buffer.getMPIntBits:()[B
putfield com.jcraft.jsch.KeyPairDSA.prv_array:[B
9: aload 0
getfield com.jcraft.jsch.KeyPairDSA.P_array:[B
ifnull 11
10: aload 0
new java.math.BigInteger
dup
aload 0
getfield com.jcraft.jsch.KeyPairDSA.P_array:[B
invokespecial java.math.BigInteger.<init>:([B)V
invokevirtual java.math.BigInteger.bitLength:()I
putfield com.jcraft.jsch.KeyPairDSA.key_size:I
11: StackMap locals: com.jcraft.jsch.Buffer
StackMap stack:
iconst_1
ireturn
end local 2 12: StackMap locals:
StackMap stack:
iconst_0
ireturn
13: StackMap locals:
StackMap stack:
aload 0
getfield com.jcraft.jsch.KeyPairDSA.vendor:I
iconst_2
if_icmpne 22
14: new com.jcraft.jsch.Buffer
dup
aload 1
invokespecial com.jcraft.jsch.Buffer.<init>:([B)V
astore 2
start local 2 15: aload 2
aload 1
arraylength
invokevirtual com.jcraft.jsch.Buffer.skip:(I)V
16: aload 2
iconst_1
ldc ""
invokevirtual com.jcraft.jsch.Buffer.getBytes:(ILjava/lang/String;)[[B
astore 3
start local 3 17: aload 0
aload 3
iconst_0
aaload
putfield com.jcraft.jsch.KeyPairDSA.prv_array:[B
end local 3 18: goto 21
19: StackMap locals: com.jcraft.jsch.KeyPairDSA byte[] com.jcraft.jsch.Buffer
StackMap stack: com.jcraft.jsch.JSchException
pop
20: iconst_0
ireturn
21: StackMap locals:
StackMap stack:
iconst_1
ireturn
end local 2 22: StackMap locals:
StackMap stack:
iconst_0
istore 2
start local 2 23: iconst_0
istore 3
start local 3 24: aload 1
iload 2
baload
bipush 48
if_icmpeq 26
25: iconst_0
ireturn
26: StackMap locals: int int
StackMap stack:
iinc 2 1
27: aload 1
iload 2
iinc 2 1
baload
sipush 255
iand
istore 3
28: iload 3
sipush 128
iand
ifeq 34
29: iload 3
bipush 127
iand
istore 4
start local 4 30: iconst_0
istore 3
31: goto 33
StackMap locals: int
StackMap stack:
32: iload 3
bipush 8
ishl
aload 1
iload 2
iinc 2 1
baload
sipush 255
iand
iadd
istore 3
StackMap locals:
StackMap stack:
33: iload 4
iinc 4 -1
ifgt 32
end local 4 34: StackMap locals:
StackMap stack:
aload 1
iload 2
baload
iconst_2
if_icmpeq 36
35: iconst_0
ireturn
36: StackMap locals:
StackMap stack:
iinc 2 1
37: aload 1
iload 2
iinc 2 1
baload
sipush 255
iand
istore 3
38: iload 3
sipush 128
iand
ifeq 44
39: iload 3
bipush 127
iand
istore 4
start local 4 40: iconst_0
istore 3
41: goto 43
StackMap locals: int
StackMap stack:
42: iload 3
bipush 8
ishl
aload 1
iload 2
iinc 2 1
baload
sipush 255
iand
iadd
istore 3
StackMap locals:
StackMap stack:
43: iload 4
iinc 4 -1
ifgt 42
end local 4 44: StackMap locals:
StackMap stack:
iload 2
iload 3
iadd
istore 2
45: iinc 2 1
46: aload 1
iload 2
iinc 2 1
baload
sipush 255
iand
istore 3
47: iload 3
sipush 128
iand
ifeq 53
48: iload 3
bipush 127
iand
istore 4
start local 4 49: iconst_0
istore 3
50: goto 52
StackMap locals: int
StackMap stack:
51: iload 3
bipush 8
ishl
aload 1
iload 2
iinc 2 1
baload
sipush 255
iand
iadd
istore 3
StackMap locals:
StackMap stack:
52: iload 4
iinc 4 -1
ifgt 51
end local 4 53: StackMap locals:
StackMap stack:
aload 0
iload 3
newarray 8
putfield com.jcraft.jsch.KeyPairDSA.P_array:[B
54: aload 1
iload 2
aload 0
getfield com.jcraft.jsch.KeyPairDSA.P_array:[B
iconst_0
iload 3
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
55: iload 2
iload 3
iadd
istore 2
56: iinc 2 1
57: aload 1
iload 2
iinc 2 1
baload
sipush 255
iand
istore 3
58: iload 3
sipush 128
iand
ifeq 64
59: iload 3
bipush 127
iand
istore 4
start local 4 60: iconst_0
istore 3
61: goto 63
StackMap locals: int
StackMap stack:
62: iload 3
bipush 8
ishl
aload 1
iload 2
iinc 2 1
baload
sipush 255
iand
iadd
istore 3
StackMap locals:
StackMap stack:
63: iload 4
iinc 4 -1
ifgt 62
end local 4 64: StackMap locals:
StackMap stack:
aload 0
iload 3
newarray 8
putfield com.jcraft.jsch.KeyPairDSA.Q_array:[B
65: aload 1
iload 2
aload 0
getfield com.jcraft.jsch.KeyPairDSA.Q_array:[B
iconst_0
iload 3
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
66: iload 2
iload 3
iadd
istore 2
67: iinc 2 1
68: aload 1
iload 2
iinc 2 1
baload
sipush 255
iand
istore 3
69: iload 3
sipush 128
iand
ifeq 75
70: iload 3
bipush 127
iand
istore 4
start local 4 71: iconst_0
istore 3
72: goto 74
StackMap locals: int
StackMap stack:
73: iload 3
bipush 8
ishl
aload 1
iload 2
iinc 2 1
baload
sipush 255
iand
iadd
istore 3
StackMap locals:
StackMap stack:
74: iload 4
iinc 4 -1
ifgt 73
end local 4 75: StackMap locals:
StackMap stack:
aload 0
iload 3
newarray 8
putfield com.jcraft.jsch.KeyPairDSA.G_array:[B
76: aload 1
iload 2
aload 0
getfield com.jcraft.jsch.KeyPairDSA.G_array:[B
iconst_0
iload 3
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
77: iload 2
iload 3
iadd
istore 2
78: iinc 2 1
79: aload 1
iload 2
iinc 2 1
baload
sipush 255
iand
istore 3
80: iload 3
sipush 128
iand
ifeq 86
81: iload 3
bipush 127
iand
istore 4
start local 4 82: iconst_0
istore 3
83: goto 85
StackMap locals: int
StackMap stack:
84: iload 3
bipush 8
ishl
aload 1
iload 2
iinc 2 1
baload
sipush 255
iand
iadd
istore 3
StackMap locals:
StackMap stack:
85: iload 4
iinc 4 -1
ifgt 84
end local 4 86: StackMap locals:
StackMap stack:
aload 0
iload 3
newarray 8
putfield com.jcraft.jsch.KeyPairDSA.pub_array:[B
87: aload 1
iload 2
aload 0
getfield com.jcraft.jsch.KeyPairDSA.pub_array:[B
iconst_0
iload 3
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
88: iload 2
iload 3
iadd
istore 2
89: iinc 2 1
90: aload 1
iload 2
iinc 2 1
baload
sipush 255
iand
istore 3
91: iload 3
sipush 128
iand
ifeq 97
92: iload 3
bipush 127
iand
istore 4
start local 4 93: iconst_0
istore 3
94: goto 96
StackMap locals: int
StackMap stack:
95: iload 3
bipush 8
ishl
aload 1
iload 2
iinc 2 1
baload
sipush 255
iand
iadd
istore 3
StackMap locals:
StackMap stack:
96: iload 4
iinc 4 -1
ifgt 95
end local 4 97: StackMap locals:
StackMap stack:
aload 0
iload 3
newarray 8
putfield com.jcraft.jsch.KeyPairDSA.prv_array:[B
98: aload 1
iload 2
aload 0
getfield com.jcraft.jsch.KeyPairDSA.prv_array:[B
iconst_0
iload 3
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
99: iload 2
iload 3
iadd
istore 2
100: aload 0
getfield com.jcraft.jsch.KeyPairDSA.P_array:[B
ifnull 105
101: aload 0
new java.math.BigInteger
dup
aload 0
getfield com.jcraft.jsch.KeyPairDSA.P_array:[B
invokespecial java.math.BigInteger.<init>:([B)V
invokevirtual java.math.BigInteger.bitLength:()I
putfield com.jcraft.jsch.KeyPairDSA.key_size:I
end local 3 end local 2 102: goto 105
103: StackMap locals: com.jcraft.jsch.KeyPairDSA byte[]
StackMap stack: java.lang.Exception
pop
104: iconst_0
ireturn
105: StackMap locals:
StackMap stack:
iconst_1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 106 0 this Lcom/jcraft/jsch/KeyPairDSA;
0 106 1 plain [B
3 12 2 buf Lcom/jcraft/jsch/Buffer;
15 22 2 buf Lcom/jcraft/jsch/Buffer;
17 18 3 tmp [[B
23 102 2 index I
24 102 3 length I
30 34 4 foo I
40 44 4 foo I
49 53 4 foo I
60 64 4 foo I
71 75 4 foo I
82 86 4 foo I
93 97 4 foo I
Exception table:
from to target type
16 18 19 Class com.jcraft.jsch.JSchException
0 11 103 Class java.lang.Exception
13 20 103 Class java.lang.Exception
22 25 103 Class java.lang.Exception
26 35 103 Class java.lang.Exception
36 102 103 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.KeyPairDSA.P_array:[B
ifnonnull 3
aconst_null
areturn
3: StackMap locals:
StackMap stack:
iconst_5
anewarray byte[]
astore 2
start local 2 4: aload 2
iconst_0
getstatic com.jcraft.jsch.KeyPairDSA.sshdss:[B
aastore
5: aload 2
iconst_1
aload 0
getfield com.jcraft.jsch.KeyPairDSA.P_array:[B
aastore
6: aload 2
iconst_2
aload 0
getfield com.jcraft.jsch.KeyPairDSA.Q_array:[B
aastore
7: aload 2
iconst_3
aload 0
getfield com.jcraft.jsch.KeyPairDSA.G_array:[B
aastore
8: aload 2
iconst_4
aload 0
getfield com.jcraft.jsch.KeyPairDSA.pub_array:[B
aastore
9: 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 10 0 this Lcom/jcraft/jsch/KeyPairDSA;
1 10 1 foo [B
4 10 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.KeyPairDSA.sshdss:[B
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/jcraft/jsch/KeyPairDSA;
public int getKeyType();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/jcraft/jsch/KeyPairDSA;
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.KeyPairDSA.key_size:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/jcraft/jsch/KeyPairDSA;
public byte[] getSignature(byte[]);
descriptor: ([B)[B
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=6, args_size=2
start local 0 start local 1 0: ldc "signature.dss"
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.SignatureDSA
astore 3
start local 3 2: aload 3
invokeinterface com.jcraft.jsch.SignatureDSA.init:()V
3: aload 3
aload 0
getfield com.jcraft.jsch.KeyPairDSA.prv_array:[B
aload 0
getfield com.jcraft.jsch.KeyPairDSA.P_array:[B
aload 0
getfield com.jcraft.jsch.KeyPairDSA.Q_array:[B
aload 0
getfield com.jcraft.jsch.KeyPairDSA.G_array:[B
invokeinterface com.jcraft.jsch.SignatureDSA.setPrvKey:([B[B[B[B)V
4: aload 3
aload 1
invokeinterface com.jcraft.jsch.SignatureDSA.update:([B)V
5: aload 3
invokeinterface com.jcraft.jsch.SignatureDSA.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.KeyPairDSA.sshdss:[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/KeyPairDSA;
0 13 1 data [B
1 11 2 c Ljava/lang/Class;
2 11 3 dsa Lcom/jcraft/jsch/SignatureDSA;
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=5, locals=4, args_size=1
start local 0 0: ldc "signature.dss"
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.SignatureDSA
astore 2
start local 2 2: aload 2
invokeinterface com.jcraft.jsch.SignatureDSA.init:()V
3: aload 0
getfield com.jcraft.jsch.KeyPairDSA.pub_array:[B
ifnonnull 10
aload 0
getfield com.jcraft.jsch.KeyPairDSA.P_array:[B
ifnonnull 10
aload 0
invokevirtual com.jcraft.jsch.KeyPairDSA.getPublicKeyBlob:()[B
ifnull 10
4: new com.jcraft.jsch.Buffer
dup
aload 0
invokevirtual com.jcraft.jsch.KeyPairDSA.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.KeyPairDSA.P_array:[B
7: aload 0
aload 3
invokevirtual com.jcraft.jsch.Buffer.getString:()[B
putfield com.jcraft.jsch.KeyPairDSA.Q_array:[B
8: aload 0
aload 3
invokevirtual com.jcraft.jsch.Buffer.getString:()[B
putfield com.jcraft.jsch.KeyPairDSA.G_array:[B
9: aload 0
aload 3
invokevirtual com.jcraft.jsch.Buffer.getString:()[B
putfield com.jcraft.jsch.KeyPairDSA.pub_array:[B
end local 3 10: StackMap locals: java.lang.Class com.jcraft.jsch.SignatureDSA
StackMap stack:
aload 2
aload 0
getfield com.jcraft.jsch.KeyPairDSA.pub_array:[B
aload 0
getfield com.jcraft.jsch.KeyPairDSA.P_array:[B
aload 0
getfield com.jcraft.jsch.KeyPairDSA.Q_array:[B
aload 0
getfield com.jcraft.jsch.KeyPairDSA.G_array:[B
invokeinterface com.jcraft.jsch.SignatureDSA.setPubKey:([B[B[B[B)V
11: aload 2
12: areturn
end local 2 end local 1 13: StackMap locals: com.jcraft.jsch.KeyPairDSA
StackMap stack: java.lang.Exception
pop
14: aconst_null
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lcom/jcraft/jsch/KeyPairDSA;
1 13 1 c Ljava/lang/Class;
2 13 2 dsa Lcom/jcraft/jsch/SignatureDSA;
5 10 3 buf Lcom/jcraft/jsch/Buffer;
Exception table:
from to target type
0 12 13 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=8, locals=9, args_size=2
start local 0 start local 1 0: aload 1
bipush 7
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: aload 2
iconst_4
aaload
astore 6
start local 6 5: aload 2
iconst_5
aaload
astore 7
start local 7 6: new com.jcraft.jsch.KeyPairDSA
dup
aload 0
7: aload 3
aload 4
aload 5
8: aload 6
aload 7
9: invokespecial com.jcraft.jsch.KeyPairDSA.<init>:(Lcom/jcraft/jsch/JSch;[B[B[B[B[B)V
astore 8
start local 8 10: aload 8
new java.lang.String
dup
aload 2
bipush 6
aaload
invokespecial java.lang.String.<init>:([B)V
putfield com.jcraft.jsch.KeyPairDSA.publicKeyComment:Ljava/lang/String;
11: aload 8
iconst_0
putfield com.jcraft.jsch.KeyPairDSA.vendor:I
12: aload 8
areturn
end local 8 end local 7 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 13 0 jsch Lcom/jcraft/jsch/JSch;
0 13 1 buf Lcom/jcraft/jsch/Buffer;
1 13 2 tmp [[B
2 13 3 P_array [B
3 13 4 Q_array [B
4 13 5 G_array [B
5 13 6 pub_array [B
6 13 7 prv_array [B
10 13 8 kpair Lcom/jcraft/jsch/KeyPairDSA;
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.KeyPairDSA.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.KeyPairDSA.sshdss:[B
invokevirtual com.jcraft.jsch.Buffer.putString:([B)V
4: aload 1
aload 0
getfield com.jcraft.jsch.KeyPairDSA.P_array:[B
invokevirtual com.jcraft.jsch.Buffer.putString:([B)V
5: aload 1
aload 0
getfield com.jcraft.jsch.KeyPairDSA.Q_array:[B
invokevirtual com.jcraft.jsch.Buffer.putString:([B)V
6: aload 1
aload 0
getfield com.jcraft.jsch.KeyPairDSA.G_array:[B
invokevirtual com.jcraft.jsch.Buffer.putString:([B)V
7: aload 1
aload 0
getfield com.jcraft.jsch.KeyPairDSA.pub_array:[B
invokevirtual com.jcraft.jsch.Buffer.putString:([B)V
8: aload 1
aload 0
getfield com.jcraft.jsch.KeyPairDSA.prv_array:[B
invokevirtual com.jcraft.jsch.Buffer.putString:([B)V
9: aload 1
aload 0
getfield com.jcraft.jsch.KeyPairDSA.publicKeyComment:Ljava/lang/String;
invokestatic com.jcraft.jsch.Util.str2byte:(Ljava/lang/String;)[B
invokevirtual com.jcraft.jsch.Buffer.putString:([B)V
10: aload 1
invokevirtual com.jcraft.jsch.Buffer.getLength:()I
newarray 8
astore 2
start local 2 11: aload 1
aload 2
iconst_0
aload 2
arraylength
invokevirtual com.jcraft.jsch.Buffer.getByte:([BII)V
12: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lcom/jcraft/jsch/KeyPairDSA;
3 13 1 buf Lcom/jcraft/jsch/Buffer;
11 13 2 result [B
Exceptions:
throws com.jcraft.jsch.JSchException
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.KeyPairDSA.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/KeyPairDSA;
}
SourceFile: "KeyPairDSA.java"