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 41
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 java.security.MessageDigest.getInstance:(Ljava/lang/String;)Ljava/security/MessageDigest;
astore 10
start local 10 31: aload 10
aload 2
invokevirtual java.security.MessageDigest.digest:([B)[B
astore 11
start local 11 32: aload 9
arraylength
aload 11
arraylength
if_icmpeq 34
33: aconst_null
areturn
34: StackMap locals: java.security.MessageDigest byte[]
StackMap stack:
iconst_0
istore 12
start local 12 35: goto 39
36: StackMap locals: int
StackMap stack:
aload 9
iload 12
baload
aload 11
iload 12
baload
if_icmpeq 38
37: aconst_null
areturn
38: StackMap locals:
StackMap stack:
iinc 12 1
StackMap locals:
StackMap stack:
39: iload 12
aload 9
arraylength
if_icmplt 36
end local 12 40: 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 41: 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;
42: astore 8
start local 8 43: aload 8
invokestatic sun.security.x509.AlgorithmId.getEncAlgFromSigAlg:(Ljava/lang/String;)Ljava/lang/String;
astore 9
start local 9 44: aload 9
ifnull 45
aload 9
astore 8
45: StackMap locals: java.lang.String java.lang.String
StackMap stack:
aload 6
aload 8
46: invokestatic sun.security.x509.AlgorithmId.makeSigAlg:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
astore 10
start local 10 47: 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
48: goto 51
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
49: astore 11
start local 11 50: 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 51: 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 52: aload 11
ifnonnull 54
53: aconst_null
areturn
54: StackMap locals: java.security.cert.X509Certificate
StackMap stack:
aload 11
invokevirtual java.security.cert.X509Certificate.getPublicKey:()Ljava/security/PublicKey;
astore 12
start local 12 55: 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 60
56: 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
57: 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;
58: 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;
59: invokespecial java.security.SignatureException.<init>:(Ljava/lang/String;)V
athrow
60: StackMap locals: java.security.PublicKey
StackMap stack:
aload 11
invokevirtual java.security.cert.X509Certificate.hasUnsupportedCriticalExtension:()Z
ifeq 62
61: new java.security.SignatureException
dup
ldc "Certificate has unsupported critical extension(s)"
invokespecial java.security.SignatureException.<init>:(Ljava/lang/String;)V
athrow
62: StackMap locals:
StackMap stack:
aload 11
invokevirtual java.security.cert.X509Certificate.getKeyUsage:()[Z
astore 13
start local 13 63: aload 13
ifnull 80
64: new sun.security.x509.KeyUsageExtension
dup
aload 13
invokespecial sun.security.x509.KeyUsageExtension.<init>:([Z)V
astore 14
start local 14 65: goto 68
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
66: pop
67: new java.security.SignatureException
dup
ldc "Failed to parse keyUsage extension"
invokespecial java.security.SignatureException.<init>:(Ljava/lang/String;)V
athrow
start local 14 68: StackMap locals: sun.security.x509.KeyUsageExtension
StackMap stack:
aload 14
69: ldc "digital_signature"
70: invokevirtual sun.security.x509.KeyUsageExtension.get:(Ljava/lang/String;)Ljava/lang/Boolean;
71: invokevirtual java.lang.Boolean.booleanValue:()Z
72: istore 15
start local 15 73: aload 14
74: ldc "non_repudiation"
75: invokevirtual sun.security.x509.KeyUsageExtension.get:(Ljava/lang/String;)Ljava/lang/Boolean;
76: invokevirtual java.lang.Boolean.booleanValue:()Z
77: istore 16
start local 16 78: iload 15
ifne 80
iload 16
ifne 80
79: 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 80: StackMap locals:
StackMap stack:
aload 10
invokestatic java.security.Signature.getInstance:(Ljava/lang/String;)Ljava/security/Signature;
astore 14
start local 14 81: aload 0
getfield sun.security.pkcs.SignerInfo.digestEncryptionAlgorithmId:Lsun/security/x509/AlgorithmId;
invokevirtual sun.security.x509.AlgorithmId.getParameters:()Ljava/security/AlgorithmParameters;
82: astore 15
start local 15 83: aload 14
aload 12
84: aload 10
aload 15
invokestatic sun.security.util.SignatureUtil.getParamSpec:(Ljava/lang/String;Ljava/security/AlgorithmParameters;)Ljava/security/spec/AlgorithmParameterSpec;
85: invokestatic sun.security.util.SignatureUtil.initVerifyWithParam:(Ljava/security/Signature;Ljava/security/PublicKey;Ljava/security/spec/AlgorithmParameterSpec;)V
86: goto 89
87: 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[] java.security.Signature java.security.AlgorithmParameters
StackMap stack: java.lang.Exception
astore 16
start local 16 88: new java.security.SignatureException
dup
aload 16
invokevirtual java.lang.Exception.getMessage:()Ljava/lang/String;
aload 16
invokespecial java.security.SignatureException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 16 89: StackMap locals:
StackMap stack:
aload 14
aload 7
invokevirtual java.security.Signature.update:([B)V
90: aload 14
aload 0
getfield sun.security.pkcs.SignerInfo.encryptedDigest:[B
invokevirtual java.security.Signature.verify:([B)Z
ifeq 97
91: aload 0
92: areturn
end local 15 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 93: StackMap locals: sun.security.pkcs.SignerInfo sun.security.pkcs.PKCS7 byte[]
StackMap stack: java.io.IOException
astore 3
start local 3 94: 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
95: 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;
96: invokespecial java.security.SignatureException.<init>:(Ljava/lang/String;)V
athrow
end local 3 97: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 98 0 this Lsun/security/pkcs/SignerInfo;
0 98 1 block Lsun/security/pkcs/PKCS7;
0 98 2 data [B
1 93 3 content Lsun/security/pkcs/ContentInfo;
4 93 4 timestamp Ljava/security/Timestamp;
9 93 5 cparams Lsun/security/util/ConstraintsParameters;
10 93 6 digestAlgname Ljava/lang/String;
12 13 7 dataSigned [B
41 93 7 dataSigned [B
17 41 8 contentType Lsun/security/util/ObjectIdentifier;
24 41 9 messageDigest [B
29 30 10 e Ljava/security/cert/CertPathValidatorException;
31 41 10 md Ljava/security/MessageDigest;
32 41 11 computedMessageDigest [B
35 40 12 i I
43 93 8 encryptionAlgname Ljava/lang/String;
44 93 9 tmp Ljava/lang/String;
47 93 10 algname Ljava/lang/String;
50 51 11 e Ljava/security/cert/CertPathValidatorException;
52 93 11 cert Ljava/security/cert/X509Certificate;
55 93 12 key Ljava/security/PublicKey;
63 93 13 keyUsageBits [Z
65 66 14 keyUsage Lsun/security/x509/KeyUsageExtension;
68 80 14 keyUsage Lsun/security/x509/KeyUsageExtension;
73 80 15 digSigAllowed Z
78 80 16 nonRepuAllowed Z
81 93 14 sig Ljava/security/Signature;
83 93 15 ap Ljava/security/AlgorithmParameters;
88 89 16 e Ljava/lang/Exception;
94 97 3 e Ljava/io/IOException;
Exception table:
from to target type
4 5 6 Class java.lang.Exception
26 27 28 Class java.security.cert.CertPathValidatorException
47 48 49 Class java.security.cert.CertPathValidatorException
64 65 66 Class java.io.IOException
83 86 87 Class java.security.ProviderException
83 86 87 Class java.security.InvalidAlgorithmParameterException
83 86 87 Class java.security.InvalidKeyException
0 19 93 Class java.io.IOException
20 25 93 Class java.io.IOException
26 33 93 Class java.io.IOException
34 37 93 Class java.io.IOException
38 53 93 Class java.io.IOException
54 92 93 Class java.io.IOException
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;
astore 2
start local 2 1: 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
2: aconst_null
3: invokevirtual sun.security.util.DisabledAlgorithmConstraints.permits:(Ljava/util/Set;Ljava/lang/String;Ljava/security/AlgorithmParameters;)Z
4: ifne 8
5: 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
6: aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
7: invokespecial java.security.SignatureException.<init>:(Ljava/lang/String;)V
athrow
8: StackMap locals: java.lang.String
StackMap stack:
aload 2
invokestatic java.security.MessageDigest.getInstance:(Ljava/lang/String;)Ljava/security/MessageDigest;
9: astore 3
start local 3 10: aload 1
invokevirtual sun.security.timestamp.TimestampToken.getHashedMessage:()[B
11: aload 3
aload 0
getfield sun.security.pkcs.SignerInfo.encryptedDigest:[B
invokevirtual java.security.MessageDigest.digest:([B)[B
12: invokestatic java.util.Arrays.equals:([B[B)Z
13: ifne 18
14: new java.security.SignatureException
dup
new java.lang.StringBuilder
dup
ldc "Signature timestamp (#"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
15: 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;
16: ldc " is inapplicable"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
17: invokespecial java.security.SignatureException.<init>:(Ljava/lang/String;)V
athrow
18: StackMap locals: java.security.MessageDigest
StackMap stack:
getstatic sun.security.pkcs.SignerInfo.debug:Lsun/security/util/Debug;
ifnull 24
19: getstatic sun.security.pkcs.SignerInfo.debug:Lsun/security/util/Debug;
invokevirtual sun.security.util.Debug.println:()V
20: 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
21: 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;
22: invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
23: getstatic sun.security.pkcs.SignerInfo.debug:Lsun/security/util/Debug;
invokevirtual sun.security.util.Debug.println:()V
24: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 25 0 this Lsun/security/pkcs/SignerInfo;
0 25 1 token Lsun/security/timestamp/TimestampToken;
1 25 2 digestAlgname Ljava/lang/String;
10 25 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.security.util.HexDumpEncoder
dup
invokespecial sun.security.util.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.security.util.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.security.util.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/security/util/HexDumpEncoder;
2 23 2 out Ljava/lang/String;
}
SourceFile: "SignerInfo.java"