public final class io.vertx.ext.jwt.impl.SignatureHelper
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: io.vertx.ext.jwt.impl.SignatureHelper
super_class: java.lang.Object
{
private void <init>();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=1, args_size=1
start local 0 // io.vertx.ext.jwt.impl.SignatureHelper this
0: .line 23
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
1: .line 24
new java.lang.RuntimeException
dup
ldc "Should not be instantiated."
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
athrow
end local 0 // io.vertx.ext.jwt.impl.SignatureHelper this
LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lio/vertx/ext/jwt/impl/SignatureHelper;
public static byte[] toJWS(byte[], int);
descriptor: ([BI)[B
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=9, args_size=2
start local 0 // byte[] derSignature
start local 1 // int signatureLength
0: .line 38
aload 0 /* derSignature */
arraylength
bipush 8
if_icmplt 1
aload 0 /* derSignature */
iconst_0
baload
bipush 48
if_icmpeq 2
1: .line 39
StackMap locals:
StackMap stack:
new java.lang.RuntimeException
dup
ldc "Invalid ECDSA signature format"
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
athrow
2: .line 43
StackMap locals:
StackMap stack:
aload 0 /* derSignature */
iconst_1
baload
ifle 5
3: .line 44
iconst_2
istore 2 /* offset */
start local 2 // int offset
4: .line 45
goto 9
end local 2 // int offset
StackMap locals:
StackMap stack:
5: aload 0 /* derSignature */
iconst_1
baload
bipush -127
if_icmpne 8
6: .line 46
iconst_3
istore 2 /* offset */
start local 2 // int offset
7: .line 47
goto 9
end local 2 // int offset
8: .line 48
StackMap locals:
StackMap stack:
new java.lang.RuntimeException
dup
ldc "Invalid ECDSA signature format"
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
athrow
start local 2 // int offset
9: .line 51
StackMap locals: int
StackMap stack:
aload 0 /* derSignature */
iload 2 /* offset */
iconst_1
iadd
baload
istore 3 /* rLength */
start local 3 // byte rLength
10: .line 53
iload 3 /* rLength */
istore 4 /* i */
start local 4 // int i
11: .line 54
goto 13
12: .line 56
StackMap locals: int int
StackMap stack:
iinc 4 /* i */ -1
13: .line 54
StackMap locals:
StackMap stack:
iload 4 /* i */
ifle 15
14: .line 55
aload 0 /* derSignature */
iload 2 /* offset */
iconst_2
iadd
iload 3 /* rLength */
iadd
iload 4 /* i */
isub
baload
ifeq 12
15: .line 58
StackMap locals:
StackMap stack:
aload 0 /* derSignature */
iload 2 /* offset */
iconst_2
iadd
iload 3 /* rLength */
iadd
iconst_1
iadd
baload
istore 5 /* sLength */
start local 5 // byte sLength
16: .line 60
iload 5 /* sLength */
istore 6 /* j */
start local 6 // int j
17: .line 61
goto 19
18: .line 63
StackMap locals: int int
StackMap stack:
iinc 6 /* j */ -1
19: .line 61
StackMap locals:
StackMap stack:
iload 6 /* j */
ifle 21
20: .line 62
aload 0 /* derSignature */
iload 2 /* offset */
iconst_2
iadd
iload 3 /* rLength */
iadd
iconst_2
iadd
iload 5 /* sLength */
iadd
iload 6 /* j */
isub
baload
ifeq 18
21: .line 65
StackMap locals:
StackMap stack:
iload 4 /* i */
iload 6 /* j */
invokestatic java.lang.Math.max:(II)I
istore 7 /* rawLen */
start local 7 // int rawLen
22: .line 66
iload 7 /* rawLen */
iload 1 /* signatureLength */
iconst_2
idiv
invokestatic java.lang.Math.max:(II)I
istore 7 /* rawLen */
23: .line 68
aload 0 /* derSignature */
iload 2 /* offset */
iconst_1
isub
baload
sipush 255
iand
aload 0 /* derSignature */
arraylength
iload 2 /* offset */
isub
if_icmpne 27
24: .line 69
aload 0 /* derSignature */
iload 2 /* offset */
iconst_1
isub
baload
sipush 255
iand
iconst_2
iload 3 /* rLength */
iadd
iconst_2
iadd
iload 5 /* sLength */
iadd
if_icmpne 27
25: .line 70
aload 0 /* derSignature */
iload 2 /* offset */
baload
iconst_2
if_icmpne 27
26: .line 71
aload 0 /* derSignature */
iload 2 /* offset */
iconst_2
iadd
iload 3 /* rLength */
iadd
baload
iconst_2
if_icmpeq 28
27: .line 72
StackMap locals: int
StackMap stack:
new java.lang.RuntimeException
dup
ldc "Invalid ECDSA signature format"
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
athrow
28: .line 75
StackMap locals:
StackMap stack:
iconst_2
iload 7 /* rawLen */
imul
newarray 8
astore 8 /* concatSignature */
start local 8 // byte[] concatSignature
29: .line 77
aload 0 /* derSignature */
iload 2 /* offset */
iconst_2
iadd
iload 3 /* rLength */
iadd
iload 4 /* i */
isub
aload 8 /* concatSignature */
iload 7 /* rawLen */
iload 4 /* i */
isub
iload 4 /* i */
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
30: .line 78
aload 0 /* derSignature */
iload 2 /* offset */
iconst_2
iadd
iload 3 /* rLength */
iadd
iconst_2
iadd
iload 5 /* sLength */
iadd
iload 6 /* j */
isub
aload 8 /* concatSignature */
iconst_2
iload 7 /* rawLen */
imul
iload 6 /* j */
isub
iload 6 /* j */
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
31: .line 80
aload 8 /* concatSignature */
areturn
end local 8 // byte[] concatSignature
end local 7 // int rawLen
end local 6 // int j
end local 5 // byte sLength
end local 4 // int i
end local 3 // byte rLength
end local 2 // int offset
end local 1 // int signatureLength
end local 0 // byte[] derSignature
LocalVariableTable:
Start End Slot Name Signature
0 32 0 derSignature [B
0 32 1 signatureLength I
4 5 2 offset I
7 8 2 offset I
9 32 2 offset I
10 32 3 rLength B
11 32 4 i I
16 32 5 sLength B
17 32 6 j I
22 32 7 rawLen I
29 32 8 concatSignature [B
MethodParameters:
Name Flags
derSignature final
signatureLength
public static byte[] toDER(byte[]);
descriptor: ([B)[B
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=9, args_size=1
start local 0 // byte[] jwsSignature
0: .line 95
aload 0 /* jwsSignature */
arraylength
iconst_2
idiv
istore 1 /* rawLen */
start local 1 // int rawLen
1: .line 97
iload 1 /* rawLen */
istore 2 /* i */
start local 2 // int i
2: .line 99
goto 4
3: .line 101
StackMap locals: int int
StackMap stack:
iinc 2 /* i */ -1
4: .line 99
StackMap locals:
StackMap stack:
iload 2 /* i */
ifle 6
5: .line 100
aload 0 /* jwsSignature */
iload 1 /* rawLen */
iload 2 /* i */
isub
baload
ifeq 3
6: .line 103
StackMap locals:
StackMap stack:
iload 2 /* i */
istore 3 /* j */
start local 3 // int j
7: .line 105
aload 0 /* jwsSignature */
iload 1 /* rawLen */
iload 2 /* i */
isub
baload
ifge 9
8: .line 106
iinc 3 /* j */ 1
9: .line 109
StackMap locals: int
StackMap stack:
iload 1 /* rawLen */
istore 4 /* k */
start local 4 // int k
10: .line 111
goto 12
11: .line 113
StackMap locals: int
StackMap stack:
iinc 4 /* k */ -1
12: .line 111
StackMap locals:
StackMap stack:
iload 4 /* k */
ifle 14
13: .line 112
aload 0 /* jwsSignature */
iconst_2
iload 1 /* rawLen */
imul
iload 4 /* k */
isub
baload
ifeq 11
14: .line 115
StackMap locals:
StackMap stack:
iload 4 /* k */
istore 5 /* l */
start local 5 // int l
15: .line 117
aload 0 /* jwsSignature */
iconst_2
iload 1 /* rawLen */
imul
iload 4 /* k */
isub
baload
ifge 17
16: .line 118
iinc 5 /* l */ 1
17: .line 121
StackMap locals: int
StackMap stack:
iconst_2
iload 3 /* j */
iadd
iconst_2
iadd
iload 5 /* l */
iadd
istore 6 /* len */
start local 6 // int len
18: .line 123
iload 6 /* len */
sipush 255
if_icmple 20
19: .line 124
new java.lang.RuntimeException
dup
ldc "Invalid ECDSA signature format"
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
athrow
20: .line 131
StackMap locals: int
StackMap stack:
iload 6 /* len */
sipush 128
if_icmpge 24
21: .line 132
iconst_4
iload 3 /* j */
iadd
iconst_2
iadd
iload 5 /* l */
iadd
newarray 8
astore 8 /* derSignature */
start local 8 // byte[] derSignature
22: .line 133
iconst_1
istore 7 /* offset */
start local 7 // int offset
23: .line 134
goto 27
end local 8 // byte[] derSignature
end local 7 // int offset
24: .line 135
StackMap locals:
StackMap stack:
iconst_5
iload 3 /* j */
iadd
iconst_2
iadd
iload 5 /* l */
iadd
newarray 8
astore 8 /* derSignature */
start local 8 // byte[] derSignature
25: .line 136
aload 8 /* derSignature */
iconst_1
bipush -127
bastore
26: .line 137
iconst_2
istore 7 /* offset */
start local 7 // int offset
27: .line 140
StackMap locals: int byte[]
StackMap stack:
aload 8 /* derSignature */
iconst_0
bipush 48
bastore
28: .line 141
aload 8 /* derSignature */
iload 7 /* offset */
iinc 7 /* offset */ 1
iload 6 /* len */
i2b
bastore
29: .line 142
aload 8 /* derSignature */
iload 7 /* offset */
iinc 7 /* offset */ 1
iconst_2
bastore
30: .line 143
aload 8 /* derSignature */
iload 7 /* offset */
iinc 7 /* offset */ 1
iload 3 /* j */
i2b
bastore
31: .line 145
aload 0 /* jwsSignature */
iload 1 /* rawLen */
iload 2 /* i */
isub
aload 8 /* derSignature */
iload 7 /* offset */
iload 3 /* j */
iadd
iload 2 /* i */
isub
iload 2 /* i */
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
32: .line 147
iload 7 /* offset */
iload 3 /* j */
iadd
istore 7 /* offset */
33: .line 149
aload 8 /* derSignature */
iload 7 /* offset */
iinc 7 /* offset */ 1
iconst_2
bastore
34: .line 150
aload 8 /* derSignature */
iload 7 /* offset */
iinc 7 /* offset */ 1
iload 5 /* l */
i2b
bastore
35: .line 152
aload 0 /* jwsSignature */
iconst_2
iload 1 /* rawLen */
imul
iload 4 /* k */
isub
aload 8 /* derSignature */
iload 7 /* offset */
iload 5 /* l */
iadd
iload 4 /* k */
isub
iload 4 /* k */
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
36: .line 154
aload 8 /* derSignature */
areturn
end local 8 // byte[] derSignature
end local 7 // int offset
end local 6 // int len
end local 5 // int l
end local 4 // int k
end local 3 // int j
end local 2 // int i
end local 1 // int rawLen
end local 0 // byte[] jwsSignature
LocalVariableTable:
Start End Slot Name Signature
0 37 0 jwsSignature [B
1 37 1 rawLen I
2 37 2 i I
7 37 3 j I
10 37 4 k I
15 37 5 l I
18 37 6 len I
23 24 7 offset I
27 37 7 offset I
22 24 8 derSignature [B
25 37 8 derSignature [B
MethodParameters:
Name Flags
jwsSignature
}
SourceFile: "SignatureHelper.java"