final class sun.security.pkcs11.P11Signature extends java.security.SignatureSpi
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: sun.security.pkcs11.P11Signature
super_class: java.security.SignatureSpi
{
private final sun.security.pkcs11.Token token;
descriptor: Lsun/security/pkcs11/Token;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.lang.String algorithm;
descriptor: Ljava/lang/String;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.lang.String keyAlgorithm;
descriptor: Ljava/lang/String;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final long mechanism;
descriptor: J
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final sun.security.util.ObjectIdentifier digestOID;
descriptor: Lsun/security/util/ObjectIdentifier;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final int type;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private sun.security.pkcs11.P11Key p11Key;
descriptor: Lsun/security/pkcs11/P11Key;
flags: (0x0002) ACC_PRIVATE
private final java.security.MessageDigest md;
descriptor: Ljava/security/MessageDigest;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private sun.security.pkcs11.Session session;
descriptor: Lsun/security/pkcs11/Session;
flags: (0x0002) ACC_PRIVATE
private int mode;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private boolean initialized;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private final byte[] buffer;
descriptor: [B
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private int bytesProcessed;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private boolean p1363Format;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private static final int M_SIGN;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 1
private static final int M_VERIFY;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 2
private static final int T_DIGEST;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 1
private static final int T_UPDATE;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 2
private static final int T_RAW;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 3
private static final int RAW_ECDSA_MAX;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 128
void <init>(sun.security.pkcs11.Token, java.lang.String, long);
descriptor: (Lsun/security/pkcs11/Token;Ljava/lang/String;J)V
flags: (0x0000)
Code:
stack=5, locals=9, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokespecial java.security.SignatureSpi.<init>:()V
1: aload 0
iconst_0
putfield sun.security.pkcs11.P11Signature.p1363Format:Z
2: aload 0
aload 1
putfield sun.security.pkcs11.P11Signature.token:Lsun/security/pkcs11/Token;
3: aload 0
aload 2
putfield sun.security.pkcs11.P11Signature.algorithm:Ljava/lang/String;
4: aload 0
lload 3
putfield sun.security.pkcs11.P11Signature.mechanism:J
5: aconst_null
astore 5
start local 5 6: aconst_null
astore 6
start local 6 7: aconst_null
astore 7
start local 7 8: lload 3
l2i
lookupswitch { // 33
1: 43
3: 43
4: 9
5: 9
6: 9
17: 21
18: 13
19: 13
20: 13
21: 13
22: 13
24: 13
25: 13
26: 13
27: 13
64: 9
65: 9
66: 9
70: 9
96: 9
97: 9
98: 9
102: 9
4161: 33
4162: 17
4163: 17
4164: 17
4165: 17
4166: 17
4167: 17
4168: 17
4169: 17
4170: 17
default: 49
}
9: StackMap locals: sun.security.pkcs11.P11Signature sun.security.pkcs11.Token java.lang.String long byte[] sun.security.util.ObjectIdentifier java.security.MessageDigest
StackMap stack:
aload 0
ldc "RSA"
putfield sun.security.pkcs11.P11Signature.keyAlgorithm:Ljava/lang/String;
10: aload 0
iconst_2
putfield sun.security.pkcs11.P11Signature.type:I
11: iconst_1
newarray 8
astore 5
12: goto 50
13: StackMap locals:
StackMap stack:
aload 0
ldc "DSA"
putfield sun.security.pkcs11.P11Signature.keyAlgorithm:Ljava/lang/String;
14: aload 0
iconst_2
putfield sun.security.pkcs11.P11Signature.type:I
15: iconst_1
newarray 8
astore 5
16: goto 50
17: StackMap locals:
StackMap stack:
aload 0
ldc "EC"
putfield sun.security.pkcs11.P11Signature.keyAlgorithm:Ljava/lang/String;
18: aload 0
iconst_2
putfield sun.security.pkcs11.P11Signature.type:I
19: iconst_1
newarray 8
astore 5
20: goto 50
21: StackMap locals:
StackMap stack:
aload 0
ldc "DSA"
putfield sun.security.pkcs11.P11Signature.keyAlgorithm:Ljava/lang/String;
22: aload 2
ldc "DSA"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 24
23: aload 2
ldc "DSAinP1363Format"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 27
24: StackMap locals:
StackMap stack:
aload 0
iconst_1
putfield sun.security.pkcs11.P11Signature.type:I
25: ldc "SHA-1"
invokestatic java.security.MessageDigest.getInstance:(Ljava/lang/String;)Ljava/security/MessageDigest;
astore 7
26: goto 50
StackMap locals:
StackMap stack:
27: aload 2
ldc "RawDSA"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 29
28: aload 2
ldc "RawDSAinP1363Format"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 32
29: StackMap locals:
StackMap stack:
aload 0
iconst_3
putfield sun.security.pkcs11.P11Signature.type:I
30: bipush 20
newarray 8
astore 5
31: goto 50
32: StackMap locals:
StackMap stack:
new java.security.ProviderException
dup
aload 2
invokespecial java.security.ProviderException.<init>:(Ljava/lang/String;)V
athrow
33: StackMap locals:
StackMap stack:
aload 0
ldc "EC"
putfield sun.security.pkcs11.P11Signature.keyAlgorithm:Ljava/lang/String;
34: aload 2
ldc "NONEwithECDSA"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 36
35: aload 2
ldc "NONEwithECDSAinP1363Format"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 39
36: StackMap locals:
StackMap stack:
aload 0
iconst_3
putfield sun.security.pkcs11.P11Signature.type:I
37: sipush 128
newarray 8
astore 5
38: goto 50
39: StackMap locals:
StackMap stack:
aload 0
iconst_1
putfield sun.security.pkcs11.P11Signature.type:I
40: aload 2
invokestatic sun.security.pkcs11.P11Signature.getDigestEnum:(Ljava/lang/String;)Lsun/security/util/KnownOIDs;
invokevirtual sun.security.util.KnownOIDs.stdName:()Ljava/lang/String;
41: invokestatic java.security.MessageDigest.getInstance:(Ljava/lang/String;)Ljava/security/MessageDigest;
astore 7
42: goto 50
43: StackMap locals:
StackMap stack:
aload 0
ldc "RSA"
putfield sun.security.pkcs11.P11Signature.keyAlgorithm:Ljava/lang/String;
44: aload 0
iconst_1
putfield sun.security.pkcs11.P11Signature.type:I
45: aload 2
invokestatic sun.security.pkcs11.P11Signature.getDigestEnum:(Ljava/lang/String;)Lsun/security/util/KnownOIDs;
astore 8
start local 8 46: aload 8
invokevirtual sun.security.util.KnownOIDs.stdName:()Ljava/lang/String;
invokestatic java.security.MessageDigest.getInstance:(Ljava/lang/String;)Ljava/security/MessageDigest;
astore 7
47: aload 8
invokestatic sun.security.util.ObjectIdentifier.of:(Lsun/security/util/KnownOIDs;)Lsun/security/util/ObjectIdentifier;
astore 6
48: goto 50
end local 8 49: StackMap locals:
StackMap stack:
new java.security.ProviderException
dup
new java.lang.StringBuilder
dup
ldc "Unknown mechanism: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
lload 3
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.security.ProviderException.<init>:(Ljava/lang/String;)V
athrow
50: StackMap locals:
StackMap stack:
aload 0
aload 5
putfield sun.security.pkcs11.P11Signature.buffer:[B
51: aload 0
aload 6
putfield sun.security.pkcs11.P11Signature.digestOID:Lsun/security/util/ObjectIdentifier;
52: aload 0
aload 7
putfield sun.security.pkcs11.P11Signature.md:Ljava/security/MessageDigest;
53: aload 2
ldc "inP1363Format"
invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
ifeq 55
54: aload 0
iconst_1
putfield sun.security.pkcs11.P11Signature.p1363Format:Z
55: StackMap locals:
StackMap stack:
return
end local 7 end local 6 end local 5 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 56 0 this Lsun/security/pkcs11/P11Signature;
0 56 1 token Lsun/security/pkcs11/Token;
0 56 2 algorithm Ljava/lang/String;
0 56 3 mechanism J
6 56 5 buffer [B
7 56 6 digestOID Lsun/security/util/ObjectIdentifier;
8 56 7 md Ljava/security/MessageDigest;
46 49 8 digestAlg Lsun/security/util/KnownOIDs;
Exceptions:
throws java.security.NoSuchAlgorithmException, sun.security.pkcs11.wrapper.PKCS11Exception
MethodParameters:
Name Flags
token
algorithm
mechanism
private void reset(boolean);
descriptor: (Z)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield sun.security.pkcs11.P11Signature.initialized:Z
ifne 2
1: return
2: StackMap locals:
StackMap stack:
aload 0
iconst_0
putfield sun.security.pkcs11.P11Signature.initialized:Z
3: aload 0
getfield sun.security.pkcs11.P11Signature.session:Lsun/security/pkcs11/Session;
ifnonnull 7
4: aload 0
getfield sun.security.pkcs11.P11Signature.p11Key:Lsun/security/pkcs11/P11Key;
invokevirtual sun.security.pkcs11.P11Key.releaseKeyID:()V
5: aload 0
aload 0
getfield sun.security.pkcs11.P11Signature.token:Lsun/security/pkcs11/Token;
aload 0
getfield sun.security.pkcs11.P11Signature.session:Lsun/security/pkcs11/Session;
invokevirtual sun.security.pkcs11.Token.releaseSession:(Lsun/security/pkcs11/Session;)Lsun/security/pkcs11/Session;
putfield sun.security.pkcs11.P11Signature.session:Lsun/security/pkcs11/Session;
6: return
7: StackMap locals:
StackMap stack:
iload 1
ifeq 14
aload 0
getfield sun.security.pkcs11.P11Signature.token:Lsun/security/pkcs11/Token;
getfield sun.security.pkcs11.Token.explicitCancel:Z
ifeq 14
8: aload 0
invokevirtual sun.security.pkcs11.P11Signature.cancelOperation:()V
9: goto 14
StackMap locals:
StackMap stack: java.lang.Throwable
10: astore 2
11: aload 0
getfield sun.security.pkcs11.P11Signature.p11Key:Lsun/security/pkcs11/P11Key;
invokevirtual sun.security.pkcs11.P11Key.releaseKeyID:()V
12: aload 0
aload 0
getfield sun.security.pkcs11.P11Signature.token:Lsun/security/pkcs11/Token;
aload 0
getfield sun.security.pkcs11.P11Signature.session:Lsun/security/pkcs11/Session;
invokevirtual sun.security.pkcs11.Token.releaseSession:(Lsun/security/pkcs11/Session;)Lsun/security/pkcs11/Session;
putfield sun.security.pkcs11.P11Signature.session:Lsun/security/pkcs11/Session;
13: aload 2
athrow
14: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.pkcs11.P11Signature.p11Key:Lsun/security/pkcs11/P11Key;
invokevirtual sun.security.pkcs11.P11Key.releaseKeyID:()V
15: aload 0
aload 0
getfield sun.security.pkcs11.P11Signature.token:Lsun/security/pkcs11/Token;
aload 0
getfield sun.security.pkcs11.P11Signature.session:Lsun/security/pkcs11/Session;
invokevirtual sun.security.pkcs11.Token.releaseSession:(Lsun/security/pkcs11/Session;)Lsun/security/pkcs11/Session;
putfield sun.security.pkcs11.P11Signature.session:Lsun/security/pkcs11/Session;
16: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Lsun/security/pkcs11/P11Signature;
0 17 1 doCancel Z
Exception table:
from to target type
3 4 10 any
7 10 10 any
MethodParameters:
Name Flags
doCancel
private void cancelOperation();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=4, args_size=1
start local 0 0: aload 0
getfield sun.security.pkcs11.P11Signature.token:Lsun/security/pkcs11/Token;
invokevirtual sun.security.pkcs11.Token.ensureValid:()V
1: aload 0
getfield sun.security.pkcs11.P11Signature.mode:I
iconst_1
if_icmpne 11
2: aload 0
getfield sun.security.pkcs11.P11Signature.type:I
iconst_2
if_icmpne 5
3: aload 0
getfield sun.security.pkcs11.P11Signature.token:Lsun/security/pkcs11/Token;
getfield sun.security.pkcs11.Token.p11:Lsun/security/pkcs11/wrapper/PKCS11;
aload 0
getfield sun.security.pkcs11.P11Signature.session:Lsun/security/pkcs11/Session;
invokevirtual sun.security.pkcs11.Session.id:()J
iconst_0
invokevirtual sun.security.pkcs11.wrapper.PKCS11.C_SignFinal:(JI)[B
pop
4: goto 33
5: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.pkcs11.P11Signature.type:I
iconst_1
if_icmpne 8
6: aload 0
getfield sun.security.pkcs11.P11Signature.md:Ljava/security/MessageDigest;
invokevirtual java.security.MessageDigest.digest:()[B
astore 1
start local 1 7: goto 9
end local 1 8: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.pkcs11.P11Signature.buffer:[B
astore 1
start local 1 9: StackMap locals: byte[]
StackMap stack:
aload 0
getfield sun.security.pkcs11.P11Signature.token:Lsun/security/pkcs11/Token;
getfield sun.security.pkcs11.Token.p11:Lsun/security/pkcs11/wrapper/PKCS11;
aload 0
getfield sun.security.pkcs11.P11Signature.session:Lsun/security/pkcs11/Session;
invokevirtual sun.security.pkcs11.Session.id:()J
aload 1
invokevirtual sun.security.pkcs11.wrapper.PKCS11.C_Sign:(J[B)[B
pop
end local 1 10: goto 33
11: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.pkcs11.P11Signature.mechanism:J
ldc 17
lcmp
ifne 14
12: bipush 64
newarray 8
astore 1
start local 1 13: goto 15
end local 1 14: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.pkcs11.P11Signature.p11Key:Lsun/security/pkcs11/P11Key;
invokevirtual sun.security.pkcs11.P11Key.length:()I
bipush 7
iadd
iconst_3
ishr
newarray 8
astore 1
start local 1 15: StackMap locals: byte[]
StackMap stack:
aload 0
getfield sun.security.pkcs11.P11Signature.type:I
iconst_2
if_icmpne 18
16: aload 0
getfield sun.security.pkcs11.P11Signature.token:Lsun/security/pkcs11/Token;
getfield sun.security.pkcs11.Token.p11:Lsun/security/pkcs11/wrapper/PKCS11;
aload 0
getfield sun.security.pkcs11.P11Signature.session:Lsun/security/pkcs11/Session;
invokevirtual sun.security.pkcs11.Session.id:()J
aload 1
invokevirtual sun.security.pkcs11.wrapper.PKCS11.C_VerifyFinal:(J[B)V
17: goto 33
18: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.pkcs11.P11Signature.type:I
iconst_1
if_icmpne 21
19: aload 0
getfield sun.security.pkcs11.P11Signature.md:Ljava/security/MessageDigest;
invokevirtual java.security.MessageDigest.digest:()[B
astore 2
start local 2 20: goto 22
end local 2 21: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.pkcs11.P11Signature.buffer:[B
astore 2
start local 2 22: StackMap locals: byte[]
StackMap stack:
aload 0
getfield sun.security.pkcs11.P11Signature.token:Lsun/security/pkcs11/Token;
getfield sun.security.pkcs11.Token.p11:Lsun/security/pkcs11/wrapper/PKCS11;
aload 0
getfield sun.security.pkcs11.P11Signature.session:Lsun/security/pkcs11/Session;
invokevirtual sun.security.pkcs11.Session.id:()J
aload 2
aload 1
invokevirtual sun.security.pkcs11.wrapper.PKCS11.C_Verify:(J[B[B)V
end local 2 end local 1 23: goto 33
StackMap locals: sun.security.pkcs11.P11Signature
StackMap stack: sun.security.pkcs11.wrapper.PKCS11Exception
24: astore 1
start local 1 25: aload 1
invokevirtual sun.security.pkcs11.wrapper.PKCS11Exception.getErrorCode:()J
ldc 145
lcmp
ifne 27
26: return
27: StackMap locals: sun.security.pkcs11.wrapper.PKCS11Exception
StackMap stack:
aload 0
getfield sun.security.pkcs11.P11Signature.mode:I
iconst_2
if_icmpne 32
28: aload 1
invokevirtual sun.security.pkcs11.wrapper.PKCS11Exception.getErrorCode:()J
lstore 2
start local 2 29: lload 2
ldc 192
lcmp
ifeq 31
30: lload 2
ldc 193
lcmp
ifne 32
31: StackMap locals: long
StackMap stack:
return
end local 2 32: StackMap locals:
StackMap stack:
new java.security.ProviderException
dup
ldc "cancel failed"
aload 1
invokespecial java.security.ProviderException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 1 33: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 34 0 this Lsun/security/pkcs11/P11Signature;
7 8 1 digest [B
9 10 1 digest [B
13 14 1 signature [B
15 23 1 signature [B
20 21 2 digest [B
22 23 2 digest [B
25 33 1 e Lsun/security/pkcs11/wrapper/PKCS11Exception;
29 32 2 errorCode J
Exception table:
from to target type
1 23 24 Class sun.security.pkcs11.wrapper.PKCS11Exception
private void ensureInitialized();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.security.pkcs11.P11Signature.initialized:Z
ifne 2
1: aload 0
invokevirtual sun.security.pkcs11.P11Signature.initialize:()V
2: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/security/pkcs11/P11Signature;
private void initialize();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=4, args_size=1
start local 0 0: aload 0
getfield sun.security.pkcs11.P11Signature.p11Key:Lsun/security/pkcs11/P11Key;
ifnonnull 4
1: new java.security.ProviderException
dup
2: ldc "Operation cannot be performed without calling engineInit first"
3: invokespecial java.security.ProviderException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.pkcs11.P11Signature.p11Key:Lsun/security/pkcs11/P11Key;
invokevirtual sun.security.pkcs11.P11Key.getKeyID:()J
lstore 1
start local 1 5: aload 0
getfield sun.security.pkcs11.P11Signature.token:Lsun/security/pkcs11/Token;
invokevirtual sun.security.pkcs11.Token.ensureValid:()V
6: aload 0
getfield sun.security.pkcs11.P11Signature.session:Lsun/security/pkcs11/Session;
ifnonnull 8
7: aload 0
aload 0
getfield sun.security.pkcs11.P11Signature.token:Lsun/security/pkcs11/Token;
invokevirtual sun.security.pkcs11.Token.getOpSession:()Lsun/security/pkcs11/Session;
putfield sun.security.pkcs11.P11Signature.session:Lsun/security/pkcs11/Session;
8: StackMap locals: long
StackMap stack:
aload 0
getfield sun.security.pkcs11.P11Signature.mode:I
iconst_1
if_icmpne 13
9: aload 0
getfield sun.security.pkcs11.P11Signature.token:Lsun/security/pkcs11/Token;
getfield sun.security.pkcs11.Token.p11:Lsun/security/pkcs11/wrapper/PKCS11;
aload 0
getfield sun.security.pkcs11.P11Signature.session:Lsun/security/pkcs11/Session;
invokevirtual sun.security.pkcs11.Session.id:()J
10: new sun.security.pkcs11.wrapper.CK_MECHANISM
dup
aload 0
getfield sun.security.pkcs11.P11Signature.mechanism:J
invokespecial sun.security.pkcs11.wrapper.CK_MECHANISM.<init>:(J)V
lload 1
11: invokevirtual sun.security.pkcs11.wrapper.PKCS11.C_SignInit:(JLsun/security/pkcs11/wrapper/CK_MECHANISM;J)V
12: goto 21
13: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.pkcs11.P11Signature.token:Lsun/security/pkcs11/Token;
getfield sun.security.pkcs11.Token.p11:Lsun/security/pkcs11/wrapper/PKCS11;
aload 0
getfield sun.security.pkcs11.P11Signature.session:Lsun/security/pkcs11/Session;
invokevirtual sun.security.pkcs11.Session.id:()J
14: new sun.security.pkcs11.wrapper.CK_MECHANISM
dup
aload 0
getfield sun.security.pkcs11.P11Signature.mechanism:J
invokespecial sun.security.pkcs11.wrapper.CK_MECHANISM.<init>:(J)V
lload 1
15: invokevirtual sun.security.pkcs11.wrapper.PKCS11.C_VerifyInit:(JLsun/security/pkcs11/wrapper/CK_MECHANISM;J)V
16: goto 21
StackMap locals:
StackMap stack: sun.security.pkcs11.wrapper.PKCS11Exception
17: astore 3
start local 3 18: aload 0
getfield sun.security.pkcs11.P11Signature.p11Key:Lsun/security/pkcs11/P11Key;
invokevirtual sun.security.pkcs11.P11Key.releaseKeyID:()V
19: aload 0
aload 0
getfield sun.security.pkcs11.P11Signature.token:Lsun/security/pkcs11/Token;
aload 0
getfield sun.security.pkcs11.P11Signature.session:Lsun/security/pkcs11/Session;
invokevirtual sun.security.pkcs11.Token.releaseSession:(Lsun/security/pkcs11/Session;)Lsun/security/pkcs11/Session;
putfield sun.security.pkcs11.P11Signature.session:Lsun/security/pkcs11/Session;
20: new java.security.ProviderException
dup
ldc "Initialization failed"
aload 3
invokespecial java.security.ProviderException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 3 21: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.pkcs11.P11Signature.bytesProcessed:I
ifeq 25
22: aload 0
iconst_0
putfield sun.security.pkcs11.P11Signature.bytesProcessed:I
23: aload 0
getfield sun.security.pkcs11.P11Signature.md:Ljava/security/MessageDigest;
ifnull 25
24: aload 0
getfield sun.security.pkcs11.P11Signature.md:Ljava/security/MessageDigest;
invokevirtual java.security.MessageDigest.reset:()V
25: StackMap locals:
StackMap stack:
aload 0
iconst_1
putfield sun.security.pkcs11.P11Signature.initialized:Z
26: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 27 0 this Lsun/security/pkcs11/P11Signature;
5 27 1 keyID J
18 21 3 e Lsun/security/pkcs11/wrapper/PKCS11Exception;
Exception table:
from to target type
5 16 17 Class sun.security.pkcs11.wrapper.PKCS11Exception
private void checkKeySize(java.lang.String, java.security.Key);
descriptor: (Ljava/lang/String;Ljava/security/Key;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=8, args_size=3
start local 0 start local 1 start local 2 0: aconst_null
astore 3
start local 3 1: aload 0
getfield sun.security.pkcs11.P11Signature.token:Lsun/security/pkcs11/Token;
aload 0
getfield sun.security.pkcs11.P11Signature.mechanism:J
invokevirtual sun.security.pkcs11.Token.getMechanismInfo:(J)Lsun/security/pkcs11/wrapper/CK_MECHANISM_INFO;
astore 3
2: goto 4
StackMap locals: sun.security.pkcs11.P11Signature java.lang.String java.security.Key sun.security.pkcs11.wrapper.CK_MECHANISM_INFO
StackMap stack: sun.security.pkcs11.wrapper.PKCS11Exception
3: pop
4: StackMap locals:
StackMap stack:
aload 3
ifnonnull 6
5: return
6: StackMap locals:
StackMap stack:
aload 3
getfield sun.security.pkcs11.wrapper.CK_MECHANISM_INFO.iMinKeySize:I
istore 4
start local 4 7: aload 3
getfield sun.security.pkcs11.wrapper.CK_MECHANISM_INFO.iMaxKeySize:I
istore 5
start local 5 8: aload 0
getfield sun.security.pkcs11.P11Signature.md:Ljava/security/MessageDigest;
ifnull 10
aload 0
getfield sun.security.pkcs11.P11Signature.mechanism:J
ldc 17
lcmp
ifne 10
iload 5
sipush 1024
if_icmple 10
9: sipush 1024
istore 5
10: StackMap locals: int int
StackMap stack:
iconst_0
istore 6
start local 6 11: aload 2
instanceof sun.security.pkcs11.P11Key
ifeq 14
12: aload 2
checkcast sun.security.pkcs11.P11Key
invokevirtual sun.security.pkcs11.P11Key.length:()I
istore 6
13: goto 28
14: StackMap locals: int
StackMap stack:
aload 1
ldc "RSA"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 17
15: aload 2
checkcast java.security.interfaces.RSAKey
invokeinterface java.security.interfaces.RSAKey.getModulus:()Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.bitLength:()I
istore 6
16: goto 28
StackMap locals:
StackMap stack:
17: aload 1
ldc "DSA"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 20
18: aload 2
checkcast java.security.interfaces.DSAKey
invokeinterface java.security.interfaces.DSAKey.getParams:()Ljava/security/interfaces/DSAParams;
invokeinterface java.security.interfaces.DSAParams.getP:()Ljava/math/BigInteger;
invokevirtual java.math.BigInteger.bitLength:()I
istore 6
19: goto 28
StackMap locals:
StackMap stack:
20: aload 1
ldc "EC"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 23
21: aload 2
checkcast java.security.interfaces.ECKey
invokeinterface java.security.interfaces.ECKey.getParams:()Ljava/security/spec/ECParameterSpec;
invokevirtual java.security.spec.ECParameterSpec.getCurve:()Ljava/security/spec/EllipticCurve;
invokevirtual java.security.spec.EllipticCurve.getField:()Ljava/security/spec/ECField;
invokeinterface java.security.spec.ECField.getFieldSize:()I
istore 6
22: goto 28
23: StackMap locals:
StackMap stack:
new java.security.ProviderException
dup
new java.lang.StringBuilder
dup
ldc "Error: unsupported algo "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.security.ProviderException.<init>:(Ljava/lang/String;)V
athrow
24: StackMap locals:
StackMap stack: java.lang.ClassCastException
astore 7
start local 7 25: new java.security.InvalidKeyException
dup
new java.lang.StringBuilder
dup
aload 1
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
26: ldc " key must be the right type"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 7
27: invokespecial java.security.InvalidKeyException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 7 28: StackMap locals:
StackMap stack:
iload 6
iload 4
if_icmpge 32
29: new java.security.InvalidKeyException
dup
new java.lang.StringBuilder
dup
aload 1
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
30: ldc " key must be at least "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 4
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " bits"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
31: invokespecial java.security.InvalidKeyException.<init>:(Ljava/lang/String;)V
athrow
32: StackMap locals:
StackMap stack:
iload 6
iload 5
if_icmple 36
33: new java.security.InvalidKeyException
dup
new java.lang.StringBuilder
dup
aload 1
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
34: ldc " key must be at most "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 5
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " bits"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
35: invokespecial java.security.InvalidKeyException.<init>:(Ljava/lang/String;)V
athrow
36: StackMap locals:
StackMap stack:
aload 1
ldc "RSA"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 38
37: aload 0
iload 6
invokevirtual sun.security.pkcs11.P11Signature.checkRSAKeyLength:(I)V
38: StackMap locals:
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 39 0 this Lsun/security/pkcs11/P11Signature;
0 39 1 keyAlgo Ljava/lang/String;
0 39 2 key Ljava/security/Key;
1 39 3 mechInfo Lsun/security/pkcs11/wrapper/CK_MECHANISM_INFO;
7 39 4 minKeySize I
8 39 5 maxKeySize I
11 39 6 keySize I
25 28 7 cce Ljava/lang/ClassCastException;
Exception table:
from to target type
1 2 3 Class sun.security.pkcs11.wrapper.PKCS11Exception
14 24 24 Class java.lang.ClassCastException
Exceptions:
throws java.security.InvalidKeyException
MethodParameters:
Name Flags
keyAlgo
key
private void checkRSAKeyLength(int);
descriptor: (I)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=11, locals=6, args_size=2
start local 0 start local 1 0: iconst_1
iload 1
bipush 7
iadd
iconst_3
ishr
1: invokestatic sun.security.rsa.RSAPadding.getInstance:(II)Lsun/security/rsa/RSAPadding;
astore 2
start local 2 2: goto 5
end local 2 StackMap locals:
StackMap stack: java.security.InvalidAlgorithmParameterException
3: astore 3
start local 3 4: new java.security.InvalidKeyException
dup
aload 3
invokevirtual java.security.InvalidAlgorithmParameterException.getMessage:()Ljava/lang/String;
invokespecial java.security.InvalidKeyException.<init>:(Ljava/lang/String;)V
athrow
end local 3 start local 2 5: StackMap locals: sun.security.rsa.RSAPadding
StackMap stack:
aload 2
invokevirtual sun.security.rsa.RSAPadding.getMaxDataSize:()I
istore 3
start local 3 6: aload 0
getfield sun.security.pkcs11.P11Signature.algorithm:Ljava/lang/String;
dup
astore 5
invokevirtual java.lang.String.hashCode:()I
lookupswitch { // 11
-1893185971: 7
-1364698020: 8
-794853417: 9
-754115883: 10
-611254448: 11
-280290445: 12
43556748: 13
1656452274: 14
1887218353: 15
1996805567: 16
2070817322: 17
default: 24
}
StackMap locals: sun.security.pkcs11.P11Signature int sun.security.rsa.RSAPadding int top java.lang.String
StackMap stack:
7: aload 5
ldc "SHA3-256withRSA"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 21
goto 24
StackMap locals:
StackMap stack:
8: aload 5
ldc "MD5withRSA"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 18
goto 24
StackMap locals:
StackMap stack:
9: aload 5
ldc "SHA384withRSA"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 22
goto 24
StackMap locals:
StackMap stack:
10: aload 5
ldc "SHA1withRSA"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 19
goto 24
StackMap locals:
StackMap stack:
11: aload 5
ldc "SHA512withRSA"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 23
goto 24
StackMap locals:
StackMap stack:
12: aload 5
ldc "SHA256withRSA"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 21
goto 24
StackMap locals:
StackMap stack:
13: aload 5
ldc "SHA3-224withRSA"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 20
goto 24
StackMap locals:
StackMap stack:
14: aload 5
ldc "SHA224withRSA"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 20
goto 24
StackMap locals:
StackMap stack:
15: aload 5
ldc "SHA3-384withRSA"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 22
goto 24
StackMap locals:
StackMap stack:
16: aload 5
ldc "MD2withRSA"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 18
goto 24
StackMap locals:
StackMap stack:
17: aload 5
ldc "SHA3-512withRSA"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 23
goto 24
18: StackMap locals:
StackMap stack:
bipush 34
goto 27
19: StackMap locals:
StackMap stack:
bipush 35
goto 27
20: StackMap locals:
StackMap stack:
bipush 47
goto 27
21: StackMap locals:
StackMap stack:
bipush 51
goto 27
22: StackMap locals:
StackMap stack:
bipush 67
goto 27
23: StackMap locals:
StackMap stack:
bipush 83
goto 27
24: StackMap locals:
StackMap stack:
new java.security.ProviderException
dup
new java.lang.StringBuilder
dup
ldc "Unknown signature algo: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
25: aload 0
getfield sun.security.pkcs11.P11Signature.algorithm:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
26: invokespecial java.security.ProviderException.<init>:(Ljava/lang/String;)V
athrow
27: StackMap locals: sun.security.pkcs11.P11Signature int sun.security.rsa.RSAPadding int
StackMap stack: int
istore 4
start local 4 28: iload 4
iload 3
if_icmple 32
29: new java.security.InvalidKeyException
dup
30: ldc "Key is too short for this signature algorithm"
31: invokespecial java.security.InvalidKeyException.<init>:(Ljava/lang/String;)V
athrow
32: StackMap locals: int
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 33 0 this Lsun/security/pkcs11/P11Signature;
0 33 1 len I
2 3 2 padding Lsun/security/rsa/RSAPadding;
5 33 2 padding Lsun/security/rsa/RSAPadding;
4 5 3 iape Ljava/security/InvalidAlgorithmParameterException;
6 33 3 maxDataSize I
28 33 4 encodedLength I
Exception table:
from to target type
0 2 3 Class java.security.InvalidAlgorithmParameterException
Exceptions:
throws java.security.InvalidKeyException
MethodParameters:
Name Flags
len
protected void engineInitVerify(java.security.PublicKey);
descriptor: (Ljava/security/PublicKey;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 1
ifnonnull 2
1: new java.security.InvalidKeyException
dup
ldc "Key must not be null"
invokespecial java.security.InvalidKeyException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 1
aload 0
getfield sun.security.pkcs11.P11Signature.p11Key:Lsun/security/pkcs11/P11Key;
if_acmpeq 4
3: aload 0
aload 0
getfield sun.security.pkcs11.P11Signature.keyAlgorithm:Ljava/lang/String;
aload 1
invokevirtual sun.security.pkcs11.P11Signature.checkKeySize:(Ljava/lang/String;Ljava/security/Key;)V
4: StackMap locals:
StackMap stack:
aload 0
iconst_1
invokevirtual sun.security.pkcs11.P11Signature.reset:(Z)V
5: aload 0
iconst_2
putfield sun.security.pkcs11.P11Signature.mode:I
6: aload 0
aload 0
getfield sun.security.pkcs11.P11Signature.token:Lsun/security/pkcs11/Token;
aload 1
aload 0
getfield sun.security.pkcs11.P11Signature.keyAlgorithm:Ljava/lang/String;
invokestatic sun.security.pkcs11.P11KeyFactory.convertKey:(Lsun/security/pkcs11/Token;Ljava/security/Key;Ljava/lang/String;)Lsun/security/pkcs11/P11Key;
putfield sun.security.pkcs11.P11Signature.p11Key:Lsun/security/pkcs11/P11Key;
7: aload 0
invokevirtual sun.security.pkcs11.P11Signature.initialize:()V
8: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lsun/security/pkcs11/P11Signature;
0 9 1 publicKey Ljava/security/PublicKey;
Exceptions:
throws java.security.InvalidKeyException
MethodParameters:
Name Flags
publicKey
protected void engineInitSign(java.security.PrivateKey);
descriptor: (Ljava/security/PrivateKey;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 1
ifnonnull 2
1: new java.security.InvalidKeyException
dup
ldc "Key must not be null"
invokespecial java.security.InvalidKeyException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 1
aload 0
getfield sun.security.pkcs11.P11Signature.p11Key:Lsun/security/pkcs11/P11Key;
if_acmpeq 4
3: aload 0
aload 0
getfield sun.security.pkcs11.P11Signature.keyAlgorithm:Ljava/lang/String;
aload 1
invokevirtual sun.security.pkcs11.P11Signature.checkKeySize:(Ljava/lang/String;Ljava/security/Key;)V
4: StackMap locals:
StackMap stack:
aload 0
iconst_1
invokevirtual sun.security.pkcs11.P11Signature.reset:(Z)V
5: aload 0
iconst_1
putfield sun.security.pkcs11.P11Signature.mode:I
6: aload 0
aload 0
getfield sun.security.pkcs11.P11Signature.token:Lsun/security/pkcs11/Token;
aload 1
aload 0
getfield sun.security.pkcs11.P11Signature.keyAlgorithm:Ljava/lang/String;
invokestatic sun.security.pkcs11.P11KeyFactory.convertKey:(Lsun/security/pkcs11/Token;Ljava/security/Key;Ljava/lang/String;)Lsun/security/pkcs11/P11Key;
putfield sun.security.pkcs11.P11Signature.p11Key:Lsun/security/pkcs11/P11Key;
7: aload 0
invokevirtual sun.security.pkcs11.P11Signature.initialize:()V
8: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lsun/security/pkcs11/P11Signature;
0 9 1 privateKey Ljava/security/PrivateKey;
Exceptions:
throws java.security.InvalidKeyException
MethodParameters:
Name Flags
privateKey
protected void engineUpdate(byte);
descriptor: (B)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual sun.security.pkcs11.P11Signature.ensureInitialized:()V
1: aload 0
getfield sun.security.pkcs11.P11Signature.type:I
tableswitch { // 1 - 3
1: 5
2: 2
3: 8
default: 13
}
2: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.pkcs11.P11Signature.buffer:[B
iconst_0
iload 1
bastore
3: aload 0
aload 0
getfield sun.security.pkcs11.P11Signature.buffer:[B
iconst_0
iconst_1
invokevirtual sun.security.pkcs11.P11Signature.engineUpdate:([BII)V
4: goto 14
5: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.pkcs11.P11Signature.md:Ljava/security/MessageDigest;
iload 1
invokevirtual java.security.MessageDigest.update:(B)V
6: aload 0
dup
getfield sun.security.pkcs11.P11Signature.bytesProcessed:I
iconst_1
iadd
putfield sun.security.pkcs11.P11Signature.bytesProcessed:I
7: goto 14
8: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.pkcs11.P11Signature.bytesProcessed:I
aload 0
getfield sun.security.pkcs11.P11Signature.buffer:[B
arraylength
if_icmplt 11
9: aload 0
aload 0
getfield sun.security.pkcs11.P11Signature.buffer:[B
arraylength
iconst_1
iadd
putfield sun.security.pkcs11.P11Signature.bytesProcessed:I
10: return
11: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.pkcs11.P11Signature.buffer:[B
aload 0
dup
getfield sun.security.pkcs11.P11Signature.bytesProcessed:I
dup_x1
iconst_1
iadd
putfield sun.security.pkcs11.P11Signature.bytesProcessed:I
iload 1
bastore
12: goto 14
13: StackMap locals:
StackMap stack:
new java.security.ProviderException
dup
ldc "Internal error"
invokespecial java.security.ProviderException.<init>:(Ljava/lang/String;)V
athrow
14: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lsun/security/pkcs11/P11Signature;
0 15 1 b B
Exceptions:
throws java.security.SignatureException
MethodParameters:
Name Flags
b
protected void engineUpdate(byte[], int, int);
descriptor: ([BII)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=8, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokevirtual sun.security.pkcs11.P11Signature.ensureInitialized:()V
1: iload 3
ifne 3
2: return
3: StackMap locals:
StackMap stack:
iload 3
aload 0
getfield sun.security.pkcs11.P11Signature.bytesProcessed:I
iadd
ifge 5
4: new java.security.ProviderException
dup
ldc "Processed bytes limits exceeded."
invokespecial java.security.ProviderException.<init>:(Ljava/lang/String;)V
athrow
5: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.pkcs11.P11Signature.type:I
tableswitch { // 1 - 3
1: 15
2: 6
3: 18
default: 24
}
6: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.pkcs11.P11Signature.mode:I
iconst_1
if_icmpne 9
7: aload 0
getfield sun.security.pkcs11.P11Signature.token:Lsun/security/pkcs11/Token;
getfield sun.security.pkcs11.Token.p11:Lsun/security/pkcs11/wrapper/PKCS11;
aload 0
getfield sun.security.pkcs11.P11Signature.session:Lsun/security/pkcs11/Session;
invokevirtual sun.security.pkcs11.Session.id:()J
lconst_0
aload 1
iload 2
iload 3
invokevirtual sun.security.pkcs11.wrapper.PKCS11.C_SignUpdate:(JJ[BII)V
8: goto 10
9: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.pkcs11.P11Signature.token:Lsun/security/pkcs11/Token;
getfield sun.security.pkcs11.Token.p11:Lsun/security/pkcs11/wrapper/PKCS11;
aload 0
getfield sun.security.pkcs11.P11Signature.session:Lsun/security/pkcs11/Session;
invokevirtual sun.security.pkcs11.Session.id:()J
lconst_0
aload 1
iload 2
iload 3
invokevirtual sun.security.pkcs11.wrapper.PKCS11.C_VerifyUpdate:(JJ[BII)V
10: StackMap locals:
StackMap stack:
aload 0
dup
getfield sun.security.pkcs11.P11Signature.bytesProcessed:I
iload 3
iadd
putfield sun.security.pkcs11.P11Signature.bytesProcessed:I
11: goto 25
StackMap locals:
StackMap stack: sun.security.pkcs11.wrapper.PKCS11Exception
12: astore 4
start local 4 13: aload 0
iconst_0
invokevirtual sun.security.pkcs11.P11Signature.reset:(Z)V
14: new java.security.ProviderException
dup
aload 4
invokespecial java.security.ProviderException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 4 15: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.pkcs11.P11Signature.md:Ljava/security/MessageDigest;
aload 1
iload 2
iload 3
invokevirtual java.security.MessageDigest.update:([BII)V
16: aload 0
dup
getfield sun.security.pkcs11.P11Signature.bytesProcessed:I
iload 3
iadd
putfield sun.security.pkcs11.P11Signature.bytesProcessed:I
17: goto 25
18: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.pkcs11.P11Signature.bytesProcessed:I
iload 3
iadd
aload 0
getfield sun.security.pkcs11.P11Signature.buffer:[B
arraylength
if_icmple 21
19: aload 0
aload 0
getfield sun.security.pkcs11.P11Signature.buffer:[B
arraylength
iconst_1
iadd
putfield sun.security.pkcs11.P11Signature.bytesProcessed:I
20: return
21: StackMap locals:
StackMap stack:
aload 1
iload 2
aload 0
getfield sun.security.pkcs11.P11Signature.buffer:[B
aload 0
getfield sun.security.pkcs11.P11Signature.bytesProcessed:I
iload 3
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
22: aload 0
dup
getfield sun.security.pkcs11.P11Signature.bytesProcessed:I
iload 3
iadd
putfield sun.security.pkcs11.P11Signature.bytesProcessed:I
23: goto 25
24: StackMap locals:
StackMap stack:
new java.security.ProviderException
dup
ldc "Internal error"
invokespecial java.security.ProviderException.<init>:(Ljava/lang/String;)V
athrow
25: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 26 0 this Lsun/security/pkcs11/P11Signature;
0 26 1 b [B
0 26 2 ofs I
0 26 3 len I
13 15 4 e Lsun/security/pkcs11/wrapper/PKCS11Exception;
Exception table:
from to target type
6 11 12 Class sun.security.pkcs11.wrapper.PKCS11Exception
Exceptions:
throws java.security.SignatureException
MethodParameters:
Name Flags
b
ofs
len
protected void engineUpdate(java.nio.ByteBuffer);
descriptor: (Ljava/nio/ByteBuffer;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=8, locals=7, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual sun.security.pkcs11.P11Signature.ensureInitialized:()V
1: aload 1
invokevirtual java.nio.ByteBuffer.remaining:()I
istore 2
start local 2 2: iload 2
ifgt 4
3: return
4: StackMap locals: int
StackMap stack:
aload 0
getfield sun.security.pkcs11.P11Signature.type:I
tableswitch { // 1 - 3
1: 24
2: 5
3: 27
default: 33
}
5: StackMap locals:
StackMap stack:
aload 1
instanceof sun.nio.ch.DirectBuffer
ifne 8
6: aload 0
aload 1
invokespecial java.security.SignatureSpi.engineUpdate:(Ljava/nio/ByteBuffer;)V
7: return
8: StackMap locals:
StackMap stack:
aload 1
checkcast sun.nio.ch.DirectBuffer
invokeinterface sun.nio.ch.DirectBuffer.address:()J
lstore 3
start local 3 9: aload 1
invokevirtual java.nio.ByteBuffer.position:()I
istore 5
start local 5 10: aload 0
getfield sun.security.pkcs11.P11Signature.mode:I
iconst_1
if_icmpne 15
11: aload 0
getfield sun.security.pkcs11.P11Signature.token:Lsun/security/pkcs11/Token;
getfield sun.security.pkcs11.Token.p11:Lsun/security/pkcs11/wrapper/PKCS11;
12: aload 0
getfield sun.security.pkcs11.P11Signature.session:Lsun/security/pkcs11/Session;
invokevirtual sun.security.pkcs11.Session.id:()J
lload 3
iload 5
i2l
ladd
aconst_null
iconst_0
iload 2
13: invokevirtual sun.security.pkcs11.wrapper.PKCS11.C_SignUpdate:(JJ[BII)V
14: goto 18
15: StackMap locals: long int
StackMap stack:
aload 0
getfield sun.security.pkcs11.P11Signature.token:Lsun/security/pkcs11/Token;
getfield sun.security.pkcs11.Token.p11:Lsun/security/pkcs11/wrapper/PKCS11;
16: aload 0
getfield sun.security.pkcs11.P11Signature.session:Lsun/security/pkcs11/Session;
invokevirtual sun.security.pkcs11.Session.id:()J
lload 3
iload 5
i2l
ladd
aconst_null
iconst_0
iload 2
17: invokevirtual sun.security.pkcs11.wrapper.PKCS11.C_VerifyUpdate:(JJ[BII)V
18: StackMap locals:
StackMap stack:
aload 0
dup
getfield sun.security.pkcs11.P11Signature.bytesProcessed:I
iload 2
iadd
putfield sun.security.pkcs11.P11Signature.bytesProcessed:I
19: aload 1
iload 5
iload 2
iadd
invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
pop
20: goto 35
StackMap locals:
StackMap stack: sun.security.pkcs11.wrapper.PKCS11Exception
21: astore 6
start local 6 22: aload 0
iconst_0
invokevirtual sun.security.pkcs11.P11Signature.reset:(Z)V
23: new java.security.ProviderException
dup
ldc "Update failed"
aload 6
invokespecial java.security.ProviderException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 6 end local 5 end local 3 24: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.pkcs11.P11Signature.md:Ljava/security/MessageDigest;
aload 1
invokevirtual java.security.MessageDigest.update:(Ljava/nio/ByteBuffer;)V
25: aload 0
dup
getfield sun.security.pkcs11.P11Signature.bytesProcessed:I
iload 2
iadd
putfield sun.security.pkcs11.P11Signature.bytesProcessed:I
26: goto 35
27: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.pkcs11.P11Signature.bytesProcessed:I
iload 2
iadd
aload 0
getfield sun.security.pkcs11.P11Signature.buffer:[B
arraylength
if_icmple 30
28: aload 0
aload 0
getfield sun.security.pkcs11.P11Signature.buffer:[B
arraylength
iconst_1
iadd
putfield sun.security.pkcs11.P11Signature.bytesProcessed:I
29: return
30: StackMap locals:
StackMap stack:
aload 1
aload 0
getfield sun.security.pkcs11.P11Signature.buffer:[B
aload 0
getfield sun.security.pkcs11.P11Signature.bytesProcessed:I
iload 2
invokevirtual java.nio.ByteBuffer.get:([BII)Ljava/nio/ByteBuffer;
pop
31: aload 0
dup
getfield sun.security.pkcs11.P11Signature.bytesProcessed:I
iload 2
iadd
putfield sun.security.pkcs11.P11Signature.bytesProcessed:I
32: goto 35
33: StackMap locals:
StackMap stack:
aload 0
iconst_0
invokevirtual sun.security.pkcs11.P11Signature.reset:(Z)V
34: new java.security.ProviderException
dup
ldc "Internal error"
invokespecial java.security.ProviderException.<init>:(Ljava/lang/String;)V
athrow
35: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 36 0 this Lsun/security/pkcs11/P11Signature;
0 36 1 byteBuffer Ljava/nio/ByteBuffer;
2 36 2 len I
9 24 3 addr J
10 24 5 ofs I
22 24 6 e Lsun/security/pkcs11/wrapper/PKCS11Exception;
Exception table:
from to target type
10 20 21 Class sun.security.pkcs11.wrapper.PKCS11Exception
MethodParameters:
Name Flags
byteBuffer
protected byte[] engineSign();
descriptor: ()[B
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=7, args_size=1
start local 0 0: aload 0
invokevirtual sun.security.pkcs11.P11Signature.ensureInitialized:()V
1: iconst_1
istore 1
start local 1 2: aload 0
getfield sun.security.pkcs11.P11Signature.type:I
iconst_2
if_icmpne 5
3: aload 0
getfield sun.security.pkcs11.P11Signature.token:Lsun/security/pkcs11/Token;
getfield sun.security.pkcs11.Token.p11:Lsun/security/pkcs11/wrapper/PKCS11;
aload 0
getfield sun.security.pkcs11.P11Signature.session:Lsun/security/pkcs11/Session;
invokevirtual sun.security.pkcs11.Session.id:()J
iconst_0
invokevirtual sun.security.pkcs11.wrapper.PKCS11.C_SignFinal:(JI)[B
astore 2
start local 2 4: goto 26
end local 2 5: StackMap locals: int
StackMap stack:
aload 0
getfield sun.security.pkcs11.P11Signature.type:I
iconst_1
if_icmpne 8
6: aload 0
getfield sun.security.pkcs11.P11Signature.md:Ljava/security/MessageDigest;
invokevirtual java.security.MessageDigest.digest:()[B
astore 3
start local 3 7: goto 19
end local 3 8: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.pkcs11.P11Signature.mechanism:J
ldc 17
lcmp
ifne 15
9: aload 0
getfield sun.security.pkcs11.P11Signature.bytesProcessed:I
aload 0
getfield sun.security.pkcs11.P11Signature.buffer:[B
arraylength
if_icmpeq 13
10: new java.security.SignatureException
dup
11: ldc "Data for RawDSA must be exactly 20 bytes long"
12: invokespecial java.security.SignatureException.<init>:(Ljava/lang/String;)V
athrow
13: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.pkcs11.P11Signature.buffer:[B
astore 3
start local 3 14: goto 19
end local 3 15: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.pkcs11.P11Signature.bytesProcessed:I
aload 0
getfield sun.security.pkcs11.P11Signature.buffer:[B
arraylength
if_icmple 17
16: new java.security.SignatureException
dup
ldc "Data for NONEwithECDSA must be at most 128 bytes long"
invokespecial java.security.SignatureException.<init>:(Ljava/lang/String;)V
athrow
17: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.pkcs11.P11Signature.bytesProcessed:I
newarray 8
astore 3
start local 3 18: aload 0
getfield sun.security.pkcs11.P11Signature.buffer:[B
iconst_0
aload 3
iconst_0
aload 0
getfield sun.security.pkcs11.P11Signature.bytesProcessed:I
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
19: StackMap locals: sun.security.pkcs11.P11Signature int top byte[]
StackMap stack:
aload 0
getfield sun.security.pkcs11.P11Signature.keyAlgorithm:Ljava/lang/String;
ldc "RSA"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 22
20: aload 0
getfield sun.security.pkcs11.P11Signature.token:Lsun/security/pkcs11/Token;
getfield sun.security.pkcs11.Token.p11:Lsun/security/pkcs11/wrapper/PKCS11;
aload 0
getfield sun.security.pkcs11.P11Signature.session:Lsun/security/pkcs11/Session;
invokevirtual sun.security.pkcs11.Session.id:()J
aload 3
invokevirtual sun.security.pkcs11.wrapper.PKCS11.C_Sign:(J[B)[B
astore 2
start local 2 21: goto 26
end local 2 22: StackMap locals:
StackMap stack:
aload 0
aload 3
invokevirtual sun.security.pkcs11.P11Signature.encodeSignature:([B)[B
astore 4
start local 4 23: aload 0
getfield sun.security.pkcs11.P11Signature.mechanism:J
ldc 3
lcmp
ifne 25
24: aload 0
aload 4
invokevirtual sun.security.pkcs11.P11Signature.pkcs1Pad:([B)[B
astore 4
25: StackMap locals: byte[]
StackMap stack:
aload 0
getfield sun.security.pkcs11.P11Signature.token:Lsun/security/pkcs11/Token;
getfield sun.security.pkcs11.Token.p11:Lsun/security/pkcs11/wrapper/PKCS11;
aload 0
getfield sun.security.pkcs11.P11Signature.session:Lsun/security/pkcs11/Session;
invokevirtual sun.security.pkcs11.Session.id:()J
aload 4
invokevirtual sun.security.pkcs11.wrapper.PKCS11.C_Sign:(J[B)[B
astore 2
end local 4 end local 3 start local 2 26: StackMap locals: sun.security.pkcs11.P11Signature int byte[]
StackMap stack:
iconst_0
istore 1
27: aload 0
getfield sun.security.pkcs11.P11Signature.keyAlgorithm:Ljava/lang/String;
ldc "RSA"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 31
28: aload 2
astore 6
29: aload 0
iload 1
invokevirtual sun.security.pkcs11.P11Signature.reset:(Z)V
30: aload 6
areturn
31: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.pkcs11.P11Signature.p1363Format:Z
ifeq 35
32: aload 2
astore 6
33: aload 0
iload 1
invokevirtual sun.security.pkcs11.P11Signature.reset:(Z)V
34: aload 6
areturn
35: StackMap locals:
StackMap stack:
aload 2
invokestatic sun.security.pkcs11.P11Signature.dsaToASN1:([B)[B
astore 6
36: aload 0
iload 1
invokevirtual sun.security.pkcs11.P11Signature.reset:(Z)V
37: aload 6
areturn
end local 2 38: StackMap locals: sun.security.pkcs11.P11Signature int
StackMap stack: sun.security.pkcs11.wrapper.PKCS11Exception
astore 2
start local 2 39: iconst_0
istore 1
40: new java.security.ProviderException
dup
aload 2
invokespecial java.security.ProviderException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 2 41: StackMap locals:
StackMap stack: java.lang.Exception
astore 2
start local 2 42: aload 2
athrow
end local 2 43: StackMap locals:
StackMap stack: java.lang.Throwable
astore 5
44: aload 0
iload 1
invokevirtual sun.security.pkcs11.P11Signature.reset:(Z)V
45: aload 5
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 46 0 this Lsun/security/pkcs11/P11Signature;
2 46 1 doCancel Z
4 5 2 signature [B
21 22 2 signature [B
26 38 2 signature [B
7 8 3 digest [B
14 15 3 digest [B
18 26 3 digest [B
23 26 4 data [B
39 41 2 pe Lsun/security/pkcs11/wrapper/PKCS11Exception;
42 43 2 e Ljava/lang/Exception;
Exception table:
from to target type
2 29 38 Class sun.security.pkcs11.wrapper.PKCS11Exception
31 33 38 Class sun.security.pkcs11.wrapper.PKCS11Exception
35 36 38 Class sun.security.pkcs11.wrapper.PKCS11Exception
2 29 41 Class java.security.SignatureException
31 33 41 Class java.security.SignatureException
35 36 41 Class java.security.SignatureException
2 29 41 Class java.security.ProviderException
31 33 41 Class java.security.ProviderException
35 36 41 Class java.security.ProviderException
2 29 43 any
31 33 43 any
35 36 43 any
38 43 43 any
Exceptions:
throws java.security.SignatureException
protected boolean engineVerify(byte[]);
descriptor: ([B)Z
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=7, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual sun.security.pkcs11.P11Signature.ensureInitialized:()V
1: iconst_1
istore 2
start local 2 2: aload 0
getfield sun.security.pkcs11.P11Signature.p1363Format:Z
ifne 8
3: aload 0
getfield sun.security.pkcs11.P11Signature.keyAlgorithm:Ljava/lang/String;
ldc "DSA"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 6
4: aload 1
invokestatic sun.security.pkcs11.P11Signature.asn1ToDSA:([B)[B
astore 1
5: goto 8
StackMap locals: int
StackMap stack:
6: aload 0
getfield sun.security.pkcs11.P11Signature.keyAlgorithm:Ljava/lang/String;
ldc "EC"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 8
7: aload 0
aload 1
invokevirtual sun.security.pkcs11.P11Signature.asn1ToECDSA:([B)[B
astore 1
8: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.pkcs11.P11Signature.type:I
iconst_2
if_icmpne 11
9: aload 0
getfield sun.security.pkcs11.P11Signature.token:Lsun/security/pkcs11/Token;
getfield sun.security.pkcs11.Token.p11:Lsun/security/pkcs11/wrapper/PKCS11;
aload 0
getfield sun.security.pkcs11.P11Signature.session:Lsun/security/pkcs11/Session;
invokevirtual sun.security.pkcs11.Session.id:()J
aload 1
invokevirtual sun.security.pkcs11.wrapper.PKCS11.C_VerifyFinal:(J[B)V
10: goto 32
11: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.pkcs11.P11Signature.type:I
iconst_1
if_icmpne 14
12: aload 0
getfield sun.security.pkcs11.P11Signature.md:Ljava/security/MessageDigest;
invokevirtual java.security.MessageDigest.digest:()[B
astore 3
start local 3 13: goto 25
end local 3 14: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.pkcs11.P11Signature.mechanism:J
ldc 17
lcmp
ifne 21
15: aload 0
getfield sun.security.pkcs11.P11Signature.bytesProcessed:I
aload 0
getfield sun.security.pkcs11.P11Signature.buffer:[B
arraylength
if_icmpeq 19
16: new java.security.SignatureException
dup
17: ldc "Data for RawDSA must be exactly 20 bytes long"
18: invokespecial java.security.SignatureException.<init>:(Ljava/lang/String;)V
athrow
19: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.pkcs11.P11Signature.buffer:[B
astore 3
start local 3 20: goto 25
end local 3 21: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.pkcs11.P11Signature.bytesProcessed:I
aload 0
getfield sun.security.pkcs11.P11Signature.buffer:[B
arraylength
if_icmple 23
22: new java.security.SignatureException
dup
ldc "Data for NONEwithECDSA must be at most 128 bytes long"
invokespecial java.security.SignatureException.<init>:(Ljava/lang/String;)V
athrow
23: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.pkcs11.P11Signature.bytesProcessed:I
newarray 8
astore 3
start local 3 24: aload 0
getfield sun.security.pkcs11.P11Signature.buffer:[B
iconst_0
aload 3
iconst_0
aload 0
getfield sun.security.pkcs11.P11Signature.bytesProcessed:I
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
25: StackMap locals: byte[]
StackMap stack:
aload 0
getfield sun.security.pkcs11.P11Signature.keyAlgorithm:Ljava/lang/String;
ldc "RSA"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 28
26: aload 0
getfield sun.security.pkcs11.P11Signature.token:Lsun/security/pkcs11/Token;
getfield sun.security.pkcs11.Token.p11:Lsun/security/pkcs11/wrapper/PKCS11;
aload 0
getfield sun.security.pkcs11.P11Signature.session:Lsun/security/pkcs11/Session;
invokevirtual sun.security.pkcs11.Session.id:()J
aload 3
aload 1
invokevirtual sun.security.pkcs11.wrapper.PKCS11.C_Verify:(J[B[B)V
27: goto 32
28: StackMap locals:
StackMap stack:
aload 0
aload 3
invokevirtual sun.security.pkcs11.P11Signature.encodeSignature:([B)[B
astore 4
start local 4 29: aload 0
getfield sun.security.pkcs11.P11Signature.mechanism:J
ldc 3
lcmp
ifne 31
30: aload 0
aload 4
invokevirtual sun.security.pkcs11.P11Signature.pkcs1Pad:([B)[B
astore 4
31: StackMap locals: byte[]
StackMap stack:
aload 0
getfield sun.security.pkcs11.P11Signature.token:Lsun/security/pkcs11/Token;
getfield sun.security.pkcs11.Token.p11:Lsun/security/pkcs11/wrapper/PKCS11;
aload 0
getfield sun.security.pkcs11.P11Signature.session:Lsun/security/pkcs11/Session;
invokevirtual sun.security.pkcs11.Session.id:()J
aload 4
aload 1
invokevirtual sun.security.pkcs11.wrapper.PKCS11.C_Verify:(J[B[B)V
end local 4 end local 3 32: StackMap locals:
StackMap stack:
iconst_0
istore 2
33: aload 0
iload 2
invokevirtual sun.security.pkcs11.P11Signature.reset:(Z)V
34: iconst_1
ireturn
35: StackMap locals:
StackMap stack: sun.security.pkcs11.wrapper.PKCS11Exception
astore 3
start local 3 36: iconst_0
istore 2
37: aload 3
invokevirtual sun.security.pkcs11.wrapper.PKCS11Exception.getErrorCode:()J
lstore 4
start local 4 38: lload 4
ldc 192
lcmp
ifne 41
39: aload 0
iload 2
invokevirtual sun.security.pkcs11.P11Signature.reset:(Z)V
40: iconst_0
ireturn
41: StackMap locals: sun.security.pkcs11.wrapper.PKCS11Exception long
StackMap stack:
lload 4
ldc 193
lcmp
ifne 44
42: aload 0
iload 2
invokevirtual sun.security.pkcs11.P11Signature.reset:(Z)V
43: iconst_0
ireturn
44: StackMap locals:
StackMap stack:
lload 4
ldc 33
lcmp
ifne 47
45: aload 0
iload 2
invokevirtual sun.security.pkcs11.P11Signature.reset:(Z)V
46: iconst_0
ireturn
47: StackMap locals:
StackMap stack:
new java.security.ProviderException
dup
aload 3
invokespecial java.security.ProviderException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 4 end local 3 48: StackMap locals: sun.security.pkcs11.P11Signature byte[] int
StackMap stack: java.lang.Exception
astore 3
start local 3 49: aload 3
athrow
end local 3 50: StackMap locals:
StackMap stack: java.lang.Throwable
astore 6
51: aload 0
iload 2
invokevirtual sun.security.pkcs11.P11Signature.reset:(Z)V
52: aload 6
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 53 0 this Lsun/security/pkcs11/P11Signature;
0 53 1 signature [B
2 53 2 doCancel Z
13 14 3 digest [B
20 21 3 digest [B
24 32 3 digest [B
29 32 4 data [B
36 48 3 pe Lsun/security/pkcs11/wrapper/PKCS11Exception;
38 48 4 errorCode J
49 50 3 e Ljava/lang/Exception;
Exception table:
from to target type
2 33 35 Class sun.security.pkcs11.wrapper.PKCS11Exception
2 33 48 Class java.security.SignatureException
2 33 48 Class java.security.ProviderException
2 33 50 any
35 39 50 any
41 42 50 any
44 45 50 any
47 50 50 any
Exceptions:
throws java.security.SignatureException
MethodParameters:
Name Flags
signature
private byte[] pkcs1Pad(byte[]);
descriptor: ([B)[B
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=5, args_size=2
start local 0 start local 1 0: aload 0
getfield sun.security.pkcs11.P11Signature.p11Key:Lsun/security/pkcs11/P11Key;
invokevirtual sun.security.pkcs11.P11Key.length:()I
bipush 7
iadd
iconst_3
ishr
istore 2
start local 2 1: iconst_1
iload 2
2: invokestatic sun.security.rsa.RSAPadding.getInstance:(II)Lsun/security/rsa/RSAPadding;
astore 3
start local 3 3: aload 3
aload 1
invokevirtual sun.security.rsa.RSAPadding.pad:([B)[B
astore 4
start local 4 4: aload 4
5: areturn
end local 4 end local 3 end local 2 6: StackMap locals:
StackMap stack: java.security.GeneralSecurityException
astore 2
start local 2 7: new java.security.ProviderException
dup
aload 2
invokespecial java.security.ProviderException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lsun/security/pkcs11/P11Signature;
0 8 1 data [B
1 6 2 len I
3 6 3 padding Lsun/security/rsa/RSAPadding;
4 6 4 padded [B
7 8 2 e Ljava/security/GeneralSecurityException;
Exception table:
from to target type
0 5 6 Class java.security.GeneralSecurityException
MethodParameters:
Name Flags
data
private byte[] encodeSignature(byte[]);
descriptor: ([B)[B
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield sun.security.pkcs11.P11Signature.digestOID:Lsun/security/util/ObjectIdentifier;
aload 1
invokestatic sun.security.rsa.RSASignature.encodeSignature:(Lsun/security/util/ObjectIdentifier;[B)[B
1: areturn
2: StackMap locals:
StackMap stack: java.io.IOException
astore 2
start local 2 3: new java.security.SignatureException
dup
ldc "Invalid encoding"
aload 2
invokespecial java.security.SignatureException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lsun/security/pkcs11/P11Signature;
0 4 1 digest [B
3 4 2 e Ljava/io/IOException;
Exception table:
from to target type
0 1 2 Class java.io.IOException
Exceptions:
throws java.security.SignatureException
MethodParameters:
Name Flags
digest
private static sun.security.util.KnownOIDs getDigestEnum(java.lang.String);
descriptor: (Ljava/lang/String;)Lsun/security/util/KnownOIDs;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=3, args_size=1
start local 0 0: aload 0
invokestatic sun.security.util.SignatureUtil.extractDigestAlgFromDwithE:(Ljava/lang/String;)Ljava/lang/String;
astore 1
start local 1 1: aload 1
invokestatic sun.security.util.KnownOIDs.findMatch:(Ljava/lang/String;)Lsun/security/util/KnownOIDs;
astore 2
start local 2 2: aload 2
ifnonnull 6
3: new java.security.NoSuchAlgorithmException
dup
4: new java.lang.StringBuilder
dup
ldc "Unsupported digest algorithm: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
5: invokespecial java.security.NoSuchAlgorithmException.<init>:(Ljava/lang/String;)V
athrow
6: StackMap locals: java.lang.String sun.security.util.KnownOIDs
StackMap stack:
aload 2
7: areturn
end local 2 end local 1 8: StackMap locals: java.lang.String
StackMap stack: java.lang.IllegalArgumentException
astore 1
start local 1 9: new java.security.NoSuchAlgorithmException
dup
new java.lang.StringBuilder
dup
ldc "Unknown signature: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
10: aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 1
11: invokespecial java.security.NoSuchAlgorithmException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 algorithm Ljava/lang/String;
1 8 1 digAlg Ljava/lang/String;
2 8 2 k Lsun/security/util/KnownOIDs;
9 12 1 iae Ljava/lang/IllegalArgumentException;
Exception table:
from to target type
0 7 8 Class java.lang.IllegalArgumentException
Exceptions:
throws java.security.NoSuchAlgorithmException
MethodParameters:
Name Flags
algorithm
private static byte[] dsaToASN1(byte[]);
descriptor: ([B)[B
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=6, args_size=1
start local 0 0: aload 0
arraylength
iconst_1
ishr
istore 1
start local 1 1: new java.math.BigInteger
dup
iconst_1
aload 0
iconst_0
iload 1
invokestatic sun.security.pkcs11.P11Util.subarray:([BII)[B
invokespecial java.math.BigInteger.<init>:(I[B)V
astore 2
start local 2 2: new java.math.BigInteger
dup
iconst_1
aload 0
iload 1
iload 1
invokestatic sun.security.pkcs11.P11Util.subarray:([BII)[B
invokespecial java.math.BigInteger.<init>:(I[B)V
astore 3
start local 3 3: new sun.security.util.DerOutputStream
dup
bipush 100
invokespecial sun.security.util.DerOutputStream.<init>:(I)V
astore 4
start local 4 4: aload 4
aload 2
invokevirtual sun.security.util.DerOutputStream.putInteger:(Ljava/math/BigInteger;)V
5: aload 4
aload 3
invokevirtual sun.security.util.DerOutputStream.putInteger:(Ljava/math/BigInteger;)V
6: new sun.security.util.DerValue
dup
bipush 48
7: aload 4
invokevirtual sun.security.util.DerOutputStream.toByteArray:()[B
8: invokespecial sun.security.util.DerValue.<init>:(B[B)V
astore 5
start local 5 9: aload 5
invokevirtual sun.security.util.DerValue.toByteArray:()[B
10: areturn
end local 5 end local 4 11: StackMap locals: byte[] int java.math.BigInteger java.math.BigInteger
StackMap stack: java.io.IOException
astore 4
start local 4 12: new java.lang.RuntimeException
dup
ldc "Internal error"
aload 4
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 signature [B
1 13 1 n I
2 13 2 r Ljava/math/BigInteger;
3 13 3 s Ljava/math/BigInteger;
4 11 4 outseq Lsun/security/util/DerOutputStream;
9 11 5 result Lsun/security/util/DerValue;
12 13 4 e Ljava/io/IOException;
Exception table:
from to target type
3 10 11 Class java.io.IOException
MethodParameters:
Name Flags
signature
private static byte[] asn1ToDSA(byte[]);
descriptor: ([B)[B
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=7, args_size=1
start local 0 0: new sun.security.util.DerInputStream
dup
aload 0
iconst_0
aload 0
arraylength
iconst_0
invokespecial sun.security.util.DerInputStream.<init>:([BIIZ)V
astore 1
start local 1 1: aload 1
iconst_2
invokevirtual sun.security.util.DerInputStream.getSequence:(I)[Lsun/security/util/DerValue;
astore 2
start local 2 2: aload 2
arraylength
iconst_2
if_icmpne 3
aload 1
invokevirtual sun.security.util.DerInputStream.available:()I
ifeq 4
3: StackMap locals: sun.security.util.DerInputStream sun.security.util.DerValue[]
StackMap stack:
new java.io.IOException
dup
ldc "Invalid encoding for signature"
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
aload 2
iconst_0
aaload
invokevirtual sun.security.util.DerValue.getPositiveBigInteger:()Ljava/math/BigInteger;
astore 3
start local 3 5: aload 2
iconst_1
aaload
invokevirtual sun.security.util.DerValue.getPositiveBigInteger:()Ljava/math/BigInteger;
astore 4
start local 4 6: aload 3
bipush 20
invokestatic sun.security.pkcs11.P11Signature.toByteArray:(Ljava/math/BigInteger;I)[B
astore 5
start local 5 7: aload 4
bipush 20
invokestatic sun.security.pkcs11.P11Signature.toByteArray:(Ljava/math/BigInteger;I)[B
astore 6
start local 6 8: aload 5
ifnull 9
aload 6
ifnonnull 10
9: StackMap locals: byte[] sun.security.util.DerInputStream sun.security.util.DerValue[] java.math.BigInteger java.math.BigInteger byte[] byte[]
StackMap stack:
new java.security.SignatureException
dup
ldc "Out of range value for R or S"
invokespecial java.security.SignatureException.<init>:(Ljava/lang/String;)V
athrow
10: StackMap locals:
StackMap stack:
aload 5
aload 6
invokestatic sun.security.pkcs11.P11Util.concat:([B[B)[B
11: areturn
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 12: StackMap locals: byte[]
StackMap stack: java.security.SignatureException
astore 1
start local 1 13: aload 1
athrow
end local 1 14: StackMap locals:
StackMap stack: java.lang.Exception
astore 1
start local 1 15: new java.security.SignatureException
dup
ldc "Invalid encoding for signature"
aload 1
invokespecial java.security.SignatureException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 sig [B
1 12 1 in Lsun/security/util/DerInputStream;
2 12 2 values [Lsun/security/util/DerValue;
5 12 3 r Ljava/math/BigInteger;
6 12 4 s Ljava/math/BigInteger;
7 12 5 br [B
8 12 6 bs [B
13 14 1 e Ljava/security/SignatureException;
15 16 1 e Ljava/lang/Exception;
Exception table:
from to target type
0 11 12 Class java.security.SignatureException
0 11 14 Class java.lang.Exception
Exceptions:
throws java.security.SignatureException
MethodParameters:
Name Flags
sig
private byte[] asn1ToECDSA(byte[]);
descriptor: ([B)[B
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=10, args_size=2
start local 0 start local 1 0: new sun.security.util.DerInputStream
dup
aload 1
iconst_0
aload 1
arraylength
iconst_0
invokespecial sun.security.util.DerInputStream.<init>:([BIIZ)V
astore 2
start local 2 1: aload 2
iconst_2
invokevirtual sun.security.util.DerInputStream.getSequence:(I)[Lsun/security/util/DerValue;
astore 3
start local 3 2: aload 3
arraylength
iconst_2
if_icmpne 3
aload 2
invokevirtual sun.security.util.DerInputStream.available:()I
ifeq 4
3: StackMap locals: sun.security.util.DerInputStream sun.security.util.DerValue[]
StackMap stack:
new java.io.IOException
dup
ldc "Invalid encoding for signature"
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
aload 3
iconst_0
aaload
invokevirtual sun.security.util.DerValue.getPositiveBigInteger:()Ljava/math/BigInteger;
astore 4
start local 4 5: aload 3
iconst_1
aaload
invokevirtual sun.security.util.DerValue.getPositiveBigInteger:()Ljava/math/BigInteger;
astore 5
start local 5 6: aload 4
invokevirtual java.math.BigInteger.toByteArray:()[B
invokestatic sun.security.util.KeyUtil.trimZeroes:([B)[B
astore 6
start local 6 7: aload 5
invokevirtual java.math.BigInteger.toByteArray:()[B
invokestatic sun.security.util.KeyUtil.trimZeroes:([B)[B
astore 7
start local 7 8: aload 6
arraylength
aload 7
arraylength
invokestatic java.lang.Math.max:(II)I
istore 8
start local 8 9: iload 8
iconst_1
ishl
newarray 8
astore 9
start local 9 10: aload 6
iconst_0
aload 9
iload 8
aload 6
arraylength
isub
aload 6
arraylength
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
11: aload 7
iconst_0
aload 9
aload 9
arraylength
aload 7
arraylength
isub
aload 7
arraylength
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
12: aload 9
13: 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 14: StackMap locals: sun.security.pkcs11.P11Signature byte[]
StackMap stack: java.lang.Exception
astore 2
start local 2 15: new java.security.SignatureException
dup
ldc "Invalid encoding for signature"
aload 2
invokespecial java.security.SignatureException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Lsun/security/pkcs11/P11Signature;
0 16 1 sig [B
1 14 2 in Lsun/security/util/DerInputStream;
2 14 3 values [Lsun/security/util/DerValue;
5 14 4 r Ljava/math/BigInteger;
6 14 5 s Ljava/math/BigInteger;
7 14 6 br [B
8 14 7 bs [B
9 14 8 k I
10 14 9 res [B
15 16 2 e Ljava/lang/Exception;
Exception table:
from to target type
0 13 14 Class java.lang.Exception
Exceptions:
throws java.security.SignatureException
MethodParameters:
Name Flags
sig
private static byte[] toByteArray(java.math.BigInteger, int);
descriptor: (Ljava/math/BigInteger;I)[B
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=5, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual java.math.BigInteger.toByteArray:()[B
astore 2
start local 2 1: aload 2
arraylength
istore 3
start local 3 2: iload 3
iload 1
if_icmpne 4
3: aload 2
areturn
4: StackMap locals: byte[] int
StackMap stack:
iload 3
iload 1
iconst_1
iadd
if_icmpne 8
aload 2
iconst_0
baload
ifne 8
5: iload 1
newarray 8
astore 4
start local 4 6: aload 2
iconst_1
aload 4
iconst_0
iload 1
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
7: aload 4
areturn
end local 4 8: StackMap locals:
StackMap stack:
iload 3
iload 1
if_icmple 10
9: aconst_null
areturn
10: StackMap locals:
StackMap stack:
iload 1
newarray 8
astore 4
start local 4 11: aload 2
iconst_0
aload 4
iload 1
iload 3
isub
iload 3
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
12: aload 4
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 bi Ljava/math/BigInteger;
0 13 1 len I
1 13 2 b [B
2 13 3 n I
6 8 4 t [B
11 13 4 t [B
MethodParameters:
Name Flags
bi
len
protected void engineSetParameter(java.lang.String, java.lang.Object);
descriptor: (Ljava/lang/String;Ljava/lang/Object;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: new java.lang.UnsupportedOperationException
dup
ldc "setParameter() not supported"
invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/security/pkcs11/P11Signature;
0 1 1 param Ljava/lang/String;
0 1 2 value Ljava/lang/Object;
Exceptions:
throws java.security.InvalidParameterException
MethodParameters:
Name Flags
param
value
protected void engineSetParameter(java.security.spec.AlgorithmParameterSpec);
descriptor: (Ljava/security/spec/AlgorithmParameterSpec;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 1
ifnull 2
1: new java.security.InvalidAlgorithmParameterException
dup
ldc "No parameter accepted"
invokespecial java.security.InvalidAlgorithmParameterException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/security/pkcs11/P11Signature;
0 3 1 params Ljava/security/spec/AlgorithmParameterSpec;
Exceptions:
throws java.security.InvalidAlgorithmParameterException
MethodParameters:
Name Flags
params
protected java.lang.Object engineGetParameter(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/Object;
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: new java.lang.UnsupportedOperationException
dup
ldc "getParameter() not supported"
invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/security/pkcs11/P11Signature;
0 1 1 param Ljava/lang/String;
Exceptions:
throws java.security.InvalidParameterException
MethodParameters:
Name Flags
param
protected java.security.AlgorithmParameters engineGetParameters();
descriptor: ()Ljava/security/AlgorithmParameters;
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aconst_null
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/security/pkcs11/P11Signature;
}
SourceFile: "P11Signature.java"