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 { // 13
1: 63
3: 63
4: 9
5: 9
6: 9
17: 21
18: 13
64: 9
65: 9
66: 9
70: 9
4161: 33
4162: 17
default: 94
}
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 95
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 95
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 95
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 95
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 95
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 95
39: StackMap locals:
StackMap stack:
aload 2
ldc "SHA1withECDSA"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 41
40: aload 2
ldc "SHA1withECDSAinP1363Format"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 43
41: StackMap locals:
StackMap stack:
ldc "SHA-1"
astore 8
start local 8 42: goto 60
end local 8 StackMap locals:
StackMap stack:
43: aload 2
ldc "SHA224withECDSA"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 45
44: aload 2
ldc "SHA224withECDSAinP1363Format"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 47
45: StackMap locals:
StackMap stack:
ldc "SHA-224"
astore 8
start local 8 46: goto 60
end local 8 StackMap locals:
StackMap stack:
47: aload 2
ldc "SHA256withECDSA"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 49
48: aload 2
ldc "SHA256withECDSAinP1363Format"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 51
49: StackMap locals:
StackMap stack:
ldc "SHA-256"
astore 8
start local 8 50: goto 60
end local 8 StackMap locals:
StackMap stack:
51: aload 2
ldc "SHA384withECDSA"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 53
52: aload 2
ldc "SHA384withECDSAinP1363Format"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 55
53: StackMap locals:
StackMap stack:
ldc "SHA-384"
astore 8
start local 8 54: goto 60
end local 8 StackMap locals:
StackMap stack:
55: aload 2
ldc "SHA512withECDSA"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 57
56: aload 2
ldc "SHA512withECDSAinP1363Format"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 59
57: StackMap locals:
StackMap stack:
ldc "SHA-512"
astore 8
start local 8 58: goto 60
end local 8 59: StackMap locals:
StackMap stack:
new java.security.ProviderException
dup
aload 2
invokespecial java.security.ProviderException.<init>:(Ljava/lang/String;)V
athrow
start local 8 60: StackMap locals: java.lang.String
StackMap stack:
aload 0
iconst_1
putfield sun.security.pkcs11.P11Signature.type:I
61: aload 8
invokestatic java.security.MessageDigest.getInstance:(Ljava/lang/String;)Ljava/security/MessageDigest;
astore 7
end local 8 62: goto 95
63: StackMap locals:
StackMap stack:
aload 0
ldc "RSA"
putfield sun.security.pkcs11.P11Signature.keyAlgorithm:Ljava/lang/String;
64: aload 0
iconst_1
putfield sun.security.pkcs11.P11Signature.type:I
65: aload 2
ldc "MD5withRSA"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 69
66: ldc "MD5"
invokestatic java.security.MessageDigest.getInstance:(Ljava/lang/String;)Ljava/security/MessageDigest;
astore 7
67: getstatic sun.security.x509.AlgorithmId.MD5_oid:Lsun/security/util/ObjectIdentifier;
astore 6
68: goto 95
StackMap locals:
StackMap stack:
69: aload 2
ldc "SHA1withRSA"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 73
70: ldc "SHA-1"
invokestatic java.security.MessageDigest.getInstance:(Ljava/lang/String;)Ljava/security/MessageDigest;
astore 7
71: getstatic sun.security.x509.AlgorithmId.SHA_oid:Lsun/security/util/ObjectIdentifier;
astore 6
72: goto 95
StackMap locals:
StackMap stack:
73: aload 2
ldc "MD2withRSA"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 77
74: ldc "MD2"
invokestatic java.security.MessageDigest.getInstance:(Ljava/lang/String;)Ljava/security/MessageDigest;
astore 7
75: getstatic sun.security.x509.AlgorithmId.MD2_oid:Lsun/security/util/ObjectIdentifier;
astore 6
76: goto 95
StackMap locals:
StackMap stack:
77: aload 2
ldc "SHA224withRSA"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 81
78: ldc "SHA-224"
invokestatic java.security.MessageDigest.getInstance:(Ljava/lang/String;)Ljava/security/MessageDigest;
astore 7
79: getstatic sun.security.x509.AlgorithmId.SHA224_oid:Lsun/security/util/ObjectIdentifier;
astore 6
80: goto 95
StackMap locals:
StackMap stack:
81: aload 2
ldc "SHA256withRSA"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 85
82: ldc "SHA-256"
invokestatic java.security.MessageDigest.getInstance:(Ljava/lang/String;)Ljava/security/MessageDigest;
astore 7
83: getstatic sun.security.x509.AlgorithmId.SHA256_oid:Lsun/security/util/ObjectIdentifier;
astore 6
84: goto 95
StackMap locals:
StackMap stack:
85: aload 2
ldc "SHA384withRSA"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 89
86: ldc "SHA-384"
invokestatic java.security.MessageDigest.getInstance:(Ljava/lang/String;)Ljava/security/MessageDigest;
astore 7
87: getstatic sun.security.x509.AlgorithmId.SHA384_oid:Lsun/security/util/ObjectIdentifier;
astore 6
88: goto 95
StackMap locals:
StackMap stack:
89: aload 2
ldc "SHA512withRSA"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 93
90: ldc "SHA-512"
invokestatic java.security.MessageDigest.getInstance:(Ljava/lang/String;)Ljava/security/MessageDigest;
astore 7
91: getstatic sun.security.x509.AlgorithmId.SHA512_oid:Lsun/security/util/ObjectIdentifier;
astore 6
92: goto 95
93: StackMap locals:
StackMap stack:
new java.security.ProviderException
dup
new java.lang.StringBuilder
dup
ldc "Unknown signature: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
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
94: 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
95: StackMap locals:
StackMap stack:
aload 0
aload 5
putfield sun.security.pkcs11.P11Signature.buffer:[B
96: aload 0
aload 6
putfield sun.security.pkcs11.P11Signature.digestOID:Lsun/security/util/ObjectIdentifier;
97: aload 0
aload 7
putfield sun.security.pkcs11.P11Signature.md:Ljava/security/MessageDigest;
98: aload 2
ldc "inP1363Format"
invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
ifeq 100
99: aload 0
iconst_1
putfield sun.security.pkcs11.P11Signature.p1363Format:Z
100: 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 101 0 this Lsun/security/pkcs11/P11Signature;
0 101 1 token Lsun/security/pkcs11/Token;
0 101 2 algorithm Ljava/lang/String;
0 101 3 mechanism J
6 101 5 buffer [B
7 101 6 digestOID Lsun/security/util/ObjectIdentifier;
8 101 7 md Ljava/security/MessageDigest;
42 43 8 digestAlg Ljava/lang/String;
46 47 8 digestAlg Ljava/lang/String;
50 51 8 digestAlg Ljava/lang/String;
54 55 8 digestAlg Ljava/lang/String;
58 59 8 digestAlg Ljava/lang/String;
60 62 8 digestAlg Ljava/lang/String;
Exceptions:
throws java.security.NoSuchAlgorithmException, sun.security.pkcs11.wrapper.PKCS11Exception
MethodParameters:
Name Flags
token
algorithm
mechanism
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.token:Lsun/security/pkcs11/Token;
invokevirtual sun.security.pkcs11.Token.ensureValid:()V
1: aload 0
getfield sun.security.pkcs11.P11Signature.initialized:Z
ifne 3
2: aload 0
invokevirtual sun.security.pkcs11.P11Signature.initialize:()V
3: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lsun/security/pkcs11/P11Signature;
private void cancelOperation();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=3, 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.initialized:Z
ifne 3
2: return
3: StackMap locals:
StackMap stack:
aload 0
iconst_0
putfield sun.security.pkcs11.P11Signature.initialized:Z
4: aload 0
getfield sun.security.pkcs11.P11Signature.session:Lsun/security/pkcs11/Session;
ifnull 5
aload 0
getfield sun.security.pkcs11.P11Signature.token:Lsun/security/pkcs11/Token;
getfield sun.security.pkcs11.Token.explicitCancel:Z
ifne 6
5: StackMap locals:
StackMap stack:
return
6: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.pkcs11.P11Signature.session:Lsun/security/pkcs11/Session;
invokevirtual sun.security.pkcs11.Session.hasObjects:()Z
ifne 9
7: 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.killSession:(Lsun/security/pkcs11/Session;)Lsun/security/pkcs11/Session;
putfield sun.security.pkcs11.P11Signature.session:Lsun/security/pkcs11/Session;
8: return
9: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.pkcs11.P11Signature.mode:I
iconst_1
if_icmpne 21
10: aload 0
getfield sun.security.pkcs11.P11Signature.type:I
iconst_2
if_icmpne 13
11: 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
12: goto 35
13: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.pkcs11.P11Signature.type:I
iconst_1
if_icmpne 16
14: aload 0
getfield sun.security.pkcs11.P11Signature.md:Ljava/security/MessageDigest;
invokevirtual java.security.MessageDigest.digest:()[B
astore 1
start local 1 15: goto 17
end local 1 16: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.pkcs11.P11Signature.buffer:[B
astore 1
start local 1 17: 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 18: goto 35
StackMap locals: sun.security.pkcs11.P11Signature
StackMap stack: sun.security.pkcs11.wrapper.PKCS11Exception
19: astore 1
start local 1 20: 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 21: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.pkcs11.P11Signature.keyAlgorithm:Ljava/lang/String;
ldc "DSA"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 24
22: bipush 40
newarray 8
astore 1
start local 1 23: goto 25
end local 1 24: 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 25: StackMap locals: byte[]
StackMap stack:
aload 0
getfield sun.security.pkcs11.P11Signature.type:I
iconst_2
if_icmpne 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 1
invokevirtual sun.security.pkcs11.wrapper.PKCS11.C_VerifyFinal:(J[B)V
27: goto 35
28: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.pkcs11.P11Signature.type:I
iconst_1
if_icmpne 31
29: aload 0
getfield sun.security.pkcs11.P11Signature.md:Ljava/security/MessageDigest;
invokevirtual java.security.MessageDigest.digest:()[B
astore 2
start local 2 30: goto 32
end local 2 31: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.pkcs11.P11Signature.buffer:[B
astore 2
start local 2 32: 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 33: goto 35
StackMap locals: sun.security.pkcs11.P11Signature
StackMap stack: sun.security.pkcs11.wrapper.PKCS11Exception
34: pop
35: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 36 0 this Lsun/security/pkcs11/P11Signature;
15 16 1 digest [B
17 18 1 digest [B
20 21 1 e Lsun/security/pkcs11/wrapper/PKCS11Exception;
23 24 1 signature [B
25 33 1 signature [B
30 31 2 digest [B
32 33 2 digest [B
Exception table:
from to target type
10 18 19 Class sun.security.pkcs11.wrapper.PKCS11Exception
21 33 34 Class sun.security.pkcs11.wrapper.PKCS11Exception
private void initialize();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=2, args_size=1
start local 0 0: aload 0
getfield sun.security.pkcs11.P11Signature.session:Lsun/security/pkcs11/Session;
ifnonnull 2
1: 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;
2: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.pkcs11.P11Signature.mode:I
iconst_1
if_icmpne 7
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
4: 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
aload 0
getfield sun.security.pkcs11.P11Signature.p11Key:Lsun/security/pkcs11/P11Key;
getfield sun.security.pkcs11.P11Key.keyID:J
5: invokevirtual sun.security.pkcs11.wrapper.PKCS11.C_SignInit:(JLsun/security/pkcs11/wrapper/CK_MECHANISM;J)V
6: goto 10
7: 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
8: 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
aload 0
getfield sun.security.pkcs11.P11Signature.p11Key:Lsun/security/pkcs11/P11Key;
getfield sun.security.pkcs11.P11Key.keyID:J
9: invokevirtual sun.security.pkcs11.wrapper.PKCS11.C_VerifyInit:(JLsun/security/pkcs11/wrapper/CK_MECHANISM;J)V
10: StackMap locals:
StackMap stack:
aload 0
iconst_1
putfield sun.security.pkcs11.P11Signature.initialized:Z
11: goto 14
StackMap locals:
StackMap stack: sun.security.pkcs11.wrapper.PKCS11Exception
12: astore 1
start local 1 13: new java.security.ProviderException
dup
ldc "Initialization failed"
aload 1
invokespecial java.security.ProviderException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 1 14: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.pkcs11.P11Signature.bytesProcessed:I
ifeq 18
15: aload 0
iconst_0
putfield sun.security.pkcs11.P11Signature.bytesProcessed:I
16: aload 0
getfield sun.security.pkcs11.P11Signature.md:Ljava/security/MessageDigest;
ifnull 18
17: aload 0
getfield sun.security.pkcs11.P11Signature.md:Ljava/security/MessageDigest;
invokevirtual java.security.MessageDigest.reset:()V
18: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Lsun/security/pkcs11/P11Signature;
13 14 1 e Lsun/security/pkcs11/wrapper/PKCS11Exception;
Exception table:
from to target type
0 11 12 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=7, 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.ulMinKeySize:J
l2i
istore 4
start local 4 7: aload 3
getfield sun.security.pkcs11.wrapper.CK_MECHANISM_INFO.ulMaxKeySize:J
l2i
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 24
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 24
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 24
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 24
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:
iload 4
iconst_m1
if_icmpeq 28
iload 6
iload 4
if_icmpge 28
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 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;
27: invokespecial java.security.InvalidKeyException.<init>:(Ljava/lang/String;)V
athrow
28: StackMap locals:
StackMap stack:
iload 5
iconst_m1
if_icmpeq 32
iload 6
iload 5
if_icmple 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 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;
31: invokespecial java.security.InvalidKeyException.<init>:(Ljava/lang/String;)V
athrow
32: StackMap locals:
StackMap stack:
aload 1
ldc "RSA"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 34
33: aload 0
iload 6
invokevirtual sun.security.pkcs11.P11Signature.checkRSAKeyLength:(I)V
34: 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 35 0 this Lsun/security/pkcs11/P11Signature;
0 35 1 keyAlgo Ljava/lang/String;
0 35 2 key Ljava/security/Key;
1 35 3 mechInfo Lsun/security/pkcs11/wrapper/CK_MECHANISM_INFO;
7 35 4 minKeySize I
8 35 5 maxKeySize I
11 35 6 keySize I
Exception table:
from to target type
1 2 3 Class sun.security.pkcs11.wrapper.PKCS11Exception
Exceptions:
throws java.security.InvalidKeyException
MethodParameters:
Name Flags
keyAlgo
key
private void checkRSAKeyLength(int);
descriptor: (I)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=5, 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;
ldc "MD5withRSA"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 8
7: aload 0
getfield sun.security.pkcs11.P11Signature.algorithm:Ljava/lang/String;
ldc "MD2withRSA"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 10
8: StackMap locals: int
StackMap stack:
bipush 34
istore 4
start local 4 9: goto 26
end local 4 StackMap locals:
StackMap stack:
10: aload 0
getfield sun.security.pkcs11.P11Signature.algorithm:Ljava/lang/String;
ldc "SHA1withRSA"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 13
11: bipush 35
istore 4
start local 4 12: goto 26
end local 4 StackMap locals:
StackMap stack:
13: aload 0
getfield sun.security.pkcs11.P11Signature.algorithm:Ljava/lang/String;
ldc "SHA224withRSA"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 16
14: bipush 47
istore 4
start local 4 15: goto 26
end local 4 StackMap locals:
StackMap stack:
16: aload 0
getfield sun.security.pkcs11.P11Signature.algorithm:Ljava/lang/String;
ldc "SHA256withRSA"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 19
17: bipush 51
istore 4
start local 4 18: goto 26
end local 4 StackMap locals:
StackMap stack:
19: aload 0
getfield sun.security.pkcs11.P11Signature.algorithm:Ljava/lang/String;
ldc "SHA384withRSA"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 22
20: bipush 67
istore 4
start local 4 21: goto 26
end local 4 StackMap locals:
StackMap stack:
22: aload 0
getfield sun.security.pkcs11.P11Signature.algorithm:Ljava/lang/String;
ldc "SHA512withRSA"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 25
23: bipush 83
istore 4
start local 4 24: goto 26
end local 4 25: 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
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;
invokespecial java.security.ProviderException.<init>:(Ljava/lang/String;)V
athrow
start local 4 26: StackMap locals: int
StackMap stack:
iload 4
iload 3
if_icmple 30
27: new java.security.InvalidKeyException
dup
28: ldc "Key is too short for this signature algorithm"
29: invokespecial java.security.InvalidKeyException.<init>:(Ljava/lang/String;)V
athrow
30: StackMap locals:
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 31 0 this Lsun/security/pkcs11/P11Signature;
0 31 1 len I
2 3 2 padding Lsun/security/rsa/RSAPadding;
5 31 2 padding Lsun/security/rsa/RSAPadding;
4 5 3 iape Ljava/security/InvalidAlgorithmParameterException;
6 31 3 maxDataSize I
9 10 4 encodedLength I
12 13 4 encodedLength I
15 16 4 encodedLength I
18 19 4 encodedLength I
21 22 4 encodedLength I
24 25 4 encodedLength I
26 31 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
invokevirtual sun.security.pkcs11.P11Signature.cancelOperation:()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
invokevirtual sun.security.pkcs11.P11Signature.cancelOperation:()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:
aload 0
getfield sun.security.pkcs11.P11Signature.type:I
tableswitch { // 1 - 3
1: 12
2: 4
3: 15
default: 21
}
4: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.pkcs11.P11Signature.mode:I
iconst_1
if_icmpne 7
5: 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
6: goto 8
7: 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
8: StackMap locals:
StackMap stack:
aload 0
dup
getfield sun.security.pkcs11.P11Signature.bytesProcessed:I
iload 3
iadd
putfield sun.security.pkcs11.P11Signature.bytesProcessed:I
9: goto 22
StackMap locals:
StackMap stack: sun.security.pkcs11.wrapper.PKCS11Exception
10: astore 4
start local 4 11: new java.security.ProviderException
dup
aload 4
invokespecial java.security.ProviderException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 4 12: 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
13: aload 0
dup
getfield sun.security.pkcs11.P11Signature.bytesProcessed:I
iload 3
iadd
putfield sun.security.pkcs11.P11Signature.bytesProcessed:I
14: goto 22
15: 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 18
16: aload 0
aload 0
getfield sun.security.pkcs11.P11Signature.buffer:[B
arraylength
iconst_1
iadd
putfield sun.security.pkcs11.P11Signature.bytesProcessed:I
17: return
18: 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
19: aload 0
dup
getfield sun.security.pkcs11.P11Signature.bytesProcessed:I
iload 3
iadd
putfield sun.security.pkcs11.P11Signature.bytesProcessed:I
20: goto 22
21: StackMap locals:
StackMap stack:
new java.security.ProviderException
dup
ldc "Internal error"
invokespecial java.security.ProviderException.<init>:(Ljava/lang/String;)V
athrow
22: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 23 0 this Lsun/security/pkcs11/P11Signature;
0 23 1 b [B
0 23 2 ofs I
0 23 3 len I
11 12 4 e Lsun/security/pkcs11/wrapper/PKCS11Exception;
Exception table:
from to target type
4 9 10 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: 23
2: 5
3: 26
default: 32
}
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 33
StackMap locals:
StackMap stack: sun.security.pkcs11.wrapper.PKCS11Exception
21: astore 6
start local 6 22: 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 23: 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
24: aload 0
dup
getfield sun.security.pkcs11.P11Signature.bytesProcessed:I
iload 2
iadd
putfield sun.security.pkcs11.P11Signature.bytesProcessed:I
25: goto 33
26: 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 29
27: aload 0
aload 0
getfield sun.security.pkcs11.P11Signature.buffer:[B
arraylength
iconst_1
iadd
putfield sun.security.pkcs11.P11Signature.bytesProcessed:I
28: return
29: 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
30: aload 0
dup
getfield sun.security.pkcs11.P11Signature.bytesProcessed:I
iload 2
iadd
putfield sun.security.pkcs11.P11Signature.bytesProcessed:I
31: goto 33
32: StackMap locals:
StackMap stack:
new java.security.ProviderException
dup
ldc "Internal error"
invokespecial java.security.ProviderException.<init>:(Ljava/lang/String;)V
athrow
33: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 34 0 this Lsun/security/pkcs11/P11Signature;
0 34 1 byteBuffer Ljava/nio/ByteBuffer;
2 34 2 len I
9 23 3 addr J
10 23 5 ofs I
22 23 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=6, args_size=1
start local 0 0: aload 0
invokevirtual sun.security.pkcs11.P11Signature.ensureInitialized:()V
1: aload 0
getfield sun.security.pkcs11.P11Signature.type:I
iconst_2
if_icmpne 7
2: aload 0
getfield sun.security.pkcs11.P11Signature.keyAlgorithm:Ljava/lang/String;
ldc "DSA"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 3
bipush 40
goto 4
StackMap locals:
StackMap stack:
3: iconst_0
StackMap locals:
StackMap stack: int
4: istore 2
start local 2 5: 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
iload 2
invokevirtual sun.security.pkcs11.wrapper.PKCS11.C_SignFinal:(JI)[B
astore 1
end local 2 start local 1 6: goto 28
end local 1 7: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.pkcs11.P11Signature.type:I
iconst_1
if_icmpne 10
8: aload 0
getfield sun.security.pkcs11.P11Signature.md:Ljava/security/MessageDigest;
invokevirtual java.security.MessageDigest.digest:()[B
astore 2
start local 2 9: goto 21
end local 2 10: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.pkcs11.P11Signature.mechanism:J
ldc 17
lcmp
ifne 17
11: aload 0
getfield sun.security.pkcs11.P11Signature.bytesProcessed:I
aload 0
getfield sun.security.pkcs11.P11Signature.buffer:[B
arraylength
if_icmpeq 15
12: new java.security.SignatureException
dup
13: ldc "Data for RawDSA must be exactly 20 bytes long"
14: invokespecial java.security.SignatureException.<init>:(Ljava/lang/String;)V
athrow
15: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.pkcs11.P11Signature.buffer:[B
astore 2
start local 2 16: goto 21
end local 2 17: 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 19
18: 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
19: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.pkcs11.P11Signature.bytesProcessed:I
newarray 8
astore 2
start local 2 20: aload 0
getfield sun.security.pkcs11.P11Signature.buffer:[B
iconst_0
aload 2
iconst_0
aload 0
getfield sun.security.pkcs11.P11Signature.bytesProcessed:I
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
21: StackMap locals: sun.security.pkcs11.P11Signature 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 24
22: 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
invokevirtual sun.security.pkcs11.wrapper.PKCS11.C_Sign:(J[B)[B
astore 1
start local 1 23: goto 28
end local 1 24: StackMap locals:
StackMap stack:
aload 0
aload 2
invokevirtual sun.security.pkcs11.P11Signature.encodeSignature:([B)[B
astore 3
start local 3 25: aload 0
getfield sun.security.pkcs11.P11Signature.mechanism:J
ldc 3
lcmp
ifne 27
26: aload 0
aload 3
invokevirtual sun.security.pkcs11.P11Signature.pkcs1Pad:([B)[B
astore 3
27: 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 3
invokevirtual sun.security.pkcs11.wrapper.PKCS11.C_Sign:(J[B)[B
astore 1
end local 3 end local 2 start local 1 28: StackMap locals: sun.security.pkcs11.P11Signature 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
ifeq 33
29: aload 1
astore 5
30: aload 0
iconst_0
putfield sun.security.pkcs11.P11Signature.initialized:Z
31: 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;
32: aload 5
areturn
33: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.pkcs11.P11Signature.p1363Format:Z
ifeq 38
34: aload 1
astore 5
35: aload 0
iconst_0
putfield sun.security.pkcs11.P11Signature.initialized:Z
36: 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;
37: aload 5
areturn
38: StackMap locals:
StackMap stack:
aload 1
invokestatic sun.security.pkcs11.P11Signature.dsaToASN1:([B)[B
astore 5
39: aload 0
iconst_0
putfield sun.security.pkcs11.P11Signature.initialized:Z
40: 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;
41: aload 5
areturn
end local 1 42: StackMap locals: sun.security.pkcs11.P11Signature
StackMap stack: sun.security.pkcs11.wrapper.PKCS11Exception
astore 1
start local 1 43: new java.security.ProviderException
dup
aload 1
invokespecial java.security.ProviderException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 1 44: StackMap locals:
StackMap stack: java.lang.Exception
astore 1
start local 1 45: aload 0
invokevirtual sun.security.pkcs11.P11Signature.cancelOperation:()V
46: aload 1
athrow
end local 1 47: StackMap locals:
StackMap stack: java.lang.Throwable
astore 4
48: aload 0
iconst_0
putfield sun.security.pkcs11.P11Signature.initialized:Z
49: 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;
50: aload 4
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 51 0 this Lsun/security/pkcs11/P11Signature;
6 7 1 signature [B
23 24 1 signature [B
28 42 1 signature [B
5 6 2 len I
9 10 2 digest [B
16 17 2 digest [B
20 28 2 digest [B
25 28 3 data [B
43 44 1 pe Lsun/security/pkcs11/wrapper/PKCS11Exception;
45 47 1 e Ljava/lang/Exception;
Exception table:
from to target type
1 30 42 Class sun.security.pkcs11.wrapper.PKCS11Exception
33 35 42 Class sun.security.pkcs11.wrapper.PKCS11Exception
38 39 42 Class sun.security.pkcs11.wrapper.PKCS11Exception
1 30 44 Class java.security.SignatureException
33 35 44 Class java.security.SignatureException
38 39 44 Class java.security.SignatureException
1 30 44 Class java.security.ProviderException
33 35 44 Class java.security.ProviderException
38 39 44 Class java.security.ProviderException
1 30 47 any
33 35 47 any
38 39 47 any
42 47 47 any
Exceptions:
throws java.security.SignatureException
protected boolean engineVerify(byte[]);
descriptor: ([B)Z
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=6, 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.p1363Format:Z
ifne 7
2: aload 0
getfield sun.security.pkcs11.P11Signature.keyAlgorithm:Ljava/lang/String;
ldc "DSA"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 5
3: aload 1
invokestatic sun.security.pkcs11.P11Signature.asn1ToDSA:([B)[B
astore 1
4: goto 7
StackMap locals:
StackMap stack:
5: aload 0
getfield sun.security.pkcs11.P11Signature.keyAlgorithm:Ljava/lang/String;
ldc "EC"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 7
6: aload 0
aload 1
invokevirtual sun.security.pkcs11.P11Signature.asn1ToECDSA:([B)[B
astore 1
7: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.pkcs11.P11Signature.type:I
iconst_2
if_icmpne 10
8: 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
9: goto 31
10: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.pkcs11.P11Signature.type:I
iconst_1
if_icmpne 13
11: aload 0
getfield sun.security.pkcs11.P11Signature.md:Ljava/security/MessageDigest;
invokevirtual java.security.MessageDigest.digest:()[B
astore 2
start local 2 12: goto 24
end local 2 13: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.pkcs11.P11Signature.mechanism:J
ldc 17
lcmp
ifne 20
14: aload 0
getfield sun.security.pkcs11.P11Signature.bytesProcessed:I
aload 0
getfield sun.security.pkcs11.P11Signature.buffer:[B
arraylength
if_icmpeq 18
15: new java.security.SignatureException
dup
16: ldc "Data for RawDSA must be exactly 20 bytes long"
17: invokespecial java.security.SignatureException.<init>:(Ljava/lang/String;)V
athrow
18: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.pkcs11.P11Signature.buffer:[B
astore 2
start local 2 19: goto 24
end local 2 20: 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 22
21: 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
22: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.pkcs11.P11Signature.bytesProcessed:I
newarray 8
astore 2
start local 2 23: aload 0
getfield sun.security.pkcs11.P11Signature.buffer:[B
iconst_0
aload 2
iconst_0
aload 0
getfield sun.security.pkcs11.P11Signature.bytesProcessed:I
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
24: 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 27
25: 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
26: goto 31
27: StackMap locals:
StackMap stack:
aload 0
aload 2
invokevirtual sun.security.pkcs11.P11Signature.encodeSignature:([B)[B
astore 3
start local 3 28: aload 0
getfield sun.security.pkcs11.P11Signature.mechanism:J
ldc 3
lcmp
ifne 30
29: aload 0
aload 3
invokevirtual sun.security.pkcs11.P11Signature.pkcs1Pad:([B)[B
astore 3
30: 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 3
aload 1
invokevirtual sun.security.pkcs11.wrapper.PKCS11.C_Verify:(J[B[B)V
end local 3 end local 2 31: StackMap locals:
StackMap stack:
aload 0
iconst_0
putfield sun.security.pkcs11.P11Signature.initialized:Z
32: 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;
33: iconst_1
ireturn
34: StackMap locals:
StackMap stack: sun.security.pkcs11.wrapper.PKCS11Exception
astore 2
start local 2 35: aload 2
invokevirtual sun.security.pkcs11.wrapper.PKCS11Exception.getErrorCode:()J
lstore 3
start local 3 36: lload 3
ldc 192
lcmp
ifne 40
37: aload 0
iconst_0
putfield sun.security.pkcs11.P11Signature.initialized:Z
38: 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;
39: iconst_0
ireturn
40: StackMap locals: sun.security.pkcs11.wrapper.PKCS11Exception long
StackMap stack:
lload 3
ldc 193
lcmp
ifne 44
41: aload 0
iconst_0
putfield sun.security.pkcs11.P11Signature.initialized:Z
42: 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;
43: iconst_0
ireturn
44: StackMap locals:
StackMap stack:
lload 3
ldc 33
lcmp
ifne 48
45: aload 0
iconst_0
putfield sun.security.pkcs11.P11Signature.initialized:Z
46: 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;
47: iconst_0
ireturn
48: StackMap locals:
StackMap stack:
new java.security.ProviderException
dup
aload 2
invokespecial java.security.ProviderException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 3 end local 2 49: StackMap locals: sun.security.pkcs11.P11Signature byte[]
StackMap stack: java.lang.Exception
astore 2
start local 2 50: aload 0
invokevirtual sun.security.pkcs11.P11Signature.cancelOperation:()V
51: aload 2
athrow
end local 2 52: StackMap locals:
StackMap stack: java.lang.Throwable
astore 5
53: aload 0
iconst_0
putfield sun.security.pkcs11.P11Signature.initialized:Z
54: 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;
55: aload 5
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 56 0 this Lsun/security/pkcs11/P11Signature;
0 56 1 signature [B
12 13 2 digest [B
19 20 2 digest [B
23 31 2 digest [B
28 31 3 data [B
35 49 2 pe Lsun/security/pkcs11/wrapper/PKCS11Exception;
36 49 3 errorCode J
50 52 2 e Ljava/lang/Exception;
Exception table:
from to target type
1 31 34 Class sun.security.pkcs11.wrapper.PKCS11Exception
1 31 49 Class java.security.SignatureException
1 31 49 Class java.security.ProviderException
1 31 52 any
34 37 52 any
40 41 52 any
44 45 52 any
48 52 52 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 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 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
}
SourceFile: "P11Signature.java"