public class com.jcraft.jsch.KeyPairECDSA extends com.jcraft.jsch.KeyPair
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: com.jcraft.jsch.KeyPairECDSA
super_class: com.jcraft.jsch.KeyPair
{
private static byte[][] oids;
descriptor: [[B
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static java.lang.String[] names;
descriptor: [Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private byte[] name;
descriptor: [B
flags: (0x0002) ACC_PRIVATE
private byte[] r_array;
descriptor: [B
flags: (0x0002) ACC_PRIVATE
private byte[] s_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
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=7, locals=0, args_size=0
0: iconst_3
anewarray byte[]
dup
iconst_0
1: bipush 10
newarray 8
dup
iconst_0
bipush 6
bastore
dup
iconst_1
bipush 8
bastore
dup
iconst_2
bipush 42
bastore
dup
iconst_3
bipush -122
bastore
dup
iconst_4
bipush 72
bastore
dup
iconst_5
2: bipush -50
bastore
dup
bipush 6
bipush 61
bastore
dup
bipush 7
iconst_3
bastore
dup
bipush 8
iconst_1
bastore
dup
bipush 9
bipush 7
bastore
aastore
dup
iconst_1
3: bipush 7
newarray 8
dup
iconst_0
bipush 6
bastore
dup
iconst_1
iconst_5
bastore
dup
iconst_2
bipush 43
bastore
dup
iconst_3
bipush -127
bastore
dup
iconst_4
iconst_4
bastore
dup
bipush 6
4: bipush 34
bastore
aastore
dup
iconst_2
5: bipush 7
newarray 8
dup
iconst_0
bipush 6
bastore
dup
iconst_1
iconst_5
bastore
dup
iconst_2
bipush 43
bastore
dup
iconst_3
bipush -127
bastore
dup
iconst_4
iconst_4
bastore
dup
bipush 6
6: bipush 35
bastore
aastore
7: putstatic com.jcraft.jsch.KeyPairECDSA.oids:[[B
8: iconst_3
anewarray java.lang.String
dup
iconst_0
9: ldc "nistp256"
aastore
dup
iconst_1
ldc "nistp384"
aastore
dup
iconst_2
ldc "nistp521"
aastore
10: putstatic com.jcraft.jsch.KeyPairECDSA.names:[Ljava/lang/String;
11: ldc "-----BEGIN EC PRIVATE KEY-----"
invokestatic com.jcraft.jsch.Util.str2byte:(Ljava/lang/String;)[B
12: putstatic com.jcraft.jsch.KeyPairECDSA.begin:[B
13: ldc "-----END EC PRIVATE KEY-----"
invokestatic com.jcraft.jsch.Util.str2byte:(Ljava/lang/String;)[B
14: putstatic com.jcraft.jsch.KeyPairECDSA.end:[B
15: 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=6, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
aconst_null
aconst_null
aconst_null
aconst_null
invokespecial com.jcraft.jsch.KeyPairECDSA.<init>:(Lcom/jcraft/jsch/JSch;[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/KeyPairECDSA;
0 2 1 jsch Lcom/jcraft/jsch/JSch;
MethodParameters:
Name Flags
jsch
public void <init>(com.jcraft.jsch.JSch, byte[]);
descriptor: (Lcom/jcraft/jsch/JSch;[B)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aconst_null
aconst_null
aconst_null
aconst_null
invokespecial com.jcraft.jsch.KeyPairECDSA.<init>:(Lcom/jcraft/jsch/JSch;[B[B[B[B)V
1: aload 2
ifnull 10
2: bipush 8
newarray 8
astore 3
start local 3 3: aload 2
bipush 11
aload 3
iconst_0
bipush 8
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
4: aload 3
ldc "nistp384"
invokestatic com.jcraft.jsch.Util.str2byte:(Ljava/lang/String;)[B
invokestatic com.jcraft.jsch.Util.array_equals:([B[B)Z
ifeq 7
5: aload 0
sipush 384
putfield com.jcraft.jsch.KeyPairECDSA.key_size:I
6: aload 0
aload 3
putfield com.jcraft.jsch.KeyPairECDSA.name:[B
7: StackMap locals: com.jcraft.jsch.KeyPairECDSA com.jcraft.jsch.JSch byte[] byte[]
StackMap stack:
aload 3
ldc "nistp521"
invokestatic com.jcraft.jsch.Util.str2byte:(Ljava/lang/String;)[B
invokestatic com.jcraft.jsch.Util.array_equals:([B[B)Z
ifeq 10
8: aload 0
sipush 521
putfield com.jcraft.jsch.KeyPairECDSA.key_size:I
9: aload 0
aload 3
putfield com.jcraft.jsch.KeyPairECDSA.name:[B
end local 3 10: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lcom/jcraft/jsch/KeyPairECDSA;
0 11 1 jsch Lcom/jcraft/jsch/JSch;
0 11 2 pubkey [B
3 10 3 name [B
MethodParameters:
Name Flags
jsch
pubkey
public void <init>(com.jcraft.jsch.JSch, byte[], byte[], byte[], byte[]);
descriptor: (Lcom/jcraft/jsch/JSch;[B[B[B[B)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=6, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
aload 1
invokespecial com.jcraft.jsch.KeyPair.<init>:(Lcom/jcraft/jsch/JSch;)V
1: aload 0
getstatic com.jcraft.jsch.KeyPairECDSA.names:[Ljava/lang/String;
iconst_0
aaload
invokestatic com.jcraft.jsch.Util.str2byte:(Ljava/lang/String;)[B
putfield com.jcraft.jsch.KeyPairECDSA.name:[B
2: aload 0
sipush 256
putfield com.jcraft.jsch.KeyPairECDSA.key_size:I
3: aload 2
ifnull 5
4: aload 0
aload 2
putfield com.jcraft.jsch.KeyPairECDSA.name:[B
5: StackMap locals: com.jcraft.jsch.KeyPairECDSA com.jcraft.jsch.JSch byte[] byte[] byte[] byte[]
StackMap stack:
aload 0
aload 3
putfield com.jcraft.jsch.KeyPairECDSA.r_array:[B
6: aload 0
aload 4
putfield com.jcraft.jsch.KeyPairECDSA.s_array:[B
7: aload 0
aload 5
putfield com.jcraft.jsch.KeyPairECDSA.prv_array:[B
8: aload 5
ifnull 13
9: aload 0
aload 5
arraylength
bipush 64
if_icmplt 10
sipush 521
goto 12
10: StackMap locals:
StackMap stack: com.jcraft.jsch.KeyPairECDSA
aload 5
arraylength
bipush 48
if_icmplt 11
sipush 384
goto 12
StackMap locals:
StackMap stack: com.jcraft.jsch.KeyPairECDSA
11: sipush 256
12: StackMap locals: com.jcraft.jsch.KeyPairECDSA com.jcraft.jsch.JSch byte[] byte[] byte[] byte[]
StackMap stack: com.jcraft.jsch.KeyPairECDSA int
putfield com.jcraft.jsch.KeyPairECDSA.key_size:I
13: StackMap locals:
StackMap stack:
return
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 14 0 this Lcom/jcraft/jsch/KeyPairECDSA;
0 14 1 jsch Lcom/jcraft/jsch/JSch;
0 14 2 name [B
0 14 3 r_array [B
0 14 4 s_array [B
0 14 5 prv_array [B
MethodParameters:
Name Flags
jsch
name
r_array
s_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.KeyPairECDSA.key_size:I
1: ldc "keypairgen.ecdsa"
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.KeyPairGenECDSA
astore 3
start local 3 3: aload 3
iload 1
invokeinterface com.jcraft.jsch.KeyPairGenECDSA.init:(I)V
4: aload 0
aload 3
invokeinterface com.jcraft.jsch.KeyPairGenECDSA.getD:()[B
putfield com.jcraft.jsch.KeyPairECDSA.prv_array:[B
5: aload 0
aload 3
invokeinterface com.jcraft.jsch.KeyPairGenECDSA.getR:()[B
putfield com.jcraft.jsch.KeyPairECDSA.r_array:[B
6: aload 0
aload 3
invokeinterface com.jcraft.jsch.KeyPairGenECDSA.getS:()[B
putfield com.jcraft.jsch.KeyPairECDSA.s_array:[B
7: aload 0
getstatic com.jcraft.jsch.KeyPairECDSA.names:[Ljava/lang/String;
aload 0
getfield com.jcraft.jsch.KeyPairECDSA.prv_array:[B
arraylength
bipush 64
if_icmplt 8
iconst_2
goto 10
8: StackMap locals: com.jcraft.jsch.KeyPairECDSA int java.lang.Class com.jcraft.jsch.KeyPairGenECDSA
StackMap stack: com.jcraft.jsch.KeyPairECDSA java.lang.String[]
aload 0
getfield com.jcraft.jsch.KeyPairECDSA.prv_array:[B
arraylength
bipush 48
if_icmplt 9
iconst_1
goto 10
StackMap locals: com.jcraft.jsch.KeyPairECDSA int java.lang.Class com.jcraft.jsch.KeyPairGenECDSA
StackMap stack: com.jcraft.jsch.KeyPairECDSA java.lang.String[]
9: iconst_0
StackMap locals: com.jcraft.jsch.KeyPairECDSA int java.lang.Class com.jcraft.jsch.KeyPairGenECDSA
StackMap stack: com.jcraft.jsch.KeyPairECDSA java.lang.String[] int
10: aaload
11: invokestatic com.jcraft.jsch.Util.str2byte:(Ljava/lang/String;)[B
putfield com.jcraft.jsch.KeyPairECDSA.name:[B
12: aconst_null
astore 3
end local 3 end local 2 13: goto 18
14: StackMap locals: com.jcraft.jsch.KeyPairECDSA int
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/KeyPairECDSA;
0 19 1 key_size I
2 13 2 c Ljava/lang/Class;
3 13 3 keypairgen Lcom/jcraft/jsch/KeyPairGenECDSA;
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.KeyPairECDSA.begin:[B
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/jcraft/jsch/KeyPairECDSA;
byte[] getEnd();
descriptor: ()[B
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: getstatic com.jcraft.jsch.KeyPairECDSA.end:[B
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/jcraft/jsch/KeyPairECDSA;
byte[] getPrivateKey();
descriptor: ()[B
flags: (0x0000)
Code:
stack=5, locals=10, args_size=1
start local 0 0: iconst_1
newarray 8
astore 1
start local 1 1: aload 1
iconst_0
iconst_1
bastore
2: getstatic com.jcraft.jsch.KeyPairECDSA.oids:[[B
3: aload 0
getfield com.jcraft.jsch.KeyPairECDSA.r_array:[B
arraylength
bipush 64
if_icmplt 4
iconst_2
goto 6
4: StackMap locals: com.jcraft.jsch.KeyPairECDSA byte[]
StackMap stack: byte[][]
aload 0
getfield com.jcraft.jsch.KeyPairECDSA.r_array:[B
arraylength
bipush 48
if_icmplt 5
iconst_1
goto 6
StackMap locals:
StackMap stack: byte[][]
5: iconst_0
6: StackMap locals: com.jcraft.jsch.KeyPairECDSA byte[]
StackMap stack: byte[][] int
aaload
astore 2
start local 2 7: aload 0
getfield com.jcraft.jsch.KeyPairECDSA.r_array:[B
aload 0
getfield com.jcraft.jsch.KeyPairECDSA.s_array:[B
invokestatic com.jcraft.jsch.KeyPairECDSA.toPoint:([B[B)[B
astore 3
start local 3 8: aload 3
arraylength
iconst_1
iadd
sipush 128
iand
ifne 9
iconst_3
goto 10
StackMap locals: byte[] byte[]
StackMap stack:
9: iconst_4
StackMap locals:
StackMap stack: int
10: istore 4
start local 4 11: aload 3
arraylength
iload 4
iadd
newarray 8
astore 5
start local 5 12: aload 3
iconst_0
aload 5
iload 4
aload 3
arraylength
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
13: aload 5
iconst_0
iconst_3
bastore
14: iload 4
iconst_3
if_icmpne 17
15: aload 5
iconst_1
aload 3
arraylength
iconst_1
iadd
i2b
bastore
16: goto 19
17: StackMap locals: int byte[]
StackMap stack:
aload 5
iconst_1
bipush -127
bastore
18: aload 5
iconst_2
aload 3
arraylength
iconst_1
iadd
i2b
bastore
19: StackMap locals:
StackMap stack:
aload 5
astore 3
20: iconst_1
aload 0
aload 1
arraylength
invokevirtual com.jcraft.jsch.KeyPairECDSA.countLength:(I)I
iadd
aload 1
arraylength
iadd
21: iconst_1
22: iadd
23: aload 0
aload 0
getfield com.jcraft.jsch.KeyPairECDSA.prv_array:[B
arraylength
invokevirtual com.jcraft.jsch.KeyPairECDSA.countLength:(I)I
24: iadd
25: aload 0
getfield com.jcraft.jsch.KeyPairECDSA.prv_array:[B
arraylength
26: iadd
27: iconst_1
28: iadd
29: aload 0
aload 2
arraylength
invokevirtual com.jcraft.jsch.KeyPairECDSA.countLength:(I)I
30: iadd
31: aload 2
arraylength
32: iadd
33: iconst_1
34: iadd
35: aload 0
aload 3
arraylength
invokevirtual com.jcraft.jsch.KeyPairECDSA.countLength:(I)I
36: iadd
37: aload 3
arraylength
38: iadd
39: istore 6
start local 6 40: iconst_1
aload 0
iload 6
invokevirtual com.jcraft.jsch.KeyPairECDSA.countLength:(I)I
iadd
iload 6
iadd
41: istore 7
start local 7 42: iload 7
newarray 8
astore 8
start local 8 43: iconst_0
istore 9
start local 9 44: aload 0
aload 8
iload 9
iload 6
invokevirtual com.jcraft.jsch.KeyPairECDSA.writeSEQUENCE:([BII)I
istore 9
45: aload 0
aload 8
iload 9
aload 1
invokevirtual com.jcraft.jsch.KeyPairECDSA.writeINTEGER:([BI[B)I
istore 9
46: aload 0
aload 8
iload 9
aload 0
getfield com.jcraft.jsch.KeyPairECDSA.prv_array:[B
invokevirtual com.jcraft.jsch.KeyPairECDSA.writeOCTETSTRING:([BI[B)I
istore 9
47: aload 0
aload 8
bipush -96
iload 9
aload 2
invokevirtual com.jcraft.jsch.KeyPairECDSA.writeDATA:([BBI[B)I
istore 9
48: aload 0
aload 8
bipush -95
iload 9
aload 3
invokevirtual com.jcraft.jsch.KeyPairECDSA.writeDATA:([BBI[B)I
istore 9
49: aload 8
areturn
end local 9 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 50 0 this Lcom/jcraft/jsch/KeyPairECDSA;
1 50 1 tmp [B
7 50 2 oid [B
8 50 3 point [B
11 50 4 bar I
12 50 5 foo [B
40 50 6 content I
42 50 7 total I
43 50 8 plain [B
44 50 9 index I
boolean parse(byte[]);
descriptor: ([B)Z
flags: (0x0000)
Code:
stack=5, locals=7, args_size=2
start local 0 start local 1 0: aload 0
getfield com.jcraft.jsch.KeyPairECDSA.vendor:I
iconst_1
if_icmpne 2
1: iconst_0
ireturn
2: StackMap locals:
StackMap stack:
aload 0
getfield com.jcraft.jsch.KeyPairECDSA.vendor:I
iconst_2
if_icmpne 4
3: iconst_0
ireturn
4: StackMap locals:
StackMap stack:
iconst_0
istore 2
start local 2 5: iconst_0
istore 3
start local 3 6: aload 1
iload 2
baload
bipush 48
if_icmpeq 8
7: iconst_0
ireturn
8: StackMap locals: int int
StackMap stack:
iinc 2 1
9: aload 1
iload 2
iinc 2 1
baload
sipush 255
iand
istore 3
10: iload 3
sipush 128
iand
ifeq 16
11: iload 3
bipush 127
iand
istore 4
start local 4 12: iconst_0
istore 3
13: goto 15
StackMap locals: int
StackMap stack:
14: iload 3
bipush 8
ishl
aload 1
iload 2
iinc 2 1
baload
sipush 255
iand
iadd
istore 3
StackMap locals:
StackMap stack:
15: iload 4
iinc 4 -1
ifgt 14
end local 4 16: StackMap locals:
StackMap stack:
aload 1
iload 2
baload
iconst_2
if_icmpeq 18
17: iconst_0
ireturn
18: StackMap locals:
StackMap stack:
iinc 2 1
19: aload 1
iload 2
iinc 2 1
baload
sipush 255
iand
istore 3
20: iload 3
sipush 128
iand
ifeq 26
21: iload 3
bipush 127
iand
istore 4
start local 4 22: iconst_0
istore 3
23: goto 25
StackMap locals: int
StackMap stack:
24: iload 3
bipush 8
ishl
aload 1
iload 2
iinc 2 1
baload
sipush 255
iand
iadd
istore 3
StackMap locals:
StackMap stack:
25: iload 4
iinc 4 -1
ifgt 24
end local 4 26: StackMap locals:
StackMap stack:
iload 2
iload 3
iadd
istore 2
27: iinc 2 1
28: aload 1
iload 2
iinc 2 1
baload
sipush 255
iand
istore 3
29: iload 3
sipush 128
iand
ifeq 35
30: iload 3
bipush 127
iand
istore 4
start local 4 31: iconst_0
istore 3
32: goto 34
StackMap locals: int
StackMap stack:
33: iload 3
bipush 8
ishl
aload 1
iload 2
iinc 2 1
baload
sipush 255
iand
iadd
istore 3
StackMap locals:
StackMap stack:
34: iload 4
iinc 4 -1
ifgt 33
end local 4 35: StackMap locals:
StackMap stack:
aload 0
iload 3
newarray 8
putfield com.jcraft.jsch.KeyPairECDSA.prv_array:[B
36: aload 1
iload 2
aload 0
getfield com.jcraft.jsch.KeyPairECDSA.prv_array:[B
iconst_0
iload 3
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
37: iload 2
iload 3
iadd
istore 2
38: iinc 2 1
39: aload 1
iload 2
iinc 2 1
baload
sipush 255
iand
istore 3
40: iload 3
sipush 128
iand
ifeq 46
41: iload 3
bipush 127
iand
istore 4
start local 4 42: iconst_0
istore 3
43: goto 45
StackMap locals: int
StackMap stack:
44: iload 3
bipush 8
ishl
aload 1
iload 2
iinc 2 1
baload
sipush 255
iand
iadd
istore 3
StackMap locals:
StackMap stack:
45: iload 4
iinc 4 -1
ifgt 44
end local 4 46: StackMap locals:
StackMap stack:
iload 3
newarray 8
astore 4
start local 4 47: aload 1
iload 2
aload 4
iconst_0
iload 3
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
48: iload 2
iload 3
iadd
istore 2
49: iconst_0
istore 5
start local 5 50: goto 55
51: StackMap locals: byte[] int
StackMap stack:
getstatic com.jcraft.jsch.KeyPairECDSA.oids:[[B
iload 5
aaload
aload 4
invokestatic com.jcraft.jsch.Util.array_equals:([B[B)Z
ifeq 54
52: aload 0
getstatic com.jcraft.jsch.KeyPairECDSA.names:[Ljava/lang/String;
iload 5
aaload
invokestatic com.jcraft.jsch.Util.str2byte:(Ljava/lang/String;)[B
putfield com.jcraft.jsch.KeyPairECDSA.name:[B
53: goto 56
54: StackMap locals:
StackMap stack:
iinc 5 1
StackMap locals:
StackMap stack:
55: iload 5
getstatic com.jcraft.jsch.KeyPairECDSA.oids:[[B
arraylength
if_icmplt 51
end local 5 56: StackMap locals:
StackMap stack:
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 5
start local 5 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 5
iinc 5 -1
ifgt 62
end local 5 64: StackMap locals:
StackMap stack:
iload 3
newarray 8
astore 5
start local 5 65: aload 1
iload 2
aload 5
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: aload 5
invokestatic com.jcraft.jsch.KeyPairECDSA.fromPoint:([B)[[B
astore 6
start local 6 68: aload 0
aload 6
iconst_0
aaload
putfield com.jcraft.jsch.KeyPairECDSA.r_array:[B
69: aload 0
aload 6
iconst_1
aaload
putfield com.jcraft.jsch.KeyPairECDSA.s_array:[B
70: aload 0
getfield com.jcraft.jsch.KeyPairECDSA.prv_array:[B
ifnull 78
71: aload 0
aload 0
getfield com.jcraft.jsch.KeyPairECDSA.prv_array:[B
arraylength
bipush 64
if_icmplt 72
sipush 521
goto 74
72: StackMap locals: com.jcraft.jsch.KeyPairECDSA byte[] int int byte[] byte[] byte[][]
StackMap stack: com.jcraft.jsch.KeyPairECDSA
aload 0
getfield com.jcraft.jsch.KeyPairECDSA.prv_array:[B
arraylength
bipush 48
if_icmplt 73
sipush 384
goto 74
StackMap locals:
StackMap stack: com.jcraft.jsch.KeyPairECDSA
73: sipush 256
74: StackMap locals: com.jcraft.jsch.KeyPairECDSA byte[] int int byte[] byte[] byte[][]
StackMap stack: com.jcraft.jsch.KeyPairECDSA int
putfield com.jcraft.jsch.KeyPairECDSA.key_size:I
end local 6 end local 5 end local 4 end local 3 end local 2 75: goto 78
76: StackMap locals: com.jcraft.jsch.KeyPairECDSA byte[]
StackMap stack: java.lang.Exception
pop
77: iconst_0
ireturn
78: StackMap locals:
StackMap stack:
iconst_1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 79 0 this Lcom/jcraft/jsch/KeyPairECDSA;
0 79 1 plain [B
5 75 2 index I
6 75 3 length I
12 16 4 foo I
22 26 4 foo I
31 35 4 foo I
42 46 4 foo I
47 75 4 oid_array [B
50 56 5 i I
60 64 5 foo I
65 75 5 Q_array [B
68 75 6 tmp [[B
Exception table:
from to target type
0 1 76 Class java.lang.Exception
2 3 76 Class java.lang.Exception
4 7 76 Class java.lang.Exception
8 17 76 Class java.lang.Exception
18 75 76 Class java.lang.Exception
MethodParameters:
Name Flags
plain
public byte[] getPublicKeyBlob();
descriptor: ()[B
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, 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.KeyPairECDSA.r_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
new java.lang.StringBuilder
dup
ldc "ecdsa-sha2-"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
new java.lang.String
dup
aload 0
getfield com.jcraft.jsch.KeyPairECDSA.name:[B
invokespecial java.lang.String.<init>:([B)V
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic com.jcraft.jsch.Util.str2byte:(Ljava/lang/String;)[B
aastore
5: aload 2
iconst_1
aload 0
getfield com.jcraft.jsch.KeyPairECDSA.name:[B
aastore
6: aload 2
iconst_2
iconst_1
aload 0
getfield com.jcraft.jsch.KeyPairECDSA.r_array:[B
arraylength
iadd
aload 0
getfield com.jcraft.jsch.KeyPairECDSA.s_array:[B
arraylength
iadd
newarray 8
aastore
7: aload 2
iconst_2
aaload
iconst_0
iconst_4
bastore
8: aload 0
getfield com.jcraft.jsch.KeyPairECDSA.r_array:[B
iconst_0
aload 2
iconst_2
aaload
iconst_1
aload 0
getfield com.jcraft.jsch.KeyPairECDSA.r_array:[B
arraylength
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
9: aload 0
getfield com.jcraft.jsch.KeyPairECDSA.s_array:[B
iconst_0
aload 2
iconst_2
aaload
iconst_1
aload 0
getfield com.jcraft.jsch.KeyPairECDSA.r_array:[B
arraylength
iadd
aload 0
getfield com.jcraft.jsch.KeyPairECDSA.s_array:[B
arraylength
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
10: 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 11 0 this Lcom/jcraft/jsch/KeyPairECDSA;
1 11 1 foo [B
4 11 2 tmp [[B
byte[] getKeyTypeName();
descriptor: ()[B
flags: (0x0000)
Code:
stack=4, locals=1, args_size=1
start local 0 0: new java.lang.StringBuilder
dup
ldc "ecdsa-sha2-"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
new java.lang.String
dup
aload 0
getfield com.jcraft.jsch.KeyPairECDSA.name:[B
invokespecial java.lang.String.<init>:([B)V
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic com.jcraft.jsch.Util.str2byte:(Ljava/lang/String;)[B
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/jcraft/jsch/KeyPairECDSA;
public int getKeyType();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: iconst_3
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/jcraft/jsch/KeyPairECDSA;
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.KeyPairECDSA.key_size:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/jcraft/jsch/KeyPairECDSA;
public byte[] getSignature(byte[]);
descriptor: ([B)[B
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=6, args_size=2
start local 0 start local 1 0: new java.lang.StringBuilder
dup
ldc "ecdsa-sha2-"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
new java.lang.String
dup
aload 0
getfield com.jcraft.jsch.KeyPairECDSA.name:[B
invokespecial java.lang.String.<init>:([B)V
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
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.SignatureECDSA
astore 3
start local 3 2: aload 3
invokeinterface com.jcraft.jsch.SignatureECDSA.init:()V
3: aload 3
aload 0
getfield com.jcraft.jsch.KeyPairECDSA.prv_array:[B
invokeinterface com.jcraft.jsch.SignatureECDSA.setPrvKey:([B)V
4: aload 3
aload 1
invokeinterface com.jcraft.jsch.SignatureECDSA.update:([B)V
5: aload 3
invokeinterface com.jcraft.jsch.SignatureECDSA.sign:()[B
astore 4
start local 4 6: iconst_2
anewarray byte[]
astore 5
start local 5 7: aload 5
iconst_0
new java.lang.StringBuilder
dup
ldc "ecdsa-sha2-"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
new java.lang.String
dup
aload 0
getfield com.jcraft.jsch.KeyPairECDSA.name:[B
invokespecial java.lang.String.<init>:([B)V
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic com.jcraft.jsch.Util.str2byte:(Ljava/lang/String;)[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/KeyPairECDSA;
0 13 1 data [B
1 11 2 c Ljava/lang/Class;
2 11 3 ecdsa Lcom/jcraft/jsch/SignatureECDSA;
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=4, locals=5, args_size=1
start local 0 0: new java.lang.StringBuilder
dup
ldc "ecdsa-sha2-"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
new java.lang.String
dup
aload 0
getfield com.jcraft.jsch.KeyPairECDSA.name:[B
invokespecial java.lang.String.<init>:([B)V
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
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.SignatureECDSA
astore 2
start local 2 2: aload 2
invokeinterface com.jcraft.jsch.SignatureECDSA.init:()V
3: aload 0
getfield com.jcraft.jsch.KeyPairECDSA.r_array:[B
ifnonnull 10
aload 0
getfield com.jcraft.jsch.KeyPairECDSA.s_array:[B
ifnonnull 10
aload 0
invokevirtual com.jcraft.jsch.KeyPairECDSA.getPublicKeyBlob:()[B
ifnull 10
4: new com.jcraft.jsch.Buffer
dup
aload 0
invokevirtual com.jcraft.jsch.KeyPairECDSA.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 3
invokevirtual com.jcraft.jsch.Buffer.getString:()[B
pop
7: aload 3
invokevirtual com.jcraft.jsch.Buffer.getString:()[B
invokestatic com.jcraft.jsch.KeyPairECDSA.fromPoint:([B)[[B
astore 4
start local 4 8: aload 0
aload 4
iconst_0
aaload
putfield com.jcraft.jsch.KeyPairECDSA.r_array:[B
9: aload 0
aload 4
iconst_1
aaload
putfield com.jcraft.jsch.KeyPairECDSA.s_array:[B
end local 4 end local 3 10: StackMap locals: java.lang.Class com.jcraft.jsch.SignatureECDSA
StackMap stack:
aload 2
aload 0
getfield com.jcraft.jsch.KeyPairECDSA.r_array:[B
aload 0
getfield com.jcraft.jsch.KeyPairECDSA.s_array:[B
invokeinterface com.jcraft.jsch.SignatureECDSA.setPubKey:([B[B)V
11: aload 2
12: areturn
end local 2 end local 1 13: StackMap locals: com.jcraft.jsch.KeyPairECDSA
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/KeyPairECDSA;
1 13 1 c Ljava/lang/Class;
2 13 2 ecdsa Lcom/jcraft/jsch/SignatureECDSA;
5 10 3 buf Lcom/jcraft/jsch/Buffer;
8 10 4 tmp [[B
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=7, locals=9, args_size=2
start local 0 start local 1 0: aload 1
iconst_5
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
invokestatic com.jcraft.jsch.KeyPairECDSA.fromPoint:([B)[[B
astore 4
start local 4 3: aload 4
iconst_0
aaload
astore 5
start local 5 4: aload 4
iconst_1
aaload
astore 6
start local 6 5: aload 2
iconst_3
aaload
astore 7
start local 7 6: new com.jcraft.jsch.KeyPairECDSA
dup
aload 0
7: aload 3
8: aload 5
aload 6
9: aload 7
10: invokespecial com.jcraft.jsch.KeyPairECDSA.<init>:(Lcom/jcraft/jsch/JSch;[B[B[B[B)V
astore 8
start local 8 11: aload 8
new java.lang.String
dup
aload 2
iconst_4
aaload
invokespecial java.lang.String.<init>:([B)V
putfield com.jcraft.jsch.KeyPairECDSA.publicKeyComment:Ljava/lang/String;
12: aload 8
iconst_0
putfield com.jcraft.jsch.KeyPairECDSA.vendor:I
13: 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 14 0 jsch Lcom/jcraft/jsch/JSch;
0 14 1 buf Lcom/jcraft/jsch/Buffer;
1 14 2 tmp [[B
2 14 3 name [B
3 14 4 foo [[B
4 14 5 r_array [B
5 14 6 s_array [B
6 14 7 prv_array [B
11 14 8 kpair Lcom/jcraft/jsch/KeyPairECDSA;
Exceptions:
throws com.jcraft.jsch.JSchException
MethodParameters:
Name Flags
jsch
buf
public byte[] ();
descriptor: ()[B
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=3, args_size=1
start local 0 0: aload 0
invokevirtual com.jcraft.jsch.KeyPairECDSA.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
new java.lang.StringBuilder
dup
ldc "ecdsa-sha2-"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
new java.lang.String
dup
aload 0
getfield com.jcraft.jsch.KeyPairECDSA.name:[B
invokespecial java.lang.String.<init>:([B)V
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic com.jcraft.jsch.Util.str2byte:(Ljava/lang/String;)[B
invokevirtual com.jcraft.jsch.Buffer.putString:([B)V
4: aload 1
aload 0
getfield com.jcraft.jsch.KeyPairECDSA.name:[B
invokevirtual com.jcraft.jsch.Buffer.putString:([B)V
5: aload 1
aload 0
getfield com.jcraft.jsch.KeyPairECDSA.r_array:[B
aload 0
getfield com.jcraft.jsch.KeyPairECDSA.s_array:[B
invokestatic com.jcraft.jsch.KeyPairECDSA.toPoint:([B[B)[B
invokevirtual com.jcraft.jsch.Buffer.putString:([B)V
6: aload 1
aload 0
getfield com.jcraft.jsch.KeyPairECDSA.prv_array:[B
invokevirtual com.jcraft.jsch.Buffer.putString:([B)V
7: aload 1
aload 0
getfield com.jcraft.jsch.KeyPairECDSA.publicKeyComment:Ljava/lang/String;
invokestatic com.jcraft.jsch.Util.str2byte:(Ljava/lang/String;)[B
invokevirtual com.jcraft.jsch.Buffer.putString:([B)V
8: aload 1
invokevirtual com.jcraft.jsch.Buffer.getLength:()I
newarray 8
astore 2
start local 2 9: aload 1
aload 2
iconst_0
aload 2
arraylength
invokevirtual com.jcraft.jsch.Buffer.getByte:([BII)V
10: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lcom/jcraft/jsch/KeyPairECDSA;
3 11 1 buf Lcom/jcraft/jsch/Buffer;
9 11 2 result [B
Exceptions:
throws com.jcraft.jsch.JSchException
static byte[] toPoint(byte[], byte[]);
descriptor: ([B[B)[B
flags: (0x0008) ACC_STATIC
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: iconst_1
aload 0
arraylength
iadd
aload 1
arraylength
iadd
newarray 8
astore 2
start local 2 1: aload 2
iconst_0
iconst_4
bastore
2: aload 0
iconst_0
aload 2
iconst_1
aload 0
arraylength
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
3: aload 1
iconst_0
aload 2
iconst_1
aload 0
arraylength
iadd
aload 1
arraylength
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
4: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 r_array [B
0 5 1 s_array [B
1 5 2 tmp [B
MethodParameters:
Name Flags
r_array
s_array
static byte[][] fromPoint(byte[]);
descriptor: ([B)[[B
flags: (0x0008) ACC_STATIC
Code:
stack=5, locals=5, args_size=1
start local 0 0: iconst_0
istore 1
start local 1 1: goto 3
StackMap locals: int
StackMap stack:
2: iinc 1 1
StackMap locals:
StackMap stack:
3: aload 0
iload 1
baload
iconst_4
if_icmpne 2
4: iinc 1 1
5: iconst_2
anewarray byte[]
astore 2
start local 2 6: aload 0
arraylength
iload 1
isub
iconst_2
idiv
newarray 8
astore 3
start local 3 7: aload 0
arraylength
iload 1
isub
iconst_2
idiv
newarray 8
astore 4
start local 4 8: aload 0
iload 1
aload 3
iconst_0
aload 3
arraylength
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
9: aload 0
iload 1
aload 3
arraylength
iadd
aload 4
iconst_0
aload 4
arraylength
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
10: aload 2
iconst_0
aload 3
aastore
11: aload 2
iconst_1
aload 4
aastore
12: aload 2
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 point [B
1 13 1 i I
6 13 2 tmp [[B
7 13 3 r_array [B
8 13 4 s_array [B
MethodParameters:
Name Flags
point
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.KeyPairECDSA.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/KeyPairECDSA;
}
SourceFile: "KeyPairECDSA.java"