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=8, 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
aload 1
aload 2
aload 3
aconst_null
1: aload 4
aload 5
aconst_null
invokespecial sun.security.pkcs.SignerInfo.<init>:(Lsun/security/x509/X500Name;Ljava/math/BigInteger;Lsun/security/x509/AlgorithmId;Lsun/security/pkcs/PKCS9Attributes;Lsun/security/x509/AlgorithmId;[BLsun/security/pkcs/PKCS9Attributes;)V
2: 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 3 0 this Lsun/security/pkcs/SignerInfo;
0 3 1 issuerName Lsun/security/x509/X500Name;
0 3 2 serial Ljava/math/BigInteger;
0 3 3 digestAlgorithmId Lsun/security/x509/AlgorithmId;
0 3 4 digestEncryptionAlgorithmId Lsun/security/x509/AlgorithmId;
0 3 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:
aload 0
invokevirtual sun.security.pkcs.SignerInfo.checkCMSAlgorithmProtection:()V
32: 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 33 0 this Lsun/security/pkcs/SignerInfo;
0 33 1 derin Lsun/security/util/DerInputStream;
0 33 2 oldStyle Z
4 33 3 issuerAndSerialNumber [Lsun/security/util/DerValue;
7 33 4 issuerBytes [B
12 33 5 tmp Lsun/security/util/DerValue;
Exceptions:
throws java.io.IOException, sun.security.pkcs.ParsingException
MethodParameters:
Name Flags
derin
oldStyle
private void checkCMSAlgorithmProtection();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=7, args_size=1
start local 0 0: aload 0
getfield sun.security.pkcs.SignerInfo.authenticatedAttributes:Lsun/security/pkcs/PKCS9Attributes;
ifnonnull 2
1: return
2: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.pkcs.SignerInfo.authenticatedAttributes:Lsun/security/pkcs/PKCS9Attributes;
3: getstatic sun.security.pkcs.PKCS9Attribute.CMS_ALGORITHM_PROTECTION_OID:Lsun/security/util/ObjectIdentifier;
4: invokevirtual sun.security.pkcs.PKCS9Attributes.getAttribute:(Lsun/security/util/ObjectIdentifier;)Lsun/security/pkcs/PKCS9Attribute;
astore 1
start local 1 5: aload 1
ifnonnull 7
6: return
7: StackMap locals: sun.security.pkcs.PKCS9Attribute
StackMap stack:
new sun.security.util.DerValue
dup
aload 1
invokevirtual sun.security.pkcs.PKCS9Attribute.getValue:()Ljava/lang/Object;
checkcast byte[]
invokespecial sun.security.util.DerValue.<init>:([B)V
astore 2
start local 2 8: aload 2
invokevirtual sun.security.util.DerValue.data:()Lsun/security/util/DerInputStream;
astore 3
start local 3 9: aload 3
invokevirtual sun.security.util.DerInputStream.getDerValue:()Lsun/security/util/DerValue;
invokestatic sun.security.x509.AlgorithmId.parse:(Lsun/security/util/DerValue;)Lsun/security/x509/AlgorithmId;
astore 4
start local 4 10: aload 3
invokevirtual sun.security.util.DerInputStream.getDerValue:()Lsun/security/util/DerValue;
astore 5
start local 5 11: aload 3
invokevirtual sun.security.util.DerInputStream.available:()I
ifle 13
12: new java.io.IOException
dup
ldc "Unknown field in CMSAlgorithmProtection"
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
13: StackMap locals: sun.security.pkcs.SignerInfo sun.security.pkcs.PKCS9Attribute sun.security.util.DerValue sun.security.util.DerInputStream sun.security.x509.AlgorithmId sun.security.util.DerValue
StackMap stack:
aload 5
iconst_1
invokevirtual sun.security.util.DerValue.isContextSpecific:(B)Z
ifne 15
14: new java.io.IOException
dup
ldc "No signature algorithm in CMSAlgorithmProtection"
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
15: StackMap locals:
StackMap stack:
aload 5
bipush 48
invokevirtual sun.security.util.DerValue.withTag:(B)Lsun/security/util/DerValue;
invokestatic sun.security.x509.AlgorithmId.parse:(Lsun/security/util/DerValue;)Lsun/security/x509/AlgorithmId;
astore 6
start local 6 16: aload 6
aload 0
getfield sun.security.pkcs.SignerInfo.digestEncryptionAlgorithmId:Lsun/security/x509/AlgorithmId;
invokevirtual sun.security.x509.AlgorithmId.equals:(Lsun/security/x509/AlgorithmId;)Z
ifeq 18
17: aload 4
aload 0
getfield sun.security.pkcs.SignerInfo.digestAlgorithmId:Lsun/security/x509/AlgorithmId;
invokevirtual sun.security.x509.AlgorithmId.equals:(Lsun/security/x509/AlgorithmId;)Z
ifne 19
18: StackMap locals: sun.security.x509.AlgorithmId
StackMap stack:
new java.io.IOException
dup
ldc "CMSAlgorithmProtection check failed"
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
19: StackMap locals:
StackMap stack:
return
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 this Lsun/security/pkcs/SignerInfo;
5 20 1 ap Lsun/security/pkcs/PKCS9Attribute;
8 20 2 dv Lsun/security/util/DerValue;
9 20 3 data Lsun/security/util/DerInputStream;
10 20 4 d Lsun/security/x509/AlgorithmId;
11 20 5 ds Lsun/security/util/DerValue;
16 20 6 s Lsun/security/x509/AlgorithmId;
Exceptions:
throws java.io.IOException
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.getSubjectX500Principal:()Ljavax/security/auth/x500/X500Principal;
aload 2
invokevirtual java.security.cert.X509Certificate.getIssuerX500Principal:()Ljavax/security/auth/x500/X500Principal;
invokevirtual javax.security.auth.x500.X500Principal.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.getIssuerX500Principal:()Ljavax/security/auth/x500/X500Principal;
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.getSubjectX500Principal:()Ljavax/security/auth/x500/X500Principal;
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.getSubjectX500Principal:()Ljavax/security/auth/x500/X500Principal;
17: aload 4
iload 8
aaload
invokevirtual java.security.cert.X509Certificate.getIssuerX500Principal:()Ljavax/security/auth/x500/X500Principal;
18: invokevirtual javax.security.auth.x500.X500Principal.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.getIssuerX500Principal:()Ljavax/security/auth/x500/X500Principal;
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=14, 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
getfield sun.security.pkcs.SignerInfo.authenticatedAttributes:Lsun/security/pkcs/PKCS9Attributes;
ifnonnull 12
10: aload 2
astore 6
start local 6 11: goto 57
end local 6 12: StackMap locals: sun.security.util.ConstraintsParameters
StackMap stack:
aload 0
getfield sun.security.pkcs.SignerInfo.authenticatedAttributes:Lsun/security/pkcs/PKCS9Attributes;
13: getstatic sun.security.pkcs.PKCS9Attribute.CONTENT_TYPE_OID:Lsun/security/util/ObjectIdentifier;
14: invokevirtual sun.security.pkcs.PKCS9Attributes.getAttributeValue:(Lsun/security/util/ObjectIdentifier;)Ljava/lang/Object;
15: checkcast sun.security.util.ObjectIdentifier
astore 7
start local 7 16: aload 7
ifnull 18
17: aload 7
aload 3
getfield sun.security.pkcs.ContentInfo.contentType:Lsun/security/util/ObjectIdentifier;
invokevirtual sun.security.util.ObjectIdentifier.equals:(Ljava/lang/Object;)Z
ifne 19
18: StackMap locals: sun.security.pkcs.SignerInfo sun.security.pkcs.PKCS7 byte[] sun.security.pkcs.ContentInfo java.security.Timestamp sun.security.util.ConstraintsParameters top sun.security.util.ObjectIdentifier
StackMap stack:
aconst_null
areturn
19: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.pkcs.SignerInfo.authenticatedAttributes:Lsun/security/pkcs/PKCS9Attributes;
20: getstatic sun.security.pkcs.PKCS9Attribute.MESSAGE_DIGEST_OID:Lsun/security/util/ObjectIdentifier;
21: invokevirtual sun.security.pkcs.PKCS9Attributes.getAttributeValue:(Lsun/security/util/ObjectIdentifier;)Ljava/lang/Object;
22: checkcast byte[]
astore 8
start local 8 23: aload 8
ifnonnull 25
24: aconst_null
areturn
25: StackMap locals: byte[]
StackMap stack:
aload 0
getfield sun.security.pkcs.SignerInfo.digestAlgorithmId:Lsun/security/x509/AlgorithmId;
invokevirtual sun.security.x509.AlgorithmId.getName:()Ljava/lang/String;
astore 9
start local 9 26: getstatic sun.security.pkcs.SignerInfo.JAR_DISABLED_CHECK:Lsun/security/util/DisabledAlgorithmConstraints;
aload 9
aload 5
invokevirtual sun.security.util.DisabledAlgorithmConstraints.permits:(Ljava/lang/String;Lsun/security/util/ConstraintsParameters;)V
27: goto 30
StackMap locals: sun.security.pkcs.SignerInfo sun.security.pkcs.PKCS7 byte[] sun.security.pkcs.ContentInfo java.security.Timestamp sun.security.util.ConstraintsParameters top sun.security.util.ObjectIdentifier byte[] java.lang.String
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 9
ldc "SHAKE256"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 32
31: aload 9
ldc "SHAKE256-LEN"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 46
32: StackMap locals:
StackMap stack:
aload 9
ldc "SHAKE256-LEN"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 42
33: new sun.security.util.DerValue
dup
aload 0
getfield sun.security.pkcs.SignerInfo.digestAlgorithmId:Lsun/security/x509/AlgorithmId;
34: invokevirtual sun.security.x509.AlgorithmId.getEncodedParams:()[B
35: invokespecial sun.security.util.DerValue.<init>:([B)V
36: invokevirtual sun.security.util.DerValue.getInteger:()I
37: istore 11
start local 11 38: iload 11
sipush 512
if_icmpeq 42
39: new java.security.SignatureException
dup
40: new java.lang.StringBuilder
dup
ldc "Unsupported id-shake256-"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 11
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
41: invokespecial java.security.SignatureException.<init>:(Ljava/lang/String;)V
athrow
end local 11 42: StackMap locals:
StackMap stack:
new sun.security.provider.SHAKE256
dup
bipush 64
invokespecial sun.security.provider.SHAKE256.<init>:(I)V
astore 11
start local 11 43: aload 11
aload 2
iconst_0
aload 2
arraylength
invokevirtual sun.security.provider.SHAKE256.update:([BII)V
44: aload 11
invokevirtual sun.security.provider.SHAKE256.digest:()[B
astore 10
end local 11 start local 10 45: goto 48
end local 10 46: StackMap locals:
StackMap stack:
aload 9
invokestatic java.security.MessageDigest.getInstance:(Ljava/lang/String;)Ljava/security/MessageDigest;
astore 11
start local 11 47: aload 11
aload 2
invokevirtual java.security.MessageDigest.digest:([B)[B
astore 10
end local 11 start local 10 48: StackMap locals: byte[]
StackMap stack:
aload 8
arraylength
aload 10
arraylength
if_icmpeq 50
49: aconst_null
areturn
50: StackMap locals:
StackMap stack:
iconst_0
istore 11
start local 11 51: goto 55
52: StackMap locals: int
StackMap stack:
aload 8
iload 11
baload
aload 10
iload 11
baload
if_icmpeq 54
53: aconst_null
areturn
54: StackMap locals:
StackMap stack:
iinc 11 1
StackMap locals:
StackMap stack:
55: iload 11
aload 8
arraylength
if_icmplt 52
end local 11 56: aload 0
getfield sun.security.pkcs.SignerInfo.authenticatedAttributes:Lsun/security/pkcs/PKCS9Attributes;
invokevirtual sun.security.pkcs.PKCS9Attributes.getDerEncoding:()[B
astore 6
end local 10 end local 9 end local 8 end local 7 start local 6 57: StackMap locals: sun.security.pkcs.SignerInfo sun.security.pkcs.PKCS7 byte[] sun.security.pkcs.ContentInfo java.security.Timestamp sun.security.util.ConstraintsParameters byte[]
StackMap stack:
aload 0
getfield sun.security.pkcs.SignerInfo.digestAlgorithmId:Lsun/security/x509/AlgorithmId;
58: aload 0
getfield sun.security.pkcs.SignerInfo.digestEncryptionAlgorithmId:Lsun/security/x509/AlgorithmId;
59: aload 0
getfield sun.security.pkcs.SignerInfo.authenticatedAttributes:Lsun/security/pkcs/PKCS9Attributes;
ifnonnull 60
iconst_1
goto 61
StackMap locals: sun.security.pkcs.SignerInfo sun.security.pkcs.PKCS7 byte[] sun.security.pkcs.ContentInfo java.security.Timestamp sun.security.util.ConstraintsParameters byte[]
StackMap stack: sun.security.x509.AlgorithmId sun.security.x509.AlgorithmId
60: iconst_0
61: StackMap locals: sun.security.pkcs.SignerInfo sun.security.pkcs.PKCS7 byte[] sun.security.pkcs.ContentInfo java.security.Timestamp sun.security.util.ConstraintsParameters byte[]
StackMap stack: sun.security.x509.AlgorithmId sun.security.x509.AlgorithmId int
invokestatic sun.security.pkcs.SignerInfo.makeSigAlg:(Lsun/security/x509/AlgorithmId;Lsun/security/x509/AlgorithmId;Z)Ljava/lang/String;
astore 7
start local 7 62: getstatic sun.security.pkcs.SignerInfo.JAR_DISABLED_CHECK:Lsun/security/util/DisabledAlgorithmConstraints;
aload 7
aload 5
invokevirtual sun.security.util.DisabledAlgorithmConstraints.permits:(Ljava/lang/String;Lsun/security/util/ConstraintsParameters;)V
63: goto 66
StackMap locals: sun.security.pkcs.SignerInfo sun.security.pkcs.PKCS7 byte[] sun.security.pkcs.ContentInfo java.security.Timestamp sun.security.util.ConstraintsParameters byte[] java.lang.String
StackMap stack: java.security.cert.CertPathValidatorException
64: astore 8
start local 8 65: new java.security.SignatureException
dup
aload 8
invokevirtual java.security.cert.CertPathValidatorException.getMessage:()Ljava/lang/String;
aload 8
invokespecial java.security.SignatureException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 8 66: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual sun.security.pkcs.SignerInfo.getCertificate:(Lsun/security/pkcs/PKCS7;)Ljava/security/cert/X509Certificate;
astore 8
start local 8 67: aload 8
ifnonnull 69
68: aconst_null
areturn
69: StackMap locals: java.security.cert.X509Certificate
StackMap stack:
aload 8
invokevirtual java.security.cert.X509Certificate.getPublicKey:()Ljava/security/PublicKey;
astore 9
start local 9 70: getstatic sun.security.pkcs.SignerInfo.JAR_DISABLED_CHECK:Lsun/security/util/DisabledAlgorithmConstraints;
getstatic sun.security.pkcs.SignerInfo.SIG_PRIMITIVE_SET:Ljava/util/Set;
aload 9
invokevirtual sun.security.util.DisabledAlgorithmConstraints.permits:(Ljava/util/Set;Ljava/security/Key;)Z
ifne 75
71: 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
72: aload 9
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;
73: aload 9
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;
74: invokespecial java.security.SignatureException.<init>:(Ljava/lang/String;)V
athrow
75: StackMap locals: java.security.PublicKey
StackMap stack:
aload 8
invokevirtual java.security.cert.X509Certificate.hasUnsupportedCriticalExtension:()Z
ifeq 77
76: new java.security.SignatureException
dup
ldc "Certificate has unsupported critical extension(s)"
invokespecial java.security.SignatureException.<init>:(Ljava/lang/String;)V
athrow
77: StackMap locals:
StackMap stack:
aload 8
invokevirtual java.security.cert.X509Certificate.getKeyUsage:()[Z
astore 10
start local 10 78: aload 10
ifnull 89
79: new sun.security.x509.KeyUsageExtension
dup
aload 10
invokespecial sun.security.x509.KeyUsageExtension.<init>:([Z)V
astore 11
start local 11 80: goto 83
end local 11 StackMap locals: sun.security.pkcs.SignerInfo sun.security.pkcs.PKCS7 byte[] sun.security.pkcs.ContentInfo java.security.Timestamp sun.security.util.ConstraintsParameters byte[] java.lang.String java.security.cert.X509Certificate java.security.PublicKey boolean[]
StackMap stack: java.io.IOException
81: pop
82: new java.security.SignatureException
dup
ldc "Failed to parse keyUsage extension"
invokespecial java.security.SignatureException.<init>:(Ljava/lang/String;)V
athrow
start local 11 83: StackMap locals: sun.security.x509.KeyUsageExtension
StackMap stack:
aload 11
ldc "digital_signature"
invokevirtual sun.security.x509.KeyUsageExtension.get:(Ljava/lang/String;)Ljava/lang/Boolean;
invokevirtual java.lang.Boolean.booleanValue:()Z
84: istore 12
start local 12 85: aload 11
ldc "non_repudiation"
invokevirtual sun.security.x509.KeyUsageExtension.get:(Ljava/lang/String;)Ljava/lang/Boolean;
invokevirtual java.lang.Boolean.booleanValue:()Z
86: istore 13
start local 13 87: iload 12
ifne 89
iload 13
ifne 89
88: 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 13 end local 12 end local 11 89: StackMap locals:
StackMap stack:
aload 7
invokestatic java.security.Signature.getInstance:(Ljava/lang/String;)Ljava/security/Signature;
astore 11
start local 11 90: aload 0
getfield sun.security.pkcs.SignerInfo.digestEncryptionAlgorithmId:Lsun/security/x509/AlgorithmId;
invokevirtual sun.security.x509.AlgorithmId.getParameters:()Ljava/security/AlgorithmParameters;
91: astore 12
start local 12 92: aload 11
aload 9
93: aload 7
aload 12
invokestatic sun.security.util.SignatureUtil.getParamSpec:(Ljava/lang/String;Ljava/security/AlgorithmParameters;)Ljava/security/spec/AlgorithmParameterSpec;
94: invokestatic sun.security.util.SignatureUtil.initVerifyWithParam:(Ljava/security/Signature;Ljava/security/PublicKey;Ljava/security/spec/AlgorithmParameterSpec;)V
95: goto 98
96: StackMap locals: sun.security.pkcs.SignerInfo sun.security.pkcs.PKCS7 byte[] sun.security.pkcs.ContentInfo java.security.Timestamp sun.security.util.ConstraintsParameters byte[] java.lang.String java.security.cert.X509Certificate java.security.PublicKey boolean[] java.security.Signature java.security.AlgorithmParameters
StackMap stack: java.lang.Exception
astore 13
start local 13 97: new java.security.SignatureException
dup
aload 13
invokevirtual java.lang.Exception.getMessage:()Ljava/lang/String;
aload 13
invokespecial java.security.SignatureException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 13 98: StackMap locals:
StackMap stack:
aload 11
aload 6
invokevirtual java.security.Signature.update:([B)V
99: aload 11
aload 0
getfield sun.security.pkcs.SignerInfo.encryptedDigest:[B
invokevirtual java.security.Signature.verify:([B)Z
ifeq 106
100: aload 0
101: areturn
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 102: StackMap locals: sun.security.pkcs.SignerInfo sun.security.pkcs.PKCS7 byte[]
StackMap stack: java.io.IOException
astore 3
start local 3 103: 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
104: 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;
105: invokespecial java.security.SignatureException.<init>:(Ljava/lang/String;)V
athrow
end local 3 106: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 107 0 this Lsun/security/pkcs/SignerInfo;
0 107 1 block Lsun/security/pkcs/PKCS7;
0 107 2 data [B
1 102 3 content Lsun/security/pkcs/ContentInfo;
4 102 4 timestamp Ljava/security/Timestamp;
9 102 5 cparams Lsun/security/util/ConstraintsParameters;
11 12 6 dataSigned [B
57 102 6 dataSigned [B
16 57 7 contentType Lsun/security/util/ObjectIdentifier;
23 57 8 messageDigest [B
26 57 9 digestAlgname Ljava/lang/String;
29 30 10 e Ljava/security/cert/CertPathValidatorException;
45 46 10 computedMessageDigest [B
48 57 10 computedMessageDigest [B
38 42 11 v I
43 45 11 md Lsun/security/provider/SHAKE256;
47 48 11 md Ljava/security/MessageDigest;
51 56 11 i I
62 102 7 algname Ljava/lang/String;
65 66 8 e Ljava/security/cert/CertPathValidatorException;
67 102 8 cert Ljava/security/cert/X509Certificate;
70 102 9 key Ljava/security/PublicKey;
78 102 10 keyUsageBits [Z
80 81 11 keyUsage Lsun/security/x509/KeyUsageExtension;
83 89 11 keyUsage Lsun/security/x509/KeyUsageExtension;
85 89 12 digSigAllowed Z
87 89 13 nonRepuAllowed Z
90 102 11 sig Ljava/security/Signature;
92 102 12 ap Ljava/security/AlgorithmParameters;
97 98 13 e Ljava/lang/Exception;
103 106 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
62 63 64 Class java.security.cert.CertPathValidatorException
79 80 81 Class java.io.IOException
92 95 96 Class java.security.ProviderException
92 95 96 Class java.security.InvalidAlgorithmParameterException
92 95 96 Class java.security.InvalidKeyException
0 18 102 Class java.io.IOException
19 24 102 Class java.io.IOException
25 49 102 Class java.io.IOException
50 53 102 Class java.io.IOException
54 68 102 Class java.io.IOException
69 101 102 Class java.io.IOException
Exceptions:
throws java.security.NoSuchAlgorithmException, java.security.SignatureException
MethodParameters:
Name Flags
block
data
public static java.lang.String makeSigAlg(sun.security.x509.AlgorithmId, sun.security.x509.AlgorithmId, boolean);
descriptor: (Lsun/security/x509/AlgorithmId;Lsun/security/x509/AlgorithmId;Z)Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=8, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokevirtual sun.security.x509.AlgorithmId.getName:()Ljava/lang/String;
astore 3
start local 3 1: aload 3
dup
astore 4
invokevirtual java.lang.String.hashCode:()I
lookupswitch { // 3
-276032869: 2
66753689: 3
1775481508: 4
default: 19
}
StackMap locals: java.lang.String java.lang.String
StackMap stack:
2: aload 4
ldc "Ed25519"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 10
goto 19
StackMap locals:
StackMap stack:
3: aload 4
ldc "Ed448"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 13
goto 19
StackMap locals:
StackMap stack:
4: aload 4
ldc "RSASSA-PSS"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 5
goto 19
5: StackMap locals:
StackMap stack:
aload 3
aload 1
invokevirtual sun.security.x509.AlgorithmId.getParameters:()Ljava/security/AlgorithmParameters;
invokestatic sun.security.util.SignatureUtil.getParamSpec:(Ljava/lang/String;Ljava/security/AlgorithmParameters;)Ljava/security/spec/AlgorithmParameterSpec;
6: checkcast java.security.spec.PSSParameterSpec
astore 5
start local 5 7: aload 5
invokevirtual java.security.spec.PSSParameterSpec.getDigestAlgorithm:()Ljava/lang/String;
invokestatic sun.security.x509.AlgorithmId.get:(Ljava/lang/String;)Lsun/security/x509/AlgorithmId;
aload 0
invokevirtual sun.security.x509.AlgorithmId.equals:(Lsun/security/x509/AlgorithmId;)Z
ifne 9
8: new java.security.NoSuchAlgorithmException
dup
ldc "Incompatible digest algorithm"
invokespecial java.security.NoSuchAlgorithmException.<init>:(Ljava/lang/String;)V
athrow
9: StackMap locals: java.security.spec.PSSParameterSpec
StackMap stack:
aload 3
areturn
end local 5 10: StackMap locals:
StackMap stack:
aload 0
getstatic sun.security.util.SignatureUtil$EdDSADigestAlgHolder.sha512:Lsun/security/x509/AlgorithmId;
invokevirtual sun.security.x509.AlgorithmId.equals:(Lsun/security/x509/AlgorithmId;)Z
ifne 12
11: new java.security.NoSuchAlgorithmException
dup
ldc "Incompatible digest algorithm"
invokespecial java.security.NoSuchAlgorithmException.<init>:(Ljava/lang/String;)V
athrow
12: StackMap locals:
StackMap stack:
aload 3
areturn
13: StackMap locals:
StackMap stack:
iload 2
ifeq 16
14: aload 0
getstatic sun.security.util.SignatureUtil$EdDSADigestAlgHolder.shake256:Lsun/security/x509/AlgorithmId;
invokevirtual sun.security.x509.AlgorithmId.equals:(Lsun/security/x509/AlgorithmId;)Z
ifne 18
15: new java.security.NoSuchAlgorithmException
dup
ldc "Incompatible digest algorithm"
invokespecial java.security.NoSuchAlgorithmException.<init>:(Ljava/lang/String;)V
athrow
16: StackMap locals:
StackMap stack:
aload 0
getstatic sun.security.util.SignatureUtil$EdDSADigestAlgHolder.shake256$512:Lsun/security/x509/AlgorithmId;
invokevirtual sun.security.x509.AlgorithmId.equals:(Lsun/security/x509/AlgorithmId;)Z
ifne 18
17: new java.security.NoSuchAlgorithmException
dup
ldc "Incompatible digest algorithm"
invokespecial java.security.NoSuchAlgorithmException.<init>:(Ljava/lang/String;)V
athrow
18: StackMap locals:
StackMap stack:
aload 3
areturn
19: StackMap locals:
StackMap stack:
aload 0
invokevirtual sun.security.x509.AlgorithmId.getName:()Ljava/lang/String;
astore 6
start local 6 20: aload 3
invokestatic sun.security.util.SignatureUtil.extractKeyAlgFromDwithE:(Ljava/lang/String;)Ljava/lang/String;
astore 7
start local 7 21: aload 7
ifnonnull 23
22: aload 3
astore 7
23: StackMap locals: sun.security.x509.AlgorithmId sun.security.x509.AlgorithmId int java.lang.String java.lang.String top java.lang.String java.lang.String
StackMap stack:
aload 6
ldc "SHA-"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 25
24: new java.lang.StringBuilder
dup
ldc "SHA"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 6
iconst_4
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 6
25: StackMap locals:
StackMap stack:
aload 7
ldc "EC"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 26
ldc "ECDSA"
astore 7
26: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
aload 6
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "with"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 7
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 7 end local 6 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 27 0 digAlgId Lsun/security/x509/AlgorithmId;
0 27 1 encAlgId Lsun/security/x509/AlgorithmId;
0 27 2 directSign Z
1 27 3 encAlg Ljava/lang/String;
7 10 5 spec Ljava/security/spec/PSSParameterSpec;
20 27 6 digAlg Ljava/lang/String;
21 27 7 keyAlg Ljava/lang/String;
Exceptions:
throws java.security.NoSuchAlgorithmException
MethodParameters:
Name Flags
digAlgId
encAlgId
directSign
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"
InnerClasses:
public EdDSADigestAlgHolder = sun.security.util.SignatureUtil$EdDSADigestAlgHolder of sun.security.util.SignatureUtil