public class sun.security.pkcs.SignerInfo implements sun.security.util.DerEncoder
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: sun.security.pkcs.SignerInfo
super_class: java.lang.Object
{
private static final java.util.Set<java.security.CryptoPrimitive> DIGEST_PRIMITIVE_SET;
descriptor: Ljava/util/Set;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Ljava/util/Set<Ljava/security/CryptoPrimitive;>;
private static final java.util.Set<java.security.CryptoPrimitive> SIG_PRIMITIVE_SET;
descriptor: Ljava/util/Set;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Ljava/util/Set<Ljava/security/CryptoPrimitive;>;
private static final sun.security.util.DisabledAlgorithmConstraints JAR_DISABLED_CHECK;
descriptor: Lsun/security/util/DisabledAlgorithmConstraints;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
java.math.BigInteger version;
descriptor: Ljava/math/BigInteger;
flags: (0x0000)
sun.security.x509.X500Name issuerName;
descriptor: Lsun/security/x509/X500Name;
flags: (0x0000)
java.math.BigInteger certificateSerialNumber;
descriptor: Ljava/math/BigInteger;
flags: (0x0000)
sun.security.x509.AlgorithmId digestAlgorithmId;
descriptor: Lsun/security/x509/AlgorithmId;
flags: (0x0000)
sun.security.x509.AlgorithmId digestEncryptionAlgorithmId;
descriptor: Lsun/security/x509/AlgorithmId;
flags: (0x0000)
byte[] encryptedDigest;
descriptor: [B
flags: (0x0000)
java.security.Timestamp timestamp;
descriptor: Ljava/security/Timestamp;
flags: (0x0000)
private boolean hasTimestamp;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private static final sun.security.util.Debug debug;
descriptor: Lsun/security/util/Debug;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
sun.security.pkcs.PKCS9Attributes authenticatedAttributes;
descriptor: Lsun/security/pkcs/PKCS9Attributes;
flags: (0x0000)
sun.security.pkcs.PKCS9Attributes unauthenticatedAttributes;
descriptor: Lsun/security/pkcs/PKCS9Attributes;
flags: (0x0000)
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=0, args_size=0
0: getstatic java.security.CryptoPrimitive.MESSAGE_DIGEST:Ljava/security/CryptoPrimitive;
invokestatic java.util.EnumSet.of:(Ljava/lang/Enum;)Ljava/util/EnumSet;
invokestatic java.util.Collections.unmodifiableSet:(Ljava/util/Set;)Ljava/util/Set;
1: putstatic sun.security.pkcs.SignerInfo.DIGEST_PRIMITIVE_SET:Ljava/util/Set;
2: getstatic java.security.CryptoPrimitive.SIGNATURE:Ljava/security/CryptoPrimitive;
invokestatic java.util.EnumSet.of:(Ljava/lang/Enum;)Ljava/util/EnumSet;
invokestatic java.util.Collections.unmodifiableSet:(Ljava/util/Set;)Ljava/util/Set;
3: putstatic sun.security.pkcs.SignerInfo.SIG_PRIMITIVE_SET:Ljava/util/Set;
4: new sun.security.util.DisabledAlgorithmConstraints
dup
5: ldc "jdk.jar.disabledAlgorithms"
6: invokespecial sun.security.util.DisabledAlgorithmConstraints.<init>:(Ljava/lang/String;)V
7: putstatic sun.security.pkcs.SignerInfo.JAR_DISABLED_CHECK:Lsun/security/util/DisabledAlgorithmConstraints;
8: ldc "jar"
invokestatic sun.security.util.Debug.getInstance:(Ljava/lang/String;)Lsun/security/util/Debug;
putstatic sun.security.pkcs.SignerInfo.debug:Lsun/security/util/Debug;
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(sun.security.x509.X500Name, java.math.BigInteger, sun.security.x509.AlgorithmId, sun.security.x509.AlgorithmId, byte[]);
descriptor: (Lsun/security/x509/X500Name;Ljava/math/BigInteger;Lsun/security/x509/AlgorithmId;Lsun/security/x509/AlgorithmId;[B)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=6, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
iconst_1
putfield sun.security.pkcs.SignerInfo.hasTimestamp:Z
2: aload 0
getstatic java.math.BigInteger.ONE:Ljava/math/BigInteger;
putfield sun.security.pkcs.SignerInfo.version:Ljava/math/BigInteger;
3: aload 0
aload 1
putfield sun.security.pkcs.SignerInfo.issuerName:Lsun/security/x509/X500Name;
4: aload 0
aload 2
putfield sun.security.pkcs.SignerInfo.certificateSerialNumber:Ljava/math/BigInteger;
5: aload 0
aload 3
putfield sun.security.pkcs.SignerInfo.digestAlgorithmId:Lsun/security/x509/AlgorithmId;
6: aload 0
aload 4
putfield sun.security.pkcs.SignerInfo.digestEncryptionAlgorithmId:Lsun/security/x509/AlgorithmId;
7: aload 0
aload 5
putfield sun.security.pkcs.SignerInfo.encryptedDigest:[B
8: return
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lsun/security/pkcs/SignerInfo;
0 9 1 issuerName Lsun/security/x509/X500Name;
0 9 2 serial Ljava/math/BigInteger;
0 9 3 digestAlgorithmId Lsun/security/x509/AlgorithmId;
0 9 4 digestEncryptionAlgorithmId Lsun/security/x509/AlgorithmId;
0 9 5 encryptedDigest [B
MethodParameters:
Name Flags
issuerName
serial
digestAlgorithmId
digestEncryptionAlgorithmId
encryptedDigest
public void <init>(sun.security.x509.X500Name, java.math.BigInteger, sun.security.x509.AlgorithmId, sun.security.pkcs.PKCS9Attributes, sun.security.x509.AlgorithmId, byte[], sun.security.pkcs.PKCS9Attributes);
descriptor: (Lsun/security/x509/X500Name;Ljava/math/BigInteger;Lsun/security/x509/AlgorithmId;Lsun/security/pkcs/PKCS9Attributes;Lsun/security/x509/AlgorithmId;[BLsun/security/pkcs/PKCS9Attributes;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=8, args_size=8
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
iconst_1
putfield sun.security.pkcs.SignerInfo.hasTimestamp:Z
2: aload 0
getstatic java.math.BigInteger.ONE:Ljava/math/BigInteger;
putfield sun.security.pkcs.SignerInfo.version:Ljava/math/BigInteger;
3: aload 0
aload 1
putfield sun.security.pkcs.SignerInfo.issuerName:Lsun/security/x509/X500Name;
4: aload 0
aload 2
putfield sun.security.pkcs.SignerInfo.certificateSerialNumber:Ljava/math/BigInteger;
5: aload 0
aload 3
putfield sun.security.pkcs.SignerInfo.digestAlgorithmId:Lsun/security/x509/AlgorithmId;
6: aload 0
aload 4
putfield sun.security.pkcs.SignerInfo.authenticatedAttributes:Lsun/security/pkcs/PKCS9Attributes;
7: aload 0
aload 5
putfield sun.security.pkcs.SignerInfo.digestEncryptionAlgorithmId:Lsun/security/x509/AlgorithmId;
8: aload 0
aload 6
putfield sun.security.pkcs.SignerInfo.encryptedDigest:[B
9: aload 0
aload 7
putfield sun.security.pkcs.SignerInfo.unauthenticatedAttributes:Lsun/security/pkcs/PKCS9Attributes;
10: return
end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lsun/security/pkcs/SignerInfo;
0 11 1 issuerName Lsun/security/x509/X500Name;
0 11 2 serial Ljava/math/BigInteger;
0 11 3 digestAlgorithmId Lsun/security/x509/AlgorithmId;
0 11 4 authenticatedAttributes Lsun/security/pkcs/PKCS9Attributes;
0 11 5 digestEncryptionAlgorithmId Lsun/security/x509/AlgorithmId;
0 11 6 encryptedDigest [B
0 11 7 unauthenticatedAttributes Lsun/security/pkcs/PKCS9Attributes;
MethodParameters:
Name Flags
issuerName
serial
digestAlgorithmId
authenticatedAttributes
digestEncryptionAlgorithmId
encryptedDigest
unauthenticatedAttributes
public void <init>(sun.security.util.DerInputStream);
descriptor: (Lsun/security/util/DerInputStream;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
iconst_0
invokespecial sun.security.pkcs.SignerInfo.<init>:(Lsun/security/util/DerInputStream;Z)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/security/pkcs/SignerInfo;
0 2 1 derin Lsun/security/util/DerInputStream;
Exceptions:
throws java.io.IOException, sun.security.pkcs.ParsingException
MethodParameters:
Name Flags
derin
public void <init>(sun.security.util.DerInputStream, boolean);
descriptor: (Lsun/security/util/DerInputStream;Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
iconst_1
putfield sun.security.pkcs.SignerInfo.hasTimestamp:Z
2: aload 0
aload 1
invokevirtual sun.security.util.DerInputStream.getBigInteger:()Ljava/math/BigInteger;
putfield sun.security.pkcs.SignerInfo.version:Ljava/math/BigInteger;
3: aload 1
iconst_2
invokevirtual sun.security.util.DerInputStream.getSequence:(I)[Lsun/security/util/DerValue;
astore 3
start local 3 4: aload 3
arraylength
iconst_2
if_icmpeq 6
5: new sun.security.pkcs.ParsingException
dup
ldc "Invalid length for IssuerAndSerialNumber"
invokespecial sun.security.pkcs.ParsingException.<init>:(Ljava/lang/String;)V
athrow
6: StackMap locals: sun.security.pkcs.SignerInfo sun.security.util.DerInputStream int sun.security.util.DerValue[]
StackMap stack:
aload 3
iconst_0
aaload
invokevirtual sun.security.util.DerValue.toByteArray:()[B
astore 4
start local 4 7: aload 0
new sun.security.x509.X500Name
dup
new sun.security.util.DerValue
dup
bipush 48
8: aload 4
invokespecial sun.security.util.DerValue.<init>:(B[B)V
invokespecial sun.security.x509.X500Name.<init>:(Lsun/security/util/DerValue;)V
9: putfield sun.security.pkcs.SignerInfo.issuerName:Lsun/security/x509/X500Name;
10: aload 0
aload 3
iconst_1
aaload
invokevirtual sun.security.util.DerValue.getBigInteger:()Ljava/math/BigInteger;
putfield sun.security.pkcs.SignerInfo.certificateSerialNumber:Ljava/math/BigInteger;
11: aload 1
invokevirtual sun.security.util.DerInputStream.getDerValue:()Lsun/security/util/DerValue;
astore 5
start local 5 12: aload 0
aload 5
invokestatic sun.security.x509.AlgorithmId.parse:(Lsun/security/util/DerValue;)Lsun/security/x509/AlgorithmId;
putfield sun.security.pkcs.SignerInfo.digestAlgorithmId:Lsun/security/x509/AlgorithmId;
13: iload 2
ifeq 16
14: aload 1
iconst_0
invokevirtual sun.security.util.DerInputStream.getSet:(I)[Lsun/security/util/DerValue;
pop
15: goto 18
16: StackMap locals: byte[] sun.security.util.DerValue
StackMap stack:
aload 1
invokevirtual sun.security.util.DerInputStream.peekByte:()I
i2b
bipush -96
if_icmpne 18
17: aload 0
new sun.security.pkcs.PKCS9Attributes
dup
aload 1
invokespecial sun.security.pkcs.PKCS9Attributes.<init>:(Lsun/security/util/DerInputStream;)V
putfield sun.security.pkcs.SignerInfo.authenticatedAttributes:Lsun/security/pkcs/PKCS9Attributes;
18: StackMap locals:
StackMap stack:
aload 1
invokevirtual sun.security.util.DerInputStream.getDerValue:()Lsun/security/util/DerValue;
astore 5
19: aload 0
aload 5
invokestatic sun.security.x509.AlgorithmId.parse:(Lsun/security/util/DerValue;)Lsun/security/x509/AlgorithmId;
putfield sun.security.pkcs.SignerInfo.digestEncryptionAlgorithmId:Lsun/security/x509/AlgorithmId;
20: aload 0
aload 1
invokevirtual sun.security.util.DerInputStream.getOctetString:()[B
putfield sun.security.pkcs.SignerInfo.encryptedDigest:[B
21: iload 2
ifeq 24
22: aload 1
iconst_0
invokevirtual sun.security.util.DerInputStream.getSet:(I)[Lsun/security/util/DerValue;
pop
23: goto 29
24: StackMap locals:
StackMap stack:
aload 1
invokevirtual sun.security.util.DerInputStream.available:()I
ifeq 29
25: aload 1
invokevirtual sun.security.util.DerInputStream.peekByte:()I
i2b
bipush -95
if_icmpne 29
26: aload 0
27: new sun.security.pkcs.PKCS9Attributes
dup
aload 1
iconst_1
invokespecial sun.security.pkcs.PKCS9Attributes.<init>:(Lsun/security/util/DerInputStream;Z)V
28: putfield sun.security.pkcs.SignerInfo.unauthenticatedAttributes:Lsun/security/pkcs/PKCS9Attributes;
29: StackMap locals:
StackMap stack:
aload 1
invokevirtual sun.security.util.DerInputStream.available:()I
ifeq 31
30: new sun.security.pkcs.ParsingException
dup
ldc "extra data at the end"
invokespecial sun.security.pkcs.ParsingException.<init>:(Ljava/lang/String;)V
athrow
31: StackMap locals:
StackMap stack:
return
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 32 0 this Lsun/security/pkcs/SignerInfo;
0 32 1 derin Lsun/security/util/DerInputStream;
0 32 2 oldStyle Z
4 32 3 issuerAndSerialNumber [Lsun/security/util/DerValue;
7 32 4 issuerBytes [B
12 32 5 tmp Lsun/security/util/DerValue;
Exceptions:
throws java.io.IOException, sun.security.pkcs.ParsingException
MethodParameters:
Name Flags
derin
oldStyle
public void encode(sun.security.util.DerOutputStream);
descriptor: (Lsun/security/util/DerOutputStream;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual sun.security.pkcs.SignerInfo.derEncode:(Ljava/io/OutputStream;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/security/pkcs/SignerInfo;
0 2 1 out Lsun/security/util/DerOutputStream;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
out
public void derEncode(java.io.OutputStream);
descriptor: (Ljava/io/OutputStream;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=5, args_size=2
start local 0 start local 1 0: new sun.security.util.DerOutputStream
dup
invokespecial sun.security.util.DerOutputStream.<init>:()V
astore 2
start local 2 1: aload 2
aload 0
getfield sun.security.pkcs.SignerInfo.version:Ljava/math/BigInteger;
invokevirtual sun.security.util.DerOutputStream.putInteger:(Ljava/math/BigInteger;)V
2: new sun.security.util.DerOutputStream
dup
invokespecial sun.security.util.DerOutputStream.<init>:()V
astore 3
start local 3 3: aload 0
getfield sun.security.pkcs.SignerInfo.issuerName:Lsun/security/x509/X500Name;
aload 3
invokevirtual sun.security.x509.X500Name.encode:(Lsun/security/util/DerOutputStream;)V
4: aload 3
aload 0
getfield sun.security.pkcs.SignerInfo.certificateSerialNumber:Ljava/math/BigInteger;
invokevirtual sun.security.util.DerOutputStream.putInteger:(Ljava/math/BigInteger;)V
5: aload 2
bipush 48
aload 3
invokevirtual sun.security.util.DerOutputStream.write:(BLsun/security/util/DerOutputStream;)V
6: aload 0
getfield sun.security.pkcs.SignerInfo.digestAlgorithmId:Lsun/security/x509/AlgorithmId;
aload 2
invokevirtual sun.security.x509.AlgorithmId.encode:(Lsun/security/util/DerOutputStream;)V
7: aload 0
getfield sun.security.pkcs.SignerInfo.authenticatedAttributes:Lsun/security/pkcs/PKCS9Attributes;
ifnull 9
8: aload 0
getfield sun.security.pkcs.SignerInfo.authenticatedAttributes:Lsun/security/pkcs/PKCS9Attributes;
bipush -96
aload 2
invokevirtual sun.security.pkcs.PKCS9Attributes.encode:(BLjava/io/OutputStream;)V
9: StackMap locals: sun.security.util.DerOutputStream sun.security.util.DerOutputStream
StackMap stack:
aload 0
getfield sun.security.pkcs.SignerInfo.digestEncryptionAlgorithmId:Lsun/security/x509/AlgorithmId;
aload 2
invokevirtual sun.security.x509.AlgorithmId.encode:(Lsun/security/util/DerOutputStream;)V
10: aload 2
aload 0
getfield sun.security.pkcs.SignerInfo.encryptedDigest:[B
invokevirtual sun.security.util.DerOutputStream.putOctetString:([B)V
11: aload 0
getfield sun.security.pkcs.SignerInfo.unauthenticatedAttributes:Lsun/security/pkcs/PKCS9Attributes;
ifnull 13
12: aload 0
getfield sun.security.pkcs.SignerInfo.unauthenticatedAttributes:Lsun/security/pkcs/PKCS9Attributes;
bipush -95
aload 2
invokevirtual sun.security.pkcs.PKCS9Attributes.encode:(BLjava/io/OutputStream;)V
13: StackMap locals:
StackMap stack:
new sun.security.util.DerOutputStream
dup
invokespecial sun.security.util.DerOutputStream.<init>:()V
astore 4
start local 4 14: aload 4
bipush 48
aload 2
invokevirtual sun.security.util.DerOutputStream.write:(BLsun/security/util/DerOutputStream;)V
15: aload 1
aload 4
invokevirtual sun.security.util.DerOutputStream.toByteArray:()[B
invokevirtual java.io.OutputStream.write:([B)V
16: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Lsun/security/pkcs/SignerInfo;
0 17 1 out Ljava/io/OutputStream;
1 17 2 seq Lsun/security/util/DerOutputStream;
3 17 3 issuerAndSerialNumber Lsun/security/util/DerOutputStream;
14 17 4 tmp Lsun/security/util/DerOutputStream;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
out
public java.security.cert.X509Certificate getCertificate(sun.security.pkcs.PKCS7);
descriptor: (Lsun/security/pkcs/PKCS7;)Ljava/security/cert/X509Certificate;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 1
aload 0
getfield sun.security.pkcs.SignerInfo.certificateSerialNumber:Ljava/math/BigInteger;
aload 0
getfield sun.security.pkcs.SignerInfo.issuerName:Lsun/security/x509/X500Name;
invokevirtual sun.security.pkcs.PKCS7.getCertificate:(Ljava/math/BigInteger;Lsun/security/x509/X500Name;)Ljava/security/cert/X509Certificate;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/security/pkcs/SignerInfo;
0 1 1 block Lsun/security/pkcs/PKCS7;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
block
public java.util.ArrayList<java.security.cert.X509Certificate> getCertificateChain(sun.security.pkcs.PKCS7);
descriptor: (Lsun/security/pkcs/PKCS7;)Ljava/util/ArrayList;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=10, args_size=2
start local 0 start local 1 0: aload 1
aload 0
getfield sun.security.pkcs.SignerInfo.certificateSerialNumber:Ljava/math/BigInteger;
aload 0
getfield sun.security.pkcs.SignerInfo.issuerName:Lsun/security/x509/X500Name;
invokevirtual sun.security.pkcs.PKCS7.getCertificate:(Ljava/math/BigInteger;Lsun/security/x509/X500Name;)Ljava/security/cert/X509Certificate;
astore 2
start local 2 1: aload 2
ifnonnull 3
2: aconst_null
areturn
3: StackMap locals: java.security.cert.X509Certificate
StackMap stack:
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 3
start local 3 4: aload 3
aload 2
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
5: aload 1
invokevirtual sun.security.pkcs.PKCS7.getCertificates:()[Ljava/security/cert/X509Certificate;
astore 4
start local 4 6: aload 4
ifnull 8
7: aload 2
invokevirtual java.security.cert.X509Certificate.getSubjectDN:()Ljava/security/Principal;
aload 2
invokevirtual java.security.cert.X509Certificate.getIssuerDN:()Ljava/security/Principal;
invokeinterface java.security.Principal.equals:(Ljava/lang/Object;)Z
ifeq 9
8: StackMap locals: java.util.ArrayList java.security.cert.X509Certificate[]
StackMap stack:
aload 3
areturn
9: StackMap locals:
StackMap stack:
aload 2
invokevirtual java.security.cert.X509Certificate.getIssuerDN:()Ljava/security/Principal;
astore 5
start local 5 10: iconst_0
istore 6
start local 6 11: StackMap locals: java.security.Principal int
StackMap stack:
iconst_0
istore 7
start local 7 12: iload 6
istore 8
start local 8 13: goto 30
14: StackMap locals: int int
StackMap stack:
aload 5
aload 4
iload 8
aaload
invokevirtual java.security.cert.X509Certificate.getSubjectDN:()Ljava/security/Principal;
invokeinterface java.security.Principal.equals:(Ljava/lang/Object;)Z
ifeq 29
15: aload 3
aload 4
iload 8
aaload
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
16: aload 4
iload 8
aaload
invokevirtual java.security.cert.X509Certificate.getSubjectDN:()Ljava/security/Principal;
17: aload 4
iload 8
aaload
invokevirtual java.security.cert.X509Certificate.getIssuerDN:()Ljava/security/Principal;
18: invokeinterface java.security.Principal.equals:(Ljava/lang/Object;)Z
19: ifeq 22
20: aload 4
arraylength
istore 6
21: goto 27
22: StackMap locals:
StackMap stack:
aload 4
iload 8
aaload
invokevirtual java.security.cert.X509Certificate.getIssuerDN:()Ljava/security/Principal;
astore 5
23: aload 4
iload 6
aaload
astore 9
start local 9 24: aload 4
iload 6
aload 4
iload 8
aaload
aastore
25: aload 4
iload 8
aload 9
aastore
26: iinc 6 1
end local 9 27: StackMap locals:
StackMap stack:
iconst_1
istore 7
28: goto 31
29: StackMap locals:
StackMap stack:
iinc 8 1
30: StackMap locals:
StackMap stack:
iload 8
aload 4
arraylength
if_icmplt 14
31: StackMap locals:
StackMap stack:
iload 7
ifne 11
end local 8 end local 7 32: aload 3
areturn
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 33 0 this Lsun/security/pkcs/SignerInfo;
0 33 1 block Lsun/security/pkcs/PKCS7;
1 33 2 userCert Ljava/security/cert/X509Certificate;
4 33 3 certList Ljava/util/ArrayList<Ljava/security/cert/X509Certificate;>;
6 33 4 pkcsCerts [Ljava/security/cert/X509Certificate;
10 33 5 issuer Ljava/security/Principal;
11 33 6 start I
12 32 7 match Z
13 32 8 i I
24 27 9 tmpCert Ljava/security/cert/X509Certificate;
Exceptions:
throws java.io.IOException
Signature: (Lsun/security/pkcs/PKCS7;)Ljava/util/ArrayList<Ljava/security/cert/X509Certificate;>;
MethodParameters:
Name Flags
block
sun.security.pkcs.SignerInfo verify(sun.security.pkcs.PKCS7, byte[]);
descriptor: (Lsun/security/pkcs/PKCS7;[B)Lsun/security/pkcs/SignerInfo;
flags: (0x0000)
Code:
stack=5, locals=17, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokevirtual sun.security.pkcs.PKCS7.getContentInfo:()Lsun/security/pkcs/ContentInfo;
astore 3
start local 3 1: aload 2
ifnonnull 3
2: aload 3
invokevirtual sun.security.pkcs.ContentInfo.getContentBytes:()[B
astore 2
3: StackMap locals: sun.security.pkcs.ContentInfo
StackMap stack:
aconst_null
astore 4
start local 4 4: aload 0
invokevirtual sun.security.pkcs.SignerInfo.getTimestamp:()Ljava/security/Timestamp;
astore 4
5: goto 7
StackMap locals: sun.security.pkcs.SignerInfo sun.security.pkcs.PKCS7 byte[] sun.security.pkcs.ContentInfo java.security.Timestamp
StackMap stack: java.lang.Exception
6: pop
7: StackMap locals:
StackMap stack:
new sun.security.util.ConstraintsParameters
dup
aload 4
invokespecial sun.security.util.ConstraintsParameters.<init>:(Ljava/security/Timestamp;)V
8: astore 5
start local 5 9: aload 0
invokevirtual sun.security.pkcs.SignerInfo.getDigestAlgorithmId:()Lsun/security/x509/AlgorithmId;
invokevirtual sun.security.x509.AlgorithmId.getName:()Ljava/lang/String;
astore 6
start local 6 10: aload 0
getfield sun.security.pkcs.SignerInfo.authenticatedAttributes:Lsun/security/pkcs/PKCS9Attributes;
ifnonnull 13
11: aload 2
astore 7
start local 7 12: goto 42
end local 7 13: StackMap locals: sun.security.util.ConstraintsParameters java.lang.String
StackMap stack:
aload 0
getfield sun.security.pkcs.SignerInfo.authenticatedAttributes:Lsun/security/pkcs/PKCS9Attributes;
14: getstatic sun.security.pkcs.PKCS9Attribute.CONTENT_TYPE_OID:Lsun/security/util/ObjectIdentifier;
15: invokevirtual sun.security.pkcs.PKCS9Attributes.getAttributeValue:(Lsun/security/util/ObjectIdentifier;)Ljava/lang/Object;
16: checkcast sun.security.util.ObjectIdentifier
astore 8
start local 8 17: aload 8
ifnull 19
18: aload 8
aload 3
getfield sun.security.pkcs.ContentInfo.contentType:Lsun/security/util/ObjectIdentifier;
invokevirtual sun.security.util.ObjectIdentifier.equals:(Ljava/lang/Object;)Z
ifne 20
19: StackMap locals: sun.security.pkcs.SignerInfo sun.security.pkcs.PKCS7 byte[] sun.security.pkcs.ContentInfo java.security.Timestamp sun.security.util.ConstraintsParameters java.lang.String top sun.security.util.ObjectIdentifier
StackMap stack:
aconst_null
areturn
20: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.pkcs.SignerInfo.authenticatedAttributes:Lsun/security/pkcs/PKCS9Attributes;
21: getstatic sun.security.pkcs.PKCS9Attribute.MESSAGE_DIGEST_OID:Lsun/security/util/ObjectIdentifier;
22: invokevirtual sun.security.pkcs.PKCS9Attributes.getAttributeValue:(Lsun/security/util/ObjectIdentifier;)Ljava/lang/Object;
23: checkcast byte[]
astore 9
start local 9 24: aload 9
ifnonnull 26
25: aconst_null
areturn
26: StackMap locals: byte[]
StackMap stack:
getstatic sun.security.pkcs.SignerInfo.JAR_DISABLED_CHECK:Lsun/security/util/DisabledAlgorithmConstraints;
aload 6
aload 5
invokevirtual sun.security.util.DisabledAlgorithmConstraints.permits:(Ljava/lang/String;Lsun/security/util/ConstraintsParameters;)V
27: goto 30
StackMap locals:
StackMap stack: java.security.cert.CertPathValidatorException
28: astore 10
start local 10 29: new java.security.SignatureException
dup
aload 10
invokevirtual java.security.cert.CertPathValidatorException.getMessage:()Ljava/lang/String;
aload 10
invokespecial java.security.SignatureException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 10 30: StackMap locals:
StackMap stack:
aload 6
invokestatic sun.security.x509.AlgorithmId.getStandardDigestName:(Ljava/lang/String;)Ljava/lang/String;
31: invokestatic java.security.MessageDigest.getInstance:(Ljava/lang/String;)Ljava/security/MessageDigest;
astore 10
start local 10 32: aload 10
aload 2
invokevirtual java.security.MessageDigest.digest:([B)[B
astore 11
start local 11 33: aload 9
arraylength
aload 11
arraylength
if_icmpeq 35
34: aconst_null
areturn
35: StackMap locals: java.security.MessageDigest byte[]
StackMap stack:
iconst_0
istore 12
start local 12 36: goto 40
37: StackMap locals: int
StackMap stack:
aload 9
iload 12
baload
aload 11
iload 12
baload
if_icmpeq 39
38: aconst_null
areturn
39: StackMap locals:
StackMap stack:
iinc 12 1
StackMap locals:
StackMap stack:
40: iload 12
aload 9
arraylength
if_icmplt 37
end local 12 41: aload 0
getfield sun.security.pkcs.SignerInfo.authenticatedAttributes:Lsun/security/pkcs/PKCS9Attributes;
invokevirtual sun.security.pkcs.PKCS9Attributes.getDerEncoding:()[B
astore 7
end local 11 end local 10 end local 9 end local 8 start local 7 42: StackMap locals: sun.security.pkcs.SignerInfo sun.security.pkcs.PKCS7 byte[] sun.security.pkcs.ContentInfo java.security.Timestamp sun.security.util.ConstraintsParameters java.lang.String byte[]
StackMap stack:
aload 0
invokevirtual sun.security.pkcs.SignerInfo.getDigestEncryptionAlgorithmId:()Lsun/security/x509/AlgorithmId;
invokevirtual sun.security.x509.AlgorithmId.getName:()Ljava/lang/String;
43: astore 8
start local 8 44: aload 8
invokestatic sun.security.x509.AlgorithmId.getEncAlgFromSigAlg:(Ljava/lang/String;)Ljava/lang/String;
astore 9
start local 9 45: aload 9
ifnull 46
aload 9
astore 8
46: StackMap locals: java.lang.String java.lang.String
StackMap stack:
aload 6
aload 8
47: invokestatic sun.security.x509.AlgorithmId.makeSigAlg:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
astore 10
start local 10 48: getstatic sun.security.pkcs.SignerInfo.JAR_DISABLED_CHECK:Lsun/security/util/DisabledAlgorithmConstraints;
aload 10
aload 5
invokevirtual sun.security.util.DisabledAlgorithmConstraints.permits:(Ljava/lang/String;Lsun/security/util/ConstraintsParameters;)V
49: goto 52
StackMap locals: sun.security.pkcs.SignerInfo sun.security.pkcs.PKCS7 byte[] sun.security.pkcs.ContentInfo java.security.Timestamp sun.security.util.ConstraintsParameters java.lang.String byte[] java.lang.String java.lang.String java.lang.String
StackMap stack: java.security.cert.CertPathValidatorException
50: astore 11
start local 11 51: new java.security.SignatureException
dup
aload 11
invokevirtual java.security.cert.CertPathValidatorException.getMessage:()Ljava/lang/String;
aload 11
invokespecial java.security.SignatureException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 11 52: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual sun.security.pkcs.SignerInfo.getCertificate:(Lsun/security/pkcs/PKCS7;)Ljava/security/cert/X509Certificate;
astore 11
start local 11 53: aload 11
ifnonnull 55
54: aconst_null
areturn
55: StackMap locals: java.security.cert.X509Certificate
StackMap stack:
aload 11
invokevirtual java.security.cert.X509Certificate.getPublicKey:()Ljava/security/PublicKey;
astore 12
start local 12 56: getstatic sun.security.pkcs.SignerInfo.JAR_DISABLED_CHECK:Lsun/security/util/DisabledAlgorithmConstraints;
getstatic sun.security.pkcs.SignerInfo.SIG_PRIMITIVE_SET:Ljava/util/Set;
aload 12
invokevirtual sun.security.util.DisabledAlgorithmConstraints.permits:(Ljava/util/Set;Ljava/security/Key;)Z
ifne 61
57: new java.security.SignatureException
dup
new java.lang.StringBuilder
dup
ldc "Public key check failed. Disabled key used: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
58: aload 12
invokestatic sun.security.util.KeyUtil.getKeySize:(Ljava/security/Key;)I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " bit "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
59: aload 12
invokeinterface java.security.PublicKey.getAlgorithm:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
60: invokespecial java.security.SignatureException.<init>:(Ljava/lang/String;)V
athrow
61: StackMap locals: java.security.PublicKey
StackMap stack:
aload 11
invokevirtual java.security.cert.X509Certificate.hasUnsupportedCriticalExtension:()Z
ifeq 63
62: new java.security.SignatureException
dup
ldc "Certificate has unsupported critical extension(s)"
invokespecial java.security.SignatureException.<init>:(Ljava/lang/String;)V
athrow
63: StackMap locals:
StackMap stack:
aload 11
invokevirtual java.security.cert.X509Certificate.getKeyUsage:()[Z
astore 13
start local 13 64: aload 13
ifnull 81
65: new sun.security.x509.KeyUsageExtension
dup
aload 13
invokespecial sun.security.x509.KeyUsageExtension.<init>:([Z)V
astore 14
start local 14 66: goto 69
end local 14 StackMap locals: sun.security.pkcs.SignerInfo sun.security.pkcs.PKCS7 byte[] sun.security.pkcs.ContentInfo java.security.Timestamp sun.security.util.ConstraintsParameters java.lang.String byte[] java.lang.String java.lang.String java.lang.String java.security.cert.X509Certificate java.security.PublicKey boolean[]
StackMap stack: java.io.IOException
67: pop
68: new java.security.SignatureException
dup
ldc "Failed to parse keyUsage extension"
invokespecial java.security.SignatureException.<init>:(Ljava/lang/String;)V
athrow
start local 14 69: StackMap locals: sun.security.x509.KeyUsageExtension
StackMap stack:
aload 14
70: ldc "digital_signature"
71: invokevirtual sun.security.x509.KeyUsageExtension.get:(Ljava/lang/String;)Ljava/lang/Boolean;
72: invokevirtual java.lang.Boolean.booleanValue:()Z
73: istore 15
start local 15 74: aload 14
75: ldc "non_repudiation"
76: invokevirtual sun.security.x509.KeyUsageExtension.get:(Ljava/lang/String;)Ljava/lang/Boolean;
77: invokevirtual java.lang.Boolean.booleanValue:()Z
78: istore 16
start local 16 79: iload 15
ifne 81
iload 16
ifne 81
80: new java.security.SignatureException
dup
ldc "Key usage restricted: cannot be used for digital signatures"
invokespecial java.security.SignatureException.<init>:(Ljava/lang/String;)V
athrow
end local 16 end local 15 end local 14 81: StackMap locals:
StackMap stack:
aload 10
invokestatic java.security.Signature.getInstance:(Ljava/lang/String;)Ljava/security/Signature;
astore 14
start local 14 82: aload 14
aload 12
invokevirtual java.security.Signature.initVerify:(Ljava/security/PublicKey;)V
83: aload 14
aload 7
invokevirtual java.security.Signature.update:([B)V
84: aload 14
aload 0
getfield sun.security.pkcs.SignerInfo.encryptedDigest:[B
invokevirtual java.security.Signature.verify:([B)Z
ifeq 93
85: aload 0
86: areturn
end local 14 end local 13 end local 12 end local 11 end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 87: StackMap locals: sun.security.pkcs.SignerInfo sun.security.pkcs.PKCS7 byte[]
StackMap stack: java.io.IOException
astore 3
start local 3 88: new java.security.SignatureException
dup
new java.lang.StringBuilder
dup
ldc "IO error verifying signature:\n"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
89: aload 3
invokevirtual java.io.IOException.getMessage:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
90: invokespecial java.security.SignatureException.<init>:(Ljava/lang/String;)V
athrow
end local 3 91: StackMap locals:
StackMap stack: java.security.InvalidKeyException
astore 3
start local 3 92: new java.security.SignatureException
dup
new java.lang.StringBuilder
dup
ldc "InvalidKey: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3
invokevirtual java.security.InvalidKeyException.getMessage:()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.SignatureException.<init>:(Ljava/lang/String;)V
athrow
end local 3 93: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 94 0 this Lsun/security/pkcs/SignerInfo;
0 94 1 block Lsun/security/pkcs/PKCS7;
0 94 2 data [B
1 87 3 content Lsun/security/pkcs/ContentInfo;
4 87 4 timestamp Ljava/security/Timestamp;
9 87 5 cparams Lsun/security/util/ConstraintsParameters;
10 87 6 digestAlgname Ljava/lang/String;
12 13 7 dataSigned [B
42 87 7 dataSigned [B
17 42 8 contentType Lsun/security/util/ObjectIdentifier;
24 42 9 messageDigest [B
29 30 10 e Ljava/security/cert/CertPathValidatorException;
32 42 10 md Ljava/security/MessageDigest;
33 42 11 computedMessageDigest [B
36 41 12 i I
44 87 8 encryptionAlgname Ljava/lang/String;
45 87 9 tmp Ljava/lang/String;
48 87 10 algname Ljava/lang/String;
51 52 11 e Ljava/security/cert/CertPathValidatorException;
53 87 11 cert Ljava/security/cert/X509Certificate;
56 87 12 key Ljava/security/PublicKey;
64 87 13 keyUsageBits [Z
66 67 14 keyUsage Lsun/security/x509/KeyUsageExtension;
69 81 14 keyUsage Lsun/security/x509/KeyUsageExtension;
74 81 15 digSigAllowed Z
79 81 16 nonRepuAllowed Z
82 87 14 sig Ljava/security/Signature;
88 91 3 e Ljava/io/IOException;
92 93 3 e Ljava/security/InvalidKeyException;
Exception table:
from to target type
4 5 6 Class java.lang.Exception
26 27 28 Class java.security.cert.CertPathValidatorException
48 49 50 Class java.security.cert.CertPathValidatorException
65 66 67 Class java.io.IOException
0 19 87 Class java.io.IOException
20 25 87 Class java.io.IOException
26 34 87 Class java.io.IOException
35 38 87 Class java.io.IOException
39 54 87 Class java.io.IOException
55 86 87 Class java.io.IOException
0 19 91 Class java.security.InvalidKeyException
20 25 91 Class java.security.InvalidKeyException
26 34 91 Class java.security.InvalidKeyException
35 38 91 Class java.security.InvalidKeyException
39 54 91 Class java.security.InvalidKeyException
55 86 91 Class java.security.InvalidKeyException
Exceptions:
throws java.security.NoSuchAlgorithmException, java.security.SignatureException
MethodParameters:
Name Flags
block
data
sun.security.pkcs.SignerInfo verify(sun.security.pkcs.PKCS7);
descriptor: (Lsun/security/pkcs/PKCS7;)Lsun/security/pkcs/SignerInfo;
flags: (0x0000)
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
aconst_null
invokevirtual sun.security.pkcs.SignerInfo.verify:(Lsun/security/pkcs/PKCS7;[B)Lsun/security/pkcs/SignerInfo;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/security/pkcs/SignerInfo;
0 1 1 block Lsun/security/pkcs/PKCS7;
Exceptions:
throws java.security.NoSuchAlgorithmException, java.security.SignatureException
MethodParameters:
Name Flags
block
public java.math.BigInteger getVersion();
descriptor: ()Ljava/math/BigInteger;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.security.pkcs.SignerInfo.version:Ljava/math/BigInteger;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/security/pkcs/SignerInfo;
public sun.security.x509.X500Name getIssuerName();
descriptor: ()Lsun/security/x509/X500Name;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.security.pkcs.SignerInfo.issuerName:Lsun/security/x509/X500Name;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/security/pkcs/SignerInfo;
public java.math.BigInteger getCertificateSerialNumber();
descriptor: ()Ljava/math/BigInteger;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.security.pkcs.SignerInfo.certificateSerialNumber:Ljava/math/BigInteger;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/security/pkcs/SignerInfo;
public sun.security.x509.AlgorithmId getDigestAlgorithmId();
descriptor: ()Lsun/security/x509/AlgorithmId;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.security.pkcs.SignerInfo.digestAlgorithmId:Lsun/security/x509/AlgorithmId;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/security/pkcs/SignerInfo;
public sun.security.pkcs.PKCS9Attributes getAuthenticatedAttributes();
descriptor: ()Lsun/security/pkcs/PKCS9Attributes;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.security.pkcs.SignerInfo.authenticatedAttributes:Lsun/security/pkcs/PKCS9Attributes;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/security/pkcs/SignerInfo;
public sun.security.x509.AlgorithmId getDigestEncryptionAlgorithmId();
descriptor: ()Lsun/security/x509/AlgorithmId;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.security.pkcs.SignerInfo.digestEncryptionAlgorithmId:Lsun/security/x509/AlgorithmId;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/security/pkcs/SignerInfo;
public byte[] getEncryptedDigest();
descriptor: ()[B
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.security.pkcs.SignerInfo.encryptedDigest:[B
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/security/pkcs/SignerInfo;
public sun.security.pkcs.PKCS9Attributes getUnauthenticatedAttributes();
descriptor: ()Lsun/security/pkcs/PKCS9Attributes;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.security.pkcs.SignerInfo.unauthenticatedAttributes:Lsun/security/pkcs/PKCS9Attributes;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/security/pkcs/SignerInfo;
public sun.security.pkcs.PKCS7 getTsToken();
descriptor: ()Lsun/security/pkcs/PKCS7;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
getfield sun.security.pkcs.SignerInfo.unauthenticatedAttributes:Lsun/security/pkcs/PKCS9Attributes;
ifnonnull 2
1: aconst_null
areturn
2: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.pkcs.SignerInfo.unauthenticatedAttributes:Lsun/security/pkcs/PKCS9Attributes;
3: getstatic sun.security.pkcs.PKCS9Attribute.SIGNATURE_TIMESTAMP_TOKEN_OID:Lsun/security/util/ObjectIdentifier;
4: invokevirtual sun.security.pkcs.PKCS9Attributes.getAttribute:(Lsun/security/util/ObjectIdentifier;)Lsun/security/pkcs/PKCS9Attribute;
5: astore 1
start local 1 6: aload 1
ifnonnull 8
7: aconst_null
areturn
8: StackMap locals: sun.security.pkcs.PKCS9Attribute
StackMap stack:
new sun.security.pkcs.PKCS7
dup
aload 1
invokevirtual sun.security.pkcs.PKCS9Attribute.getValue:()Ljava/lang/Object;
checkcast byte[]
invokespecial sun.security.pkcs.PKCS7.<init>:([B)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lsun/security/pkcs/SignerInfo;
6 9 1 tsTokenAttr Lsun/security/pkcs/PKCS9Attribute;
Exceptions:
throws java.io.IOException
public java.security.Timestamp getTimestamp();
descriptor: ()Ljava/security/Timestamp;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=8, args_size=1
start local 0 0: aload 0
getfield sun.security.pkcs.SignerInfo.timestamp:Ljava/security/Timestamp;
ifnonnull 1
aload 0
getfield sun.security.pkcs.SignerInfo.hasTimestamp:Z
ifne 2
1: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.pkcs.SignerInfo.timestamp:Ljava/security/Timestamp;
areturn
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual sun.security.pkcs.SignerInfo.getTsToken:()Lsun/security/pkcs/PKCS7;
astore 1
start local 1 3: aload 1
ifnonnull 6
4: aload 0
iconst_0
putfield sun.security.pkcs.SignerInfo.hasTimestamp:Z
5: aconst_null
areturn
6: StackMap locals: sun.security.pkcs.PKCS7
StackMap stack:
aload 1
invokevirtual sun.security.pkcs.PKCS7.getContentInfo:()Lsun/security/pkcs/ContentInfo;
invokevirtual sun.security.pkcs.ContentInfo.getData:()[B
astore 2
start local 2 7: aload 1
aload 2
invokevirtual sun.security.pkcs.PKCS7.verify:([B)[Lsun/security/pkcs/SignerInfo;
astore 3
start local 3 8: aload 3
iconst_0
aaload
aload 1
invokevirtual sun.security.pkcs.SignerInfo.getCertificateChain:(Lsun/security/pkcs/PKCS7;)Ljava/util/ArrayList;
astore 4
start local 4 9: ldc "X.509"
invokestatic java.security.cert.CertificateFactory.getInstance:(Ljava/lang/String;)Ljava/security/cert/CertificateFactory;
astore 5
start local 5 10: aload 5
aload 4
invokevirtual java.security.cert.CertificateFactory.generateCertPath:(Ljava/util/List;)Ljava/security/cert/CertPath;
astore 6
start local 6 11: new sun.security.timestamp.TimestampToken
dup
aload 2
invokespecial sun.security.timestamp.TimestampToken.<init>:([B)V
astore 7
start local 7 12: aload 0
aload 7
invokevirtual sun.security.pkcs.SignerInfo.verifyTimestamp:(Lsun/security/timestamp/TimestampToken;)V
13: aload 0
new java.security.Timestamp
dup
aload 7
invokevirtual sun.security.timestamp.TimestampToken.getDate:()Ljava/util/Date;
aload 6
invokespecial java.security.Timestamp.<init>:(Ljava/util/Date;Ljava/security/cert/CertPath;)V
putfield sun.security.pkcs.SignerInfo.timestamp:Ljava/security/Timestamp;
14: aload 0
getfield sun.security.pkcs.SignerInfo.timestamp:Ljava/security/Timestamp;
areturn
end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lsun/security/pkcs/SignerInfo;
3 15 1 tsToken Lsun/security/pkcs/PKCS7;
7 15 2 encTsTokenInfo [B
8 15 3 tsa [Lsun/security/pkcs/SignerInfo;
9 15 4 chain Ljava/util/ArrayList<Ljava/security/cert/X509Certificate;>;
10 15 5 cf Ljava/security/cert/CertificateFactory;
11 15 6 tsaChain Ljava/security/cert/CertPath;
12 15 7 tsTokenInfo Lsun/security/timestamp/TimestampToken;
Exceptions:
throws java.io.IOException, java.security.NoSuchAlgorithmException, java.security.SignatureException, java.security.cert.CertificateException
private void verifyTimestamp(sun.security.timestamp.TimestampToken);
descriptor: (Lsun/security/timestamp/TimestampToken;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=4, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual sun.security.timestamp.TimestampToken.getHashAlgorithm:()Lsun/security/x509/AlgorithmId;
invokevirtual sun.security.x509.AlgorithmId.getName:()Ljava/lang/String;
invokestatic sun.security.x509.AlgorithmId.getStandardDigestName:(Ljava/lang/String;)Ljava/lang/String;
1: astore 2
start local 2 2: getstatic sun.security.pkcs.SignerInfo.JAR_DISABLED_CHECK:Lsun/security/util/DisabledAlgorithmConstraints;
getstatic sun.security.pkcs.SignerInfo.DIGEST_PRIMITIVE_SET:Ljava/util/Set;
aload 2
3: aconst_null
4: invokevirtual sun.security.util.DisabledAlgorithmConstraints.permits:(Ljava/util/Set;Ljava/lang/String;Ljava/security/AlgorithmParameters;)Z
5: ifne 9
6: new java.security.SignatureException
dup
new java.lang.StringBuilder
dup
ldc "Timestamp token digest check failed. Disabled algorithm used: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
7: aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
8: invokespecial java.security.SignatureException.<init>:(Ljava/lang/String;)V
athrow
9: StackMap locals: java.lang.String
StackMap stack:
aload 2
invokestatic java.security.MessageDigest.getInstance:(Ljava/lang/String;)Ljava/security/MessageDigest;
10: astore 3
start local 3 11: aload 1
invokevirtual sun.security.timestamp.TimestampToken.getHashedMessage:()[B
12: aload 3
aload 0
getfield sun.security.pkcs.SignerInfo.encryptedDigest:[B
invokevirtual java.security.MessageDigest.digest:([B)[B
13: invokestatic java.util.Arrays.equals:([B[B)Z
14: ifne 19
15: new java.security.SignatureException
dup
new java.lang.StringBuilder
dup
ldc "Signature timestamp (#"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
16: aload 1
invokevirtual sun.security.timestamp.TimestampToken.getSerialNumber:()Ljava/math/BigInteger;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc ") generated on "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
invokevirtual sun.security.timestamp.TimestampToken.getDate:()Ljava/util/Date;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
17: ldc " is inapplicable"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
18: invokespecial java.security.SignatureException.<init>:(Ljava/lang/String;)V
athrow
19: StackMap locals: java.security.MessageDigest
StackMap stack:
getstatic sun.security.pkcs.SignerInfo.debug:Lsun/security/util/Debug;
ifnull 25
20: getstatic sun.security.pkcs.SignerInfo.debug:Lsun/security/util/Debug;
invokevirtual sun.security.util.Debug.println:()V
21: getstatic sun.security.pkcs.SignerInfo.debug:Lsun/security/util/Debug;
new java.lang.StringBuilder
dup
ldc "Detected signature timestamp (#"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
22: aload 1
invokevirtual sun.security.timestamp.TimestampToken.getSerialNumber:()Ljava/math/BigInteger;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc ") generated on "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
invokevirtual sun.security.timestamp.TimestampToken.getDate:()Ljava/util/Date;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
23: invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
24: getstatic sun.security.pkcs.SignerInfo.debug:Lsun/security/util/Debug;
invokevirtual sun.security.util.Debug.println:()V
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/pkcs/SignerInfo;
0 26 1 token Lsun/security/timestamp/TimestampToken;
2 26 2 digestAlgname Ljava/lang/String;
11 26 3 md Ljava/security/MessageDigest;
Exceptions:
throws java.security.NoSuchAlgorithmException, java.security.SignatureException
MethodParameters:
Name Flags
token
public java.lang.String toString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=1
start local 0 0: new sun.misc.HexDumpEncoder
dup
invokespecial sun.misc.HexDumpEncoder.<init>:()V
astore 1
start local 1 1: ldc ""
astore 2
start local 2 2: new java.lang.StringBuilder
dup
aload 2
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "Signer Info for (issuer): "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield sun.security.pkcs.SignerInfo.issuerName:Lsun/security/x509/X500Name;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc "\n"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 2
3: new java.lang.StringBuilder
dup
aload 2
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "\tversion: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield sun.security.pkcs.SignerInfo.version:Ljava/math/BigInteger;
invokestatic sun.security.util.Debug.toHexString:(Ljava/math/BigInteger;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "\n"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 2
4: new java.lang.StringBuilder
dup
aload 2
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "\tcertificateSerialNumber: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
5: aload 0
getfield sun.security.pkcs.SignerInfo.certificateSerialNumber:Ljava/math/BigInteger;
invokestatic sun.security.util.Debug.toHexString:(Ljava/math/BigInteger;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "\n"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
6: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 2
7: new java.lang.StringBuilder
dup
aload 2
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "\tdigestAlgorithmId: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield sun.security.pkcs.SignerInfo.digestAlgorithmId:Lsun/security/x509/AlgorithmId;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc "\n"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 2
8: aload 0
getfield sun.security.pkcs.SignerInfo.authenticatedAttributes:Lsun/security/pkcs/PKCS9Attributes;
ifnull 12
9: new java.lang.StringBuilder
dup
aload 2
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "\tauthenticatedAttributes: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield sun.security.pkcs.SignerInfo.authenticatedAttributes:Lsun/security/pkcs/PKCS9Attributes;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
10: ldc "\n"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
11: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 2
12: StackMap locals: sun.misc.HexDumpEncoder java.lang.String
StackMap stack:
new java.lang.StringBuilder
dup
aload 2
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "\tdigestEncryptionAlgorithmId: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield sun.security.pkcs.SignerInfo.digestEncryptionAlgorithmId:Lsun/security/x509/AlgorithmId;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
13: ldc "\n"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
14: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 2
15: new java.lang.StringBuilder
dup
aload 2
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "\tencryptedDigest: \n"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
16: aload 1
aload 0
getfield sun.security.pkcs.SignerInfo.encryptedDigest:[B
invokevirtual sun.misc.HexDumpEncoder.encodeBuffer:([B)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "\n"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
17: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 2
18: aload 0
getfield sun.security.pkcs.SignerInfo.unauthenticatedAttributes:Lsun/security/pkcs/PKCS9Attributes;
ifnull 22
19: new java.lang.StringBuilder
dup
aload 2
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "\tunauthenticatedAttributes: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
20: aload 0
getfield sun.security.pkcs.SignerInfo.unauthenticatedAttributes:Lsun/security/pkcs/PKCS9Attributes;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc "\n"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
21: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 2
22: StackMap locals:
StackMap stack:
aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 23 0 this Lsun/security/pkcs/SignerInfo;
1 23 1 hexDump Lsun/misc/HexDumpEncoder;
2 23 2 out Ljava/lang/String;
}
SourceFile: "SignerInfo.java"