public class sun.security.pkcs.PKCS7
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: sun.security.pkcs.PKCS7
super_class: java.lang.Object
{
private sun.security.util.ObjectIdentifier contentType;
descriptor: Lsun/security/util/ObjectIdentifier;
flags: (0x0002) ACC_PRIVATE
private java.math.BigInteger version;
descriptor: Ljava/math/BigInteger;
flags: (0x0002) ACC_PRIVATE
private sun.security.x509.AlgorithmId[] digestAlgorithmIds;
descriptor: [Lsun/security/x509/AlgorithmId;
flags: (0x0002) ACC_PRIVATE
private sun.security.pkcs.ContentInfo contentInfo;
descriptor: Lsun/security/pkcs/ContentInfo;
flags: (0x0002) ACC_PRIVATE
private java.security.cert.X509Certificate[] certificates;
descriptor: [Ljava/security/cert/X509Certificate;
flags: (0x0002) ACC_PRIVATE
private java.security.cert.X509CRL[] crls;
descriptor: [Ljava/security/cert/X509CRL;
flags: (0x0002) ACC_PRIVATE
private sun.security.pkcs.SignerInfo[] signerInfos;
descriptor: [Lsun/security/pkcs/SignerInfo;
flags: (0x0002) ACC_PRIVATE
private boolean oldStyle;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private java.security.Principal[] certIssuerNames;
descriptor: [Ljava/security/Principal;
flags: (0x0002) ACC_PRIVATE
private static final java.lang.String KP_TIMESTAMPING_OID;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "1.3.6.1.5.5.7.3.8"
private static final java.lang.String EXTENDED_KEY_USAGE_OID;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "2.5.29.37"
public void <init>(java.io.InputStream);
descriptor: (Ljava/io/InputStream;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aconst_null
putfield sun.security.pkcs.PKCS7.version:Ljava/math/BigInteger;
2: aload 0
aconst_null
putfield sun.security.pkcs.PKCS7.digestAlgorithmIds:[Lsun/security/x509/AlgorithmId;
3: aload 0
aconst_null
putfield sun.security.pkcs.PKCS7.contentInfo:Lsun/security/pkcs/ContentInfo;
4: aload 0
aconst_null
putfield sun.security.pkcs.PKCS7.certificates:[Ljava/security/cert/X509Certificate;
5: aload 0
aconst_null
putfield sun.security.pkcs.PKCS7.crls:[Ljava/security/cert/X509CRL;
6: aload 0
aconst_null
putfield sun.security.pkcs.PKCS7.signerInfos:[Lsun/security/pkcs/SignerInfo;
7: aload 0
iconst_0
putfield sun.security.pkcs.PKCS7.oldStyle:Z
8: new java.io.DataInputStream
dup
aload 1
invokespecial java.io.DataInputStream.<init>:(Ljava/io/InputStream;)V
astore 2
start local 2 9: aload 2
invokevirtual java.io.DataInputStream.available:()I
newarray 8
astore 3
start local 3 10: aload 2
aload 3
invokevirtual java.io.DataInputStream.readFully:([B)V
11: aload 0
new sun.security.util.DerInputStream
dup
aload 3
invokespecial sun.security.util.DerInputStream.<init>:([B)V
invokevirtual sun.security.pkcs.PKCS7.parse:(Lsun/security/util/DerInputStream;)V
12: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lsun/security/pkcs/PKCS7;
0 13 1 in Ljava/io/InputStream;
9 13 2 dis Ljava/io/DataInputStream;
10 13 3 data [B
Exceptions:
throws sun.security.pkcs.ParsingException, java.io.IOException
MethodParameters:
Name Flags
in
public void <init>(sun.security.util.DerInputStream);
descriptor: (Lsun/security/util/DerInputStream;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aconst_null
putfield sun.security.pkcs.PKCS7.version:Ljava/math/BigInteger;
2: aload 0
aconst_null
putfield sun.security.pkcs.PKCS7.digestAlgorithmIds:[Lsun/security/x509/AlgorithmId;
3: aload 0
aconst_null
putfield sun.security.pkcs.PKCS7.contentInfo:Lsun/security/pkcs/ContentInfo;
4: aload 0
aconst_null
putfield sun.security.pkcs.PKCS7.certificates:[Ljava/security/cert/X509Certificate;
5: aload 0
aconst_null
putfield sun.security.pkcs.PKCS7.crls:[Ljava/security/cert/X509CRL;
6: aload 0
aconst_null
putfield sun.security.pkcs.PKCS7.signerInfos:[Lsun/security/pkcs/SignerInfo;
7: aload 0
iconst_0
putfield sun.security.pkcs.PKCS7.oldStyle:Z
8: aload 0
aload 1
invokevirtual sun.security.pkcs.PKCS7.parse:(Lsun/security/util/DerInputStream;)V
9: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lsun/security/pkcs/PKCS7;
0 10 1 derin Lsun/security/util/DerInputStream;
Exceptions:
throws sun.security.pkcs.ParsingException
MethodParameters:
Name Flags
derin
public void <init>(byte[]);
descriptor: ([B)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aconst_null
putfield sun.security.pkcs.PKCS7.version:Ljava/math/BigInteger;
2: aload 0
aconst_null
putfield sun.security.pkcs.PKCS7.digestAlgorithmIds:[Lsun/security/x509/AlgorithmId;
3: aload 0
aconst_null
putfield sun.security.pkcs.PKCS7.contentInfo:Lsun/security/pkcs/ContentInfo;
4: aload 0
aconst_null
putfield sun.security.pkcs.PKCS7.certificates:[Ljava/security/cert/X509Certificate;
5: aload 0
aconst_null
putfield sun.security.pkcs.PKCS7.crls:[Ljava/security/cert/X509CRL;
6: aload 0
aconst_null
putfield sun.security.pkcs.PKCS7.signerInfos:[Lsun/security/pkcs/SignerInfo;
7: aload 0
iconst_0
putfield sun.security.pkcs.PKCS7.oldStyle:Z
8: new sun.security.util.DerInputStream
dup
aload 1
invokespecial sun.security.util.DerInputStream.<init>:([B)V
astore 2
start local 2 9: aload 0
aload 2
invokevirtual sun.security.pkcs.PKCS7.parse:(Lsun/security/util/DerInputStream;)V
end local 2 10: goto 17
StackMap locals: sun.security.pkcs.PKCS7 byte[]
StackMap stack: java.io.IOException
11: astore 2
start local 2 12: new sun.security.pkcs.ParsingException
dup
13: ldc "Unable to parse the encoded bytes"
14: invokespecial sun.security.pkcs.ParsingException.<init>:(Ljava/lang/String;)V
astore 3
start local 3 15: aload 3
aload 2
invokevirtual sun.security.pkcs.ParsingException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
pop
16: aload 3
athrow
end local 3 end local 2 17: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Lsun/security/pkcs/PKCS7;
0 18 1 bytes [B
9 10 2 derin Lsun/security/util/DerInputStream;
12 17 2 ioe1 Ljava/io/IOException;
15 17 3 pe Lsun/security/pkcs/ParsingException;
Exception table:
from to target type
8 10 11 Class java.io.IOException
Exceptions:
throws sun.security.pkcs.ParsingException
MethodParameters:
Name Flags
bytes
private void parse(sun.security.util.DerInputStream);
descriptor: (Lsun/security/util/DerInputStream;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=5, args_size=2
start local 0 start local 1 0: aload 1
aload 1
invokevirtual sun.security.util.DerInputStream.available:()I
invokevirtual sun.security.util.DerInputStream.mark:(I)V
1: aload 0
aload 1
iconst_0
invokevirtual sun.security.pkcs.PKCS7.parse:(Lsun/security/util/DerInputStream;Z)V
2: goto 15
StackMap locals:
StackMap stack: java.io.IOException
3: astore 2
start local 2 4: aload 1
invokevirtual sun.security.util.DerInputStream.reset:()V
5: aload 0
aload 1
iconst_1
invokevirtual sun.security.pkcs.PKCS7.parse:(Lsun/security/util/DerInputStream;Z)V
6: aload 0
iconst_1
putfield sun.security.pkcs.PKCS7.oldStyle:Z
7: goto 15
StackMap locals: sun.security.pkcs.PKCS7 sun.security.util.DerInputStream java.io.IOException
StackMap stack: java.io.IOException
8: astore 3
start local 3 9: new sun.security.pkcs.ParsingException
dup
10: aload 3
invokevirtual java.io.IOException.getMessage:()Ljava/lang/String;
11: invokespecial sun.security.pkcs.ParsingException.<init>:(Ljava/lang/String;)V
astore 4
start local 4 12: aload 4
aload 2
invokevirtual sun.security.pkcs.ParsingException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
pop
13: aload 4
aload 3
invokevirtual sun.security.pkcs.ParsingException.addSuppressed:(Ljava/lang/Throwable;)V
14: aload 4
athrow
end local 4 end local 3 end local 2 15: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Lsun/security/pkcs/PKCS7;
0 16 1 derin Lsun/security/util/DerInputStream;
4 15 2 ioe Ljava/io/IOException;
9 15 3 ioe1 Ljava/io/IOException;
12 15 4 pe Lsun/security/pkcs/ParsingException;
Exception table:
from to target type
0 2 3 Class java.io.IOException
4 7 8 Class java.io.IOException
Exceptions:
throws sun.security.pkcs.ParsingException
MethodParameters:
Name Flags
derin
private void parse(sun.security.util.DerInputStream, boolean);
descriptor: (Lsun/security/util/DerInputStream;Z)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
new sun.security.pkcs.ContentInfo
dup
aload 1
iload 2
invokespecial sun.security.pkcs.ContentInfo.<init>:(Lsun/security/util/DerInputStream;Z)V
putfield sun.security.pkcs.PKCS7.contentInfo:Lsun/security/pkcs/ContentInfo;
1: aload 0
aload 0
getfield sun.security.pkcs.PKCS7.contentInfo:Lsun/security/pkcs/ContentInfo;
getfield sun.security.pkcs.ContentInfo.contentType:Lsun/security/util/ObjectIdentifier;
putfield sun.security.pkcs.PKCS7.contentType:Lsun/security/util/ObjectIdentifier;
2: aload 0
getfield sun.security.pkcs.PKCS7.contentInfo:Lsun/security/pkcs/ContentInfo;
invokevirtual sun.security.pkcs.ContentInfo.getContent:()Lsun/security/util/DerValue;
astore 3
start local 3 3: aload 0
getfield sun.security.pkcs.PKCS7.contentType:Lsun/security/util/ObjectIdentifier;
getstatic sun.security.pkcs.ContentInfo.SIGNED_DATA_OID:Lsun/security/util/ObjectIdentifier;
invokevirtual sun.security.util.ObjectIdentifier.equals:(Ljava/lang/Object;)Z
ifeq 6
4: aload 0
aload 3
invokevirtual sun.security.pkcs.PKCS7.parseSignedData:(Lsun/security/util/DerValue;)V
5: goto 18
StackMap locals: sun.security.util.DerValue
StackMap stack:
6: aload 0
getfield sun.security.pkcs.PKCS7.contentType:Lsun/security/util/ObjectIdentifier;
getstatic sun.security.pkcs.ContentInfo.OLD_SIGNED_DATA_OID:Lsun/security/util/ObjectIdentifier;
invokevirtual sun.security.util.ObjectIdentifier.equals:(Ljava/lang/Object;)Z
ifeq 9
7: aload 0
aload 3
invokevirtual sun.security.pkcs.PKCS7.parseOldSignedData:(Lsun/security/util/DerValue;)V
8: goto 18
StackMap locals:
StackMap stack:
9: aload 0
getfield sun.security.pkcs.PKCS7.contentType:Lsun/security/util/ObjectIdentifier;
10: getstatic sun.security.pkcs.ContentInfo.NETSCAPE_CERT_SEQUENCE_OID:Lsun/security/util/ObjectIdentifier;
11: invokevirtual sun.security.util.ObjectIdentifier.equals:(Ljava/lang/Object;)Z
12: ifeq 15
13: aload 0
aload 3
invokevirtual sun.security.pkcs.PKCS7.parseNetscapeCertChain:(Lsun/security/util/DerValue;)V
14: goto 18
15: StackMap locals:
StackMap stack:
new sun.security.pkcs.ParsingException
dup
new java.lang.StringBuilder
dup
ldc "content type "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield sun.security.pkcs.PKCS7.contentType:Lsun/security/util/ObjectIdentifier;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
16: ldc " not supported."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
17: invokespecial sun.security.pkcs.ParsingException.<init>:(Ljava/lang/String;)V
athrow
18: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Lsun/security/pkcs/PKCS7;
0 19 1 derin Lsun/security/util/DerInputStream;
0 19 2 oldStyle Z
3 19 3 content Lsun/security/util/DerValue;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
derin
oldStyle
public void <init>(sun.security.x509.AlgorithmId[], sun.security.pkcs.ContentInfo, java.security.cert.X509Certificate[], java.security.cert.X509CRL[], sun.security.pkcs.SignerInfo[]);
descriptor: ([Lsun/security/x509/AlgorithmId;Lsun/security/pkcs/ContentInfo;[Ljava/security/cert/X509Certificate;[Ljava/security/cert/X509CRL;[Lsun/security/pkcs/SignerInfo;)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
aconst_null
putfield sun.security.pkcs.PKCS7.version:Ljava/math/BigInteger;
2: aload 0
aconst_null
putfield sun.security.pkcs.PKCS7.digestAlgorithmIds:[Lsun/security/x509/AlgorithmId;
3: aload 0
aconst_null
putfield sun.security.pkcs.PKCS7.contentInfo:Lsun/security/pkcs/ContentInfo;
4: aload 0
aconst_null
putfield sun.security.pkcs.PKCS7.certificates:[Ljava/security/cert/X509Certificate;
5: aload 0
aconst_null
putfield sun.security.pkcs.PKCS7.crls:[Ljava/security/cert/X509CRL;
6: aload 0
aconst_null
putfield sun.security.pkcs.PKCS7.signerInfos:[Lsun/security/pkcs/SignerInfo;
7: aload 0
iconst_0
putfield sun.security.pkcs.PKCS7.oldStyle:Z
8: aload 0
getstatic java.math.BigInteger.ONE:Ljava/math/BigInteger;
putfield sun.security.pkcs.PKCS7.version:Ljava/math/BigInteger;
9: aload 0
aload 1
putfield sun.security.pkcs.PKCS7.digestAlgorithmIds:[Lsun/security/x509/AlgorithmId;
10: aload 0
aload 2
putfield sun.security.pkcs.PKCS7.contentInfo:Lsun/security/pkcs/ContentInfo;
11: aload 0
aload 3
putfield sun.security.pkcs.PKCS7.certificates:[Ljava/security/cert/X509Certificate;
12: aload 0
aload 4
putfield sun.security.pkcs.PKCS7.crls:[Ljava/security/cert/X509CRL;
13: aload 0
aload 5
putfield sun.security.pkcs.PKCS7.signerInfos:[Lsun/security/pkcs/SignerInfo;
14: 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 15 0 this Lsun/security/pkcs/PKCS7;
0 15 1 digestAlgorithmIds [Lsun/security/x509/AlgorithmId;
0 15 2 contentInfo Lsun/security/pkcs/ContentInfo;
0 15 3 certificates [Ljava/security/cert/X509Certificate;
0 15 4 crls [Ljava/security/cert/X509CRL;
0 15 5 signerInfos [Lsun/security/pkcs/SignerInfo;
MethodParameters:
Name Flags
digestAlgorithmIds
contentInfo
certificates
crls
signerInfos
public void <init>(sun.security.x509.AlgorithmId[], sun.security.pkcs.ContentInfo, java.security.cert.X509Certificate[], sun.security.pkcs.SignerInfo[]);
descriptor: ([Lsun/security/x509/AlgorithmId;Lsun/security/pkcs/ContentInfo;[Ljava/security/cert/X509Certificate;[Lsun/security/pkcs/SignerInfo;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
aload 1
aload 2
aload 3
aconst_null
aload 4
invokespecial sun.security.pkcs.PKCS7.<init>:([Lsun/security/x509/AlgorithmId;Lsun/security/pkcs/ContentInfo;[Ljava/security/cert/X509Certificate;[Ljava/security/cert/X509CRL;[Lsun/security/pkcs/SignerInfo;)V
1: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/security/pkcs/PKCS7;
0 2 1 digestAlgorithmIds [Lsun/security/x509/AlgorithmId;
0 2 2 contentInfo Lsun/security/pkcs/ContentInfo;
0 2 3 certificates [Ljava/security/cert/X509Certificate;
0 2 4 signerInfos [Lsun/security/pkcs/SignerInfo;
MethodParameters:
Name Flags
digestAlgorithmIds
contentInfo
certificates
signerInfos
private void parseNetscapeCertChain(sun.security.util.DerValue);
descriptor: (Lsun/security/util/DerValue;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=10, args_size=2
start local 0 start local 1 0: new sun.security.util.DerInputStream
dup
aload 1
invokevirtual sun.security.util.DerValue.toByteArray:()[B
invokespecial sun.security.util.DerInputStream.<init>:([B)V
astore 2
start local 2 1: aload 2
iconst_2
invokevirtual sun.security.util.DerInputStream.getSequence:(I)[Lsun/security/util/DerValue;
astore 3
start local 3 2: aload 0
aload 3
arraylength
anewarray java.security.cert.X509Certificate
putfield sun.security.pkcs.PKCS7.certificates:[Ljava/security/cert/X509Certificate;
3: aconst_null
astore 4
start local 4 4: ldc "X.509"
invokestatic java.security.cert.CertificateFactory.getInstance:(Ljava/lang/String;)Ljava/security/cert/CertificateFactory;
astore 4
5: goto 7
StackMap locals: sun.security.pkcs.PKCS7 sun.security.util.DerValue sun.security.util.DerInputStream sun.security.util.DerValue[] java.security.cert.CertificateFactory
StackMap stack: java.security.cert.CertificateException
6: pop
7: StackMap locals:
StackMap stack:
iconst_0
istore 5
start local 5 8: goto 35
9: StackMap locals: int
StackMap stack:
aconst_null
astore 6
start local 6 10: aload 4
ifnonnull 12
11: aload 0
getfield sun.security.pkcs.PKCS7.certificates:[Ljava/security/cert/X509Certificate;
iload 5
new sun.security.x509.X509CertImpl
dup
aload 3
iload 5
aaload
invokespecial sun.security.x509.X509CertImpl.<init>:(Lsun/security/util/DerValue;)V
aastore
goto 32
12: StackMap locals: java.io.ByteArrayInputStream
StackMap stack:
aload 3
iload 5
aaload
invokevirtual sun.security.util.DerValue.toByteArray:()[B
astore 7
start local 7 13: new java.io.ByteArrayInputStream
dup
aload 7
invokespecial java.io.ByteArrayInputStream.<init>:([B)V
astore 6
14: aload 0
getfield sun.security.pkcs.PKCS7.certificates:[Ljava/security/cert/X509Certificate;
iload 5
15: aload 4
aload 6
invokevirtual java.security.cert.CertificateFactory.generateCertificate:(Ljava/io/InputStream;)Ljava/security/cert/Certificate;
checkcast java.security.cert.X509Certificate
16: aastore
17: aload 6
invokevirtual java.io.ByteArrayInputStream.close:()V
18: aconst_null
astore 6
end local 7 19: goto 32
StackMap locals:
StackMap stack: java.security.cert.CertificateException
20: astore 7
start local 7 21: new sun.security.pkcs.ParsingException
dup
aload 7
invokevirtual java.security.cert.CertificateException.getMessage:()Ljava/lang/String;
invokespecial sun.security.pkcs.ParsingException.<init>:(Ljava/lang/String;)V
astore 8
start local 8 22: aload 8
aload 7
invokevirtual sun.security.pkcs.ParsingException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
pop
23: aload 8
athrow
end local 8 end local 7 24: StackMap locals:
StackMap stack: java.io.IOException
astore 7
start local 7 25: new sun.security.pkcs.ParsingException
dup
aload 7
invokevirtual java.io.IOException.getMessage:()Ljava/lang/String;
invokespecial sun.security.pkcs.ParsingException.<init>:(Ljava/lang/String;)V
astore 8
start local 8 26: aload 8
aload 7
invokevirtual sun.security.pkcs.ParsingException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
pop
27: aload 8
athrow
end local 8 end local 7 28: StackMap locals:
StackMap stack: java.lang.Throwable
astore 9
29: aload 6
ifnull 31
30: aload 6
invokevirtual java.io.ByteArrayInputStream.close:()V
31: StackMap locals: sun.security.pkcs.PKCS7 sun.security.util.DerValue sun.security.util.DerInputStream sun.security.util.DerValue[] java.security.cert.CertificateFactory int java.io.ByteArrayInputStream top top java.lang.Throwable
StackMap stack:
aload 9
athrow
32: StackMap locals: sun.security.pkcs.PKCS7 sun.security.util.DerValue sun.security.util.DerInputStream sun.security.util.DerValue[] java.security.cert.CertificateFactory int java.io.ByteArrayInputStream
StackMap stack:
aload 6
ifnull 34
33: aload 6
invokevirtual java.io.ByteArrayInputStream.close:()V
end local 6 34: StackMap locals:
StackMap stack:
iinc 5 1
StackMap locals:
StackMap stack:
35: iload 5
aload 3
arraylength
if_icmplt 9
end local 5 36: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 37 0 this Lsun/security/pkcs/PKCS7;
0 37 1 val Lsun/security/util/DerValue;
1 37 2 dis Lsun/security/util/DerInputStream;
2 37 3 contents [Lsun/security/util/DerValue;
4 37 4 certfac Ljava/security/cert/CertificateFactory;
8 36 5 i I
10 34 6 bais Ljava/io/ByteArrayInputStream;
13 19 7 encoded [B
21 24 7 ce Ljava/security/cert/CertificateException;
22 24 8 pe Lsun/security/pkcs/ParsingException;
25 28 7 ioe Ljava/io/IOException;
26 28 8 pe Lsun/security/pkcs/ParsingException;
Exception table:
from to target type
4 5 6 Class java.security.cert.CertificateException
10 19 20 Class java.security.cert.CertificateException
10 19 24 Class java.io.IOException
10 28 28 any
Exceptions:
throws sun.security.pkcs.ParsingException, java.io.IOException
MethodParameters:
Name Flags
val
private void parseSignedData(sun.security.util.DerValue);
descriptor: (Lsun/security/util/DerValue;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=13, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual sun.security.util.DerValue.toDerInputStream:()Lsun/security/util/DerInputStream;
astore 2
start local 2 1: aload 0
aload 2
invokevirtual sun.security.util.DerInputStream.getBigInteger:()Ljava/math/BigInteger;
putfield sun.security.pkcs.PKCS7.version:Ljava/math/BigInteger;
2: aload 2
iconst_1
invokevirtual sun.security.util.DerInputStream.getSet:(I)[Lsun/security/util/DerValue;
astore 3
start local 3 3: aload 3
arraylength
istore 4
start local 4 4: aload 0
iload 4
anewarray sun.security.x509.AlgorithmId
putfield sun.security.pkcs.PKCS7.digestAlgorithmIds:[Lsun/security/x509/AlgorithmId;
5: iconst_0
istore 5
start local 5 6: goto 10
7: StackMap locals: sun.security.pkcs.PKCS7 sun.security.util.DerValue sun.security.util.DerInputStream sun.security.util.DerValue[] int int
StackMap stack:
aload 3
iload 5
aaload
astore 6
start local 6 8: aload 0
getfield sun.security.pkcs.PKCS7.digestAlgorithmIds:[Lsun/security/x509/AlgorithmId;
iload 5
aload 6
invokestatic sun.security.x509.AlgorithmId.parse:(Lsun/security/util/DerValue;)Lsun/security/x509/AlgorithmId;
aastore
end local 6 9: iinc 5 1
StackMap locals:
StackMap stack:
10: iload 5
iload 4
if_icmplt 7
end local 5 11: goto 19
StackMap locals: sun.security.pkcs.PKCS7 sun.security.util.DerValue sun.security.util.DerInputStream sun.security.util.DerValue[] int
StackMap stack: java.io.IOException
12: astore 5
start local 5 13: new sun.security.pkcs.ParsingException
dup
new java.lang.StringBuilder
dup
ldc "Error parsing digest AlgorithmId IDs: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
14: aload 5
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;
15: invokespecial sun.security.pkcs.ParsingException.<init>:(Ljava/lang/String;)V
16: astore 6
start local 6 17: aload 6
aload 5
invokevirtual sun.security.pkcs.ParsingException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
pop
18: aload 6
athrow
end local 6 end local 5 19: StackMap locals:
StackMap stack:
aload 0
new sun.security.pkcs.ContentInfo
dup
aload 2
invokespecial sun.security.pkcs.ContentInfo.<init>:(Lsun/security/util/DerInputStream;)V
putfield sun.security.pkcs.PKCS7.contentInfo:Lsun/security/pkcs/ContentInfo;
20: aconst_null
astore 5
start local 5 21: ldc "X.509"
invokestatic java.security.cert.CertificateFactory.getInstance:(Ljava/lang/String;)Ljava/security/cert/CertificateFactory;
astore 5
22: goto 24
StackMap locals: sun.security.pkcs.PKCS7 sun.security.util.DerValue sun.security.util.DerInputStream sun.security.util.DerValue[] int java.security.cert.CertificateFactory
StackMap stack: java.security.cert.CertificateException
23: pop
24: StackMap locals:
StackMap stack:
aload 2
invokevirtual sun.security.util.DerInputStream.peekByte:()I
i2b
bipush -96
if_icmpne 64
25: aload 2
iconst_2
iconst_1
invokevirtual sun.security.util.DerInputStream.getSet:(IZ)[Lsun/security/util/DerValue;
astore 6
start local 6 26: aload 6
arraylength
istore 4
27: aload 0
iload 4
anewarray java.security.cert.X509Certificate
putfield sun.security.pkcs.PKCS7.certificates:[Ljava/security/cert/X509Certificate;
28: iconst_0
istore 7
start local 7 29: iconst_0
istore 8
start local 8 30: goto 61
31: StackMap locals: sun.security.util.DerValue[] int int
StackMap stack:
aconst_null
astore 9
start local 9 32: aload 6
iload 8
aaload
invokevirtual sun.security.util.DerValue.getTag:()B
istore 10
start local 10 33: iload 10
bipush 48
if_icmpne 58
34: aload 5
ifnonnull 37
35: aload 0
getfield sun.security.pkcs.PKCS7.certificates:[Ljava/security/cert/X509Certificate;
iload 7
new sun.security.x509.X509CertImpl
dup
aload 6
iload 8
aaload
invokespecial sun.security.x509.X509CertImpl.<init>:(Lsun/security/util/DerValue;)V
aastore
36: goto 44
37: StackMap locals: java.io.ByteArrayInputStream int
StackMap stack:
aload 6
iload 8
aaload
invokevirtual sun.security.util.DerValue.toByteArray:()[B
astore 11
start local 11 38: new java.io.ByteArrayInputStream
dup
aload 11
invokespecial java.io.ByteArrayInputStream.<init>:([B)V
astore 9
39: aload 0
getfield sun.security.pkcs.PKCS7.certificates:[Ljava/security/cert/X509Certificate;
iload 7
40: aload 5
aload 9
invokevirtual java.security.cert.CertificateFactory.generateCertificate:(Ljava/io/InputStream;)Ljava/security/cert/Certificate;
checkcast java.security.cert.X509Certificate
41: aastore
42: aload 9
invokevirtual java.io.ByteArrayInputStream.close:()V
43: aconst_null
astore 9
end local 11 44: StackMap locals:
StackMap stack:
iinc 7 1
end local 10 45: goto 58
StackMap locals: sun.security.pkcs.PKCS7 sun.security.util.DerValue sun.security.util.DerInputStream sun.security.util.DerValue[] int java.security.cert.CertificateFactory sun.security.util.DerValue[] int int java.io.ByteArrayInputStream
StackMap stack: java.security.cert.CertificateException
46: astore 10
start local 10 47: new sun.security.pkcs.ParsingException
dup
aload 10
invokevirtual java.security.cert.CertificateException.getMessage:()Ljava/lang/String;
invokespecial sun.security.pkcs.ParsingException.<init>:(Ljava/lang/String;)V
astore 11
start local 11 48: aload 11
aload 10
invokevirtual sun.security.pkcs.ParsingException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
pop
49: aload 11
athrow
end local 11 end local 10 50: StackMap locals:
StackMap stack: java.io.IOException
astore 10
start local 10 51: new sun.security.pkcs.ParsingException
dup
aload 10
invokevirtual java.io.IOException.getMessage:()Ljava/lang/String;
invokespecial sun.security.pkcs.ParsingException.<init>:(Ljava/lang/String;)V
astore 11
start local 11 52: aload 11
aload 10
invokevirtual sun.security.pkcs.ParsingException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
pop
53: aload 11
athrow
end local 11 end local 10 54: StackMap locals:
StackMap stack: java.lang.Throwable
astore 12
55: aload 9
ifnull 57
56: aload 9
invokevirtual java.io.ByteArrayInputStream.close:()V
57: StackMap locals: sun.security.pkcs.PKCS7 sun.security.util.DerValue sun.security.util.DerInputStream sun.security.util.DerValue[] int java.security.cert.CertificateFactory sun.security.util.DerValue[] int int java.io.ByteArrayInputStream top top java.lang.Throwable
StackMap stack:
aload 12
athrow
58: StackMap locals: sun.security.pkcs.PKCS7 sun.security.util.DerValue sun.security.util.DerInputStream sun.security.util.DerValue[] int java.security.cert.CertificateFactory sun.security.util.DerValue[] int int java.io.ByteArrayInputStream
StackMap stack:
aload 9
ifnull 60
59: aload 9
invokevirtual java.io.ByteArrayInputStream.close:()V
end local 9 60: StackMap locals:
StackMap stack:
iinc 8 1
StackMap locals:
StackMap stack:
61: iload 8
iload 4
if_icmplt 31
end local 8 62: iload 7
iload 4
if_icmpeq 64
63: aload 0
aload 0
getfield sun.security.pkcs.PKCS7.certificates:[Ljava/security/cert/X509Certificate;
iload 7
invokestatic java.util.Arrays.copyOf:([Ljava/lang/Object;I)[Ljava/lang/Object;
checkcast java.security.cert.X509Certificate[]
putfield sun.security.pkcs.PKCS7.certificates:[Ljava/security/cert/X509Certificate;
end local 7 end local 6 64: StackMap locals:
StackMap stack:
aload 2
invokevirtual sun.security.util.DerInputStream.peekByte:()I
i2b
bipush -95
if_icmpne 92
65: aload 2
iconst_1
iconst_1
invokevirtual sun.security.util.DerInputStream.getSet:(IZ)[Lsun/security/util/DerValue;
astore 6
start local 6 66: aload 6
arraylength
istore 4
67: aload 0
iload 4
anewarray java.security.cert.X509CRL
putfield sun.security.pkcs.PKCS7.crls:[Ljava/security/cert/X509CRL;
68: iconst_0
istore 7
start local 7 69: goto 91
70: StackMap locals: sun.security.util.DerValue[] int
StackMap stack:
aconst_null
astore 8
start local 8 71: aload 5
ifnonnull 73
72: aload 0
getfield sun.security.pkcs.PKCS7.crls:[Ljava/security/cert/X509CRL;
iload 7
new sun.security.x509.X509CRLImpl
dup
aload 6
iload 7
aaload
invokespecial sun.security.x509.X509CRLImpl.<init>:(Lsun/security/util/DerValue;)V
aastore
goto 88
73: StackMap locals: java.io.ByteArrayInputStream
StackMap stack:
aload 6
iload 7
aaload
invokevirtual sun.security.util.DerValue.toByteArray:()[B
astore 9
start local 9 74: new java.io.ByteArrayInputStream
dup
aload 9
invokespecial java.io.ByteArrayInputStream.<init>:([B)V
astore 8
75: aload 0
getfield sun.security.pkcs.PKCS7.crls:[Ljava/security/cert/X509CRL;
iload 7
aload 5
aload 8
invokevirtual java.security.cert.CertificateFactory.generateCRL:(Ljava/io/InputStream;)Ljava/security/cert/CRL;
checkcast java.security.cert.X509CRL
aastore
76: aload 8
invokevirtual java.io.ByteArrayInputStream.close:()V
77: aconst_null
astore 8
end local 9 78: goto 88
StackMap locals:
StackMap stack: java.security.cert.CRLException
79: astore 9
start local 9 80: new sun.security.pkcs.ParsingException
dup
aload 9
invokevirtual java.security.cert.CRLException.getMessage:()Ljava/lang/String;
invokespecial sun.security.pkcs.ParsingException.<init>:(Ljava/lang/String;)V
81: astore 10
start local 10 82: aload 10
aload 9
invokevirtual sun.security.pkcs.ParsingException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
pop
83: aload 10
athrow
end local 10 end local 9 84: StackMap locals:
StackMap stack: java.lang.Throwable
astore 11
85: aload 8
ifnull 87
86: aload 8
invokevirtual java.io.ByteArrayInputStream.close:()V
87: StackMap locals: sun.security.pkcs.PKCS7 sun.security.util.DerValue sun.security.util.DerInputStream sun.security.util.DerValue[] int java.security.cert.CertificateFactory sun.security.util.DerValue[] int java.io.ByteArrayInputStream top top java.lang.Throwable
StackMap stack:
aload 11
athrow
88: StackMap locals: sun.security.pkcs.PKCS7 sun.security.util.DerValue sun.security.util.DerInputStream sun.security.util.DerValue[] int java.security.cert.CertificateFactory sun.security.util.DerValue[] int java.io.ByteArrayInputStream
StackMap stack:
aload 8
ifnull 90
89: aload 8
invokevirtual java.io.ByteArrayInputStream.close:()V
end local 8 90: StackMap locals:
StackMap stack:
iinc 7 1
StackMap locals:
StackMap stack:
91: iload 7
iload 4
if_icmplt 70
end local 7 end local 6 92: StackMap locals:
StackMap stack:
aload 2
iconst_1
invokevirtual sun.security.util.DerInputStream.getSet:(I)[Lsun/security/util/DerValue;
astore 6
start local 6 93: aload 6
arraylength
istore 4
94: aload 0
iload 4
anewarray sun.security.pkcs.SignerInfo
putfield sun.security.pkcs.PKCS7.signerInfos:[Lsun/security/pkcs/SignerInfo;
95: iconst_0
istore 7
start local 7 96: goto 100
97: StackMap locals: sun.security.util.DerValue[] int
StackMap stack:
aload 6
iload 7
aaload
invokevirtual sun.security.util.DerValue.toDerInputStream:()Lsun/security/util/DerInputStream;
astore 8
start local 8 98: aload 0
getfield sun.security.pkcs.PKCS7.signerInfos:[Lsun/security/pkcs/SignerInfo;
iload 7
new sun.security.pkcs.SignerInfo
dup
aload 8
invokespecial sun.security.pkcs.SignerInfo.<init>:(Lsun/security/util/DerInputStream;)V
aastore
end local 8 99: iinc 7 1
StackMap locals:
StackMap stack:
100: iload 7
iload 4
if_icmplt 97
end local 7 101: 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 102 0 this Lsun/security/pkcs/PKCS7;
0 102 1 val Lsun/security/util/DerValue;
1 102 2 dis Lsun/security/util/DerInputStream;
3 102 3 digestAlgorithmIdVals [Lsun/security/util/DerValue;
4 102 4 len I
6 11 5 i I
8 9 6 oid Lsun/security/util/DerValue;
13 19 5 e Ljava/io/IOException;
17 19 6 pe Lsun/security/pkcs/ParsingException;
21 102 5 certfac Ljava/security/cert/CertificateFactory;
26 64 6 certVals [Lsun/security/util/DerValue;
29 64 7 count I
30 62 8 i I
32 60 9 bais Ljava/io/ByteArrayInputStream;
33 45 10 tag B
38 44 11 encoded [B
47 50 10 ce Ljava/security/cert/CertificateException;
48 50 11 pe Lsun/security/pkcs/ParsingException;
51 54 10 ioe Ljava/io/IOException;
52 54 11 pe Lsun/security/pkcs/ParsingException;
66 92 6 crlVals [Lsun/security/util/DerValue;
69 92 7 i I
71 90 8 bais Ljava/io/ByteArrayInputStream;
74 78 9 encoded [B
80 84 9 e Ljava/security/cert/CRLException;
82 84 10 pe Lsun/security/pkcs/ParsingException;
93 102 6 signerInfoVals [Lsun/security/util/DerValue;
96 101 7 i I
98 99 8 in Lsun/security/util/DerInputStream;
Exception table:
from to target type
5 11 12 Class java.io.IOException
21 22 23 Class java.security.cert.CertificateException
32 45 46 Class java.security.cert.CertificateException
32 45 50 Class java.io.IOException
32 54 54 any
71 78 79 Class java.security.cert.CRLException
71 84 84 any
Exceptions:
throws sun.security.pkcs.ParsingException, java.io.IOException
MethodParameters:
Name Flags
val
private void parseOldSignedData(sun.security.util.DerValue);
descriptor: (Lsun/security/util/DerValue;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=12, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual sun.security.util.DerValue.toDerInputStream:()Lsun/security/util/DerInputStream;
astore 2
start local 2 1: aload 0
aload 2
invokevirtual sun.security.util.DerInputStream.getBigInteger:()Ljava/math/BigInteger;
putfield sun.security.pkcs.PKCS7.version:Ljava/math/BigInteger;
2: aload 2
iconst_1
invokevirtual sun.security.util.DerInputStream.getSet:(I)[Lsun/security/util/DerValue;
astore 3
start local 3 3: aload 3
arraylength
istore 4
start local 4 4: aload 0
iload 4
anewarray sun.security.x509.AlgorithmId
putfield sun.security.pkcs.PKCS7.digestAlgorithmIds:[Lsun/security/x509/AlgorithmId;
5: iconst_0
istore 5
start local 5 6: goto 10
7: StackMap locals: sun.security.pkcs.PKCS7 sun.security.util.DerValue sun.security.util.DerInputStream sun.security.util.DerValue[] int int
StackMap stack:
aload 3
iload 5
aaload
astore 6
start local 6 8: aload 0
getfield sun.security.pkcs.PKCS7.digestAlgorithmIds:[Lsun/security/x509/AlgorithmId;
iload 5
aload 6
invokestatic sun.security.x509.AlgorithmId.parse:(Lsun/security/util/DerValue;)Lsun/security/x509/AlgorithmId;
aastore
end local 6 9: iinc 5 1
StackMap locals:
StackMap stack:
10: iload 5
iload 4
if_icmplt 7
end local 5 11: goto 14
StackMap locals: sun.security.pkcs.PKCS7 sun.security.util.DerValue sun.security.util.DerInputStream sun.security.util.DerValue[] int
StackMap stack: java.io.IOException
12: pop
13: new sun.security.pkcs.ParsingException
dup
ldc "Error parsing digest AlgorithmId IDs"
invokespecial sun.security.pkcs.ParsingException.<init>:(Ljava/lang/String;)V
athrow
14: StackMap locals:
StackMap stack:
aload 0
new sun.security.pkcs.ContentInfo
dup
aload 2
iconst_1
invokespecial sun.security.pkcs.ContentInfo.<init>:(Lsun/security/util/DerInputStream;Z)V
putfield sun.security.pkcs.PKCS7.contentInfo:Lsun/security/pkcs/ContentInfo;
15: aconst_null
astore 5
start local 5 16: ldc "X.509"
invokestatic java.security.cert.CertificateFactory.getInstance:(Ljava/lang/String;)Ljava/security/cert/CertificateFactory;
astore 5
17: goto 19
StackMap locals: sun.security.pkcs.PKCS7 sun.security.util.DerValue sun.security.util.DerInputStream sun.security.util.DerValue[] int java.security.cert.CertificateFactory
StackMap stack: java.security.cert.CertificateException
18: pop
19: StackMap locals:
StackMap stack:
aload 2
iconst_2
invokevirtual sun.security.util.DerInputStream.getSet:(I)[Lsun/security/util/DerValue;
astore 6
start local 6 20: aload 6
arraylength
istore 4
21: aload 0
iload 4
anewarray java.security.cert.X509Certificate
putfield sun.security.pkcs.PKCS7.certificates:[Ljava/security/cert/X509Certificate;
22: iconst_0
istore 7
start local 7 23: goto 50
24: StackMap locals: sun.security.util.DerValue[] int
StackMap stack:
aconst_null
astore 8
start local 8 25: aload 5
ifnonnull 27
26: aload 0
getfield sun.security.pkcs.PKCS7.certificates:[Ljava/security/cert/X509Certificate;
iload 7
new sun.security.x509.X509CertImpl
dup
aload 6
iload 7
aaload
invokespecial sun.security.x509.X509CertImpl.<init>:(Lsun/security/util/DerValue;)V
aastore
goto 47
27: StackMap locals: java.io.ByteArrayInputStream
StackMap stack:
aload 6
iload 7
aaload
invokevirtual sun.security.util.DerValue.toByteArray:()[B
astore 9
start local 9 28: new java.io.ByteArrayInputStream
dup
aload 9
invokespecial java.io.ByteArrayInputStream.<init>:([B)V
astore 8
29: aload 0
getfield sun.security.pkcs.PKCS7.certificates:[Ljava/security/cert/X509Certificate;
iload 7
30: aload 5
aload 8
invokevirtual java.security.cert.CertificateFactory.generateCertificate:(Ljava/io/InputStream;)Ljava/security/cert/Certificate;
checkcast java.security.cert.X509Certificate
31: aastore
32: aload 8
invokevirtual java.io.ByteArrayInputStream.close:()V
33: aconst_null
astore 8
end local 9 34: goto 47
StackMap locals:
StackMap stack: java.security.cert.CertificateException
35: astore 9
start local 9 36: new sun.security.pkcs.ParsingException
dup
aload 9
invokevirtual java.security.cert.CertificateException.getMessage:()Ljava/lang/String;
invokespecial sun.security.pkcs.ParsingException.<init>:(Ljava/lang/String;)V
astore 10
start local 10 37: aload 10
aload 9
invokevirtual sun.security.pkcs.ParsingException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
pop
38: aload 10
athrow
end local 10 end local 9 39: StackMap locals:
StackMap stack: java.io.IOException
astore 9
start local 9 40: new sun.security.pkcs.ParsingException
dup
aload 9
invokevirtual java.io.IOException.getMessage:()Ljava/lang/String;
invokespecial sun.security.pkcs.ParsingException.<init>:(Ljava/lang/String;)V
astore 10
start local 10 41: aload 10
aload 9
invokevirtual sun.security.pkcs.ParsingException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
pop
42: aload 10
athrow
end local 10 end local 9 43: StackMap locals:
StackMap stack: java.lang.Throwable
astore 11
44: aload 8
ifnull 46
45: aload 8
invokevirtual java.io.ByteArrayInputStream.close:()V
46: StackMap locals: sun.security.pkcs.PKCS7 sun.security.util.DerValue sun.security.util.DerInputStream sun.security.util.DerValue[] int java.security.cert.CertificateFactory sun.security.util.DerValue[] int java.io.ByteArrayInputStream top top java.lang.Throwable
StackMap stack:
aload 11
athrow
47: StackMap locals: sun.security.pkcs.PKCS7 sun.security.util.DerValue sun.security.util.DerInputStream sun.security.util.DerValue[] int java.security.cert.CertificateFactory sun.security.util.DerValue[] int java.io.ByteArrayInputStream
StackMap stack:
aload 8
ifnull 49
48: aload 8
invokevirtual java.io.ByteArrayInputStream.close:()V
end local 8 49: StackMap locals:
StackMap stack:
iinc 7 1
StackMap locals:
StackMap stack:
50: iload 7
iload 4
if_icmplt 24
end local 7 51: aload 2
iconst_0
invokevirtual sun.security.util.DerInputStream.getSet:(I)[Lsun/security/util/DerValue;
pop
52: aload 2
iconst_1
invokevirtual sun.security.util.DerInputStream.getSet:(I)[Lsun/security/util/DerValue;
astore 7
start local 7 53: aload 7
arraylength
istore 4
54: aload 0
iload 4
anewarray sun.security.pkcs.SignerInfo
putfield sun.security.pkcs.PKCS7.signerInfos:[Lsun/security/pkcs/SignerInfo;
55: iconst_0
istore 8
start local 8 56: goto 60
57: StackMap locals: sun.security.pkcs.PKCS7 sun.security.util.DerValue sun.security.util.DerInputStream sun.security.util.DerValue[] int java.security.cert.CertificateFactory sun.security.util.DerValue[] sun.security.util.DerValue[] int
StackMap stack:
aload 7
iload 8
aaload
invokevirtual sun.security.util.DerValue.toDerInputStream:()Lsun/security/util/DerInputStream;
astore 9
start local 9 58: aload 0
getfield sun.security.pkcs.PKCS7.signerInfos:[Lsun/security/pkcs/SignerInfo;
iload 8
new sun.security.pkcs.SignerInfo
dup
aload 9
iconst_1
invokespecial sun.security.pkcs.SignerInfo.<init>:(Lsun/security/util/DerInputStream;Z)V
aastore
end local 9 59: iinc 8 1
StackMap locals:
StackMap stack:
60: iload 8
iload 4
if_icmplt 57
end local 8 61: 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 62 0 this Lsun/security/pkcs/PKCS7;
0 62 1 val Lsun/security/util/DerValue;
1 62 2 dis Lsun/security/util/DerInputStream;
3 62 3 digestAlgorithmIdVals [Lsun/security/util/DerValue;
4 62 4 len I
6 11 5 i I
8 9 6 oid Lsun/security/util/DerValue;
16 62 5 certfac Ljava/security/cert/CertificateFactory;
20 62 6 certVals [Lsun/security/util/DerValue;
23 51 7 i I
25 49 8 bais Ljava/io/ByteArrayInputStream;
28 34 9 encoded [B
36 39 9 ce Ljava/security/cert/CertificateException;
37 39 10 pe Lsun/security/pkcs/ParsingException;
40 43 9 ioe Ljava/io/IOException;
41 43 10 pe Lsun/security/pkcs/ParsingException;
53 62 7 signerInfoVals [Lsun/security/util/DerValue;
56 61 8 i I
58 59 9 in Lsun/security/util/DerInputStream;
Exception table:
from to target type
5 11 12 Class java.io.IOException
16 17 18 Class java.security.cert.CertificateException
25 34 35 Class java.security.cert.CertificateException
25 34 39 Class java.io.IOException
25 43 43 any
Exceptions:
throws sun.security.pkcs.ParsingException, java.io.IOException
MethodParameters:
Name Flags
val
public void encodeSignedData(java.io.OutputStream);
descriptor: (Ljava/io/OutputStream;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, 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 0
aload 2
invokevirtual sun.security.pkcs.PKCS7.encodeSignedData:(Lsun/security/util/DerOutputStream;)V
2: aload 1
aload 2
invokevirtual sun.security.util.DerOutputStream.toByteArray:()[B
invokevirtual java.io.OutputStream.write:([B)V
3: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lsun/security/pkcs/PKCS7;
0 4 1 out Ljava/io/OutputStream;
1 4 2 derout Lsun/security/util/DerOutputStream;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
out
public void encodeSignedData(sun.security.util.DerOutputStream);
descriptor: (Lsun/security/util/DerOutputStream;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=9, 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.PKCS7.version:Ljava/math/BigInteger;
invokevirtual sun.security.util.DerOutputStream.putInteger:(Ljava/math/BigInteger;)V
2: aload 2
bipush 49
aload 0
getfield sun.security.pkcs.PKCS7.digestAlgorithmIds:[Lsun/security/x509/AlgorithmId;
invokevirtual sun.security.util.DerOutputStream.putOrderedSetOf:(B[Lsun/security/util/DerEncoder;)V
3: aload 0
getfield sun.security.pkcs.PKCS7.contentInfo:Lsun/security/pkcs/ContentInfo;
aload 2
invokevirtual sun.security.pkcs.ContentInfo.encode:(Lsun/security/util/DerOutputStream;)V
4: aload 0
getfield sun.security.pkcs.PKCS7.certificates:[Ljava/security/cert/X509Certificate;
ifnull 18
aload 0
getfield sun.security.pkcs.PKCS7.certificates:[Ljava/security/cert/X509Certificate;
arraylength
ifeq 18
5: aload 0
getfield sun.security.pkcs.PKCS7.certificates:[Ljava/security/cert/X509Certificate;
arraylength
anewarray sun.security.x509.X509CertImpl
astore 3
start local 3 6: iconst_0
istore 4
start local 4 7: goto 16
8: StackMap locals: sun.security.util.DerOutputStream sun.security.x509.X509CertImpl[] int
StackMap stack:
aload 0
getfield sun.security.pkcs.PKCS7.certificates:[Ljava/security/cert/X509Certificate;
iload 4
aaload
instanceof sun.security.x509.X509CertImpl
ifeq 10
9: aload 3
iload 4
aload 0
getfield sun.security.pkcs.PKCS7.certificates:[Ljava/security/cert/X509Certificate;
iload 4
aaload
checkcast sun.security.x509.X509CertImpl
aastore
goto 15
10: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.pkcs.PKCS7.certificates:[Ljava/security/cert/X509Certificate;
iload 4
aaload
invokevirtual java.security.cert.X509Certificate.getEncoded:()[B
astore 5
start local 5 11: aload 3
iload 4
new sun.security.x509.X509CertImpl
dup
aload 5
invokespecial sun.security.x509.X509CertImpl.<init>:([B)V
aastore
end local 5 12: goto 15
StackMap locals:
StackMap stack: java.security.cert.CertificateException
13: astore 5
start local 5 14: new java.io.IOException
dup
aload 5
invokespecial java.io.IOException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 5 15: StackMap locals:
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
16: iload 4
aload 0
getfield sun.security.pkcs.PKCS7.certificates:[Ljava/security/cert/X509Certificate;
arraylength
if_icmplt 8
end local 4 17: aload 2
bipush -96
aload 3
invokevirtual sun.security.util.DerOutputStream.putOrderedSetOf:(B[Lsun/security/util/DerEncoder;)V
end local 3 18: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.pkcs.PKCS7.crls:[Ljava/security/cert/X509CRL;
ifnull 34
aload 0
getfield sun.security.pkcs.PKCS7.crls:[Ljava/security/cert/X509CRL;
arraylength
ifeq 34
19: new java.util.HashSet
dup
aload 0
getfield sun.security.pkcs.PKCS7.crls:[Ljava/security/cert/X509CRL;
arraylength
invokespecial java.util.HashSet.<init>:(I)V
astore 3
start local 3 20: aload 0
getfield sun.security.pkcs.PKCS7.crls:[Ljava/security/cert/X509CRL;
dup
astore 7
arraylength
istore 6
iconst_0
istore 5
goto 30
StackMap locals: sun.security.pkcs.PKCS7 sun.security.util.DerOutputStream sun.security.util.DerOutputStream java.util.Set top int int java.security.cert.X509CRL[]
StackMap stack:
21: aload 7
iload 5
aaload
astore 4
start local 4 22: aload 4
instanceof sun.security.x509.X509CRLImpl
ifeq 24
23: aload 3
aload 4
checkcast sun.security.x509.X509CRLImpl
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
goto 29
24: StackMap locals: sun.security.pkcs.PKCS7 sun.security.util.DerOutputStream sun.security.util.DerOutputStream java.util.Set java.security.cert.X509CRL int int java.security.cert.X509CRL[]
StackMap stack:
aload 4
invokevirtual java.security.cert.X509CRL.getEncoded:()[B
astore 8
start local 8 25: aload 3
new sun.security.x509.X509CRLImpl
dup
aload 8
invokespecial sun.security.x509.X509CRLImpl.<init>:([B)V
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
end local 8 26: goto 29
StackMap locals:
StackMap stack: java.security.cert.CRLException
27: astore 8
start local 8 28: new java.io.IOException
dup
aload 8
invokespecial java.io.IOException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 8 end local 4 29: StackMap locals: sun.security.pkcs.PKCS7 sun.security.util.DerOutputStream sun.security.util.DerOutputStream java.util.Set top int int java.security.cert.X509CRL[]
StackMap stack:
iinc 5 1
StackMap locals:
StackMap stack:
30: iload 5
iload 6
if_icmplt 21
31: aload 2
bipush -95
32: aload 3
aload 3
invokeinterface java.util.Set.size:()I
anewarray sun.security.x509.X509CRLImpl
invokeinterface java.util.Set.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast sun.security.util.DerEncoder[]
33: invokevirtual sun.security.util.DerOutputStream.putOrderedSetOf:(B[Lsun/security/util/DerEncoder;)V
end local 3 34: StackMap locals: sun.security.pkcs.PKCS7 sun.security.util.DerOutputStream sun.security.util.DerOutputStream
StackMap stack:
aload 2
bipush 49
aload 0
getfield sun.security.pkcs.PKCS7.signerInfos:[Lsun/security/pkcs/SignerInfo;
invokevirtual sun.security.util.DerOutputStream.putOrderedSetOf:(B[Lsun/security/util/DerEncoder;)V
35: new sun.security.util.DerValue
dup
bipush 48
36: aload 2
invokevirtual sun.security.util.DerOutputStream.toByteArray:()[B
37: invokespecial sun.security.util.DerValue.<init>:(B[B)V
astore 3
start local 3 38: new sun.security.pkcs.ContentInfo
dup
getstatic sun.security.pkcs.ContentInfo.SIGNED_DATA_OID:Lsun/security/util/ObjectIdentifier;
39: aload 3
40: invokespecial sun.security.pkcs.ContentInfo.<init>:(Lsun/security/util/ObjectIdentifier;Lsun/security/util/DerValue;)V
astore 4
start local 4 41: aload 4
aload 1
invokevirtual sun.security.pkcs.ContentInfo.encode:(Lsun/security/util/DerOutputStream;)V
42: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 43 0 this Lsun/security/pkcs/PKCS7;
0 43 1 out Lsun/security/util/DerOutputStream;
1 43 2 signedData Lsun/security/util/DerOutputStream;
6 18 3 implCerts [Lsun/security/x509/X509CertImpl;
7 17 4 i I
11 12 5 encoded [B
14 15 5 ce Ljava/security/cert/CertificateException;
20 34 3 implCRLs Ljava/util/Set<Lsun/security/x509/X509CRLImpl;>;
22 29 4 crl Ljava/security/cert/X509CRL;
25 26 8 encoded [B
28 29 8 ce Ljava/security/cert/CRLException;
38 43 3 signedDataSeq Lsun/security/util/DerValue;
41 43 4 block Lsun/security/pkcs/ContentInfo;
Exception table:
from to target type
10 12 13 Class java.security.cert.CertificateException
24 26 27 Class java.security.cert.CRLException
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
out
public sun.security.pkcs.SignerInfo verify(sun.security.pkcs.SignerInfo, byte[]);
descriptor: (Lsun/security/pkcs/SignerInfo;[B)Lsun/security/pkcs/SignerInfo;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
aload 0
aload 2
invokevirtual sun.security.pkcs.SignerInfo.verify:(Lsun/security/pkcs/PKCS7;[B)Lsun/security/pkcs/SignerInfo;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/security/pkcs/PKCS7;
0 1 1 info Lsun/security/pkcs/SignerInfo;
0 1 2 bytes [B
Exceptions:
throws java.security.NoSuchAlgorithmException, java.security.SignatureException
MethodParameters:
Name Flags
info
bytes
public sun.security.pkcs.SignerInfo[] verify(byte[]);
descriptor: ([B)[Lsun/security/pkcs/SignerInfo;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=5, args_size=2
start local 0 start local 1 0: new java.util.Vector
dup
invokespecial java.util.Vector.<init>:()V
astore 2
start local 2 1: iconst_0
istore 3
start local 3 2: goto 7
3: StackMap locals: java.util.Vector int
StackMap stack:
aload 0
aload 0
getfield sun.security.pkcs.PKCS7.signerInfos:[Lsun/security/pkcs/SignerInfo;
iload 3
aaload
aload 1
invokevirtual sun.security.pkcs.PKCS7.verify:(Lsun/security/pkcs/SignerInfo;[B)Lsun/security/pkcs/SignerInfo;
astore 4
start local 4 4: aload 4
ifnull 6
5: aload 2
aload 4
invokevirtual java.util.Vector.addElement:(Ljava/lang/Object;)V
end local 4 6: StackMap locals:
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
7: iload 3
aload 0
getfield sun.security.pkcs.PKCS7.signerInfos:[Lsun/security/pkcs/SignerInfo;
arraylength
if_icmplt 3
end local 3 8: aload 2
invokevirtual java.util.Vector.isEmpty:()Z
ifne 12
9: aload 2
invokevirtual java.util.Vector.size:()I
anewarray sun.security.pkcs.SignerInfo
astore 3
start local 3 10: aload 2
aload 3
invokevirtual java.util.Vector.copyInto:([Ljava/lang/Object;)V
11: aload 3
areturn
end local 3 12: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lsun/security/pkcs/PKCS7;
0 13 1 bytes [B
1 13 2 intResult Ljava/util/Vector<Lsun/security/pkcs/SignerInfo;>;
2 8 3 i I
4 6 4 signerInfo Lsun/security/pkcs/SignerInfo;
10 12 3 result [Lsun/security/pkcs/SignerInfo;
Exceptions:
throws java.security.NoSuchAlgorithmException, java.security.SignatureException
MethodParameters:
Name Flags
bytes
public sun.security.pkcs.SignerInfo[] verify();
descriptor: ()[Lsun/security/pkcs/SignerInfo;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
aconst_null
invokevirtual sun.security.pkcs.PKCS7.verify:([B)[Lsun/security/pkcs/SignerInfo;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/security/pkcs/PKCS7;
Exceptions:
throws java.security.NoSuchAlgorithmException, java.security.SignatureException
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.PKCS7.version:Ljava/math/BigInteger;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/security/pkcs/PKCS7;
public sun.security.x509.AlgorithmId[] getDigestAlgorithmIds();
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.PKCS7.digestAlgorithmIds:[Lsun/security/x509/AlgorithmId;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/security/pkcs/PKCS7;
public sun.security.pkcs.ContentInfo getContentInfo();
descriptor: ()Lsun/security/pkcs/ContentInfo;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.security.pkcs.PKCS7.contentInfo:Lsun/security/pkcs/ContentInfo;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/security/pkcs/PKCS7;
public java.security.cert.X509Certificate[] getCertificates();
descriptor: ()[Ljava/security/cert/X509Certificate;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.security.pkcs.PKCS7.certificates:[Ljava/security/cert/X509Certificate;
ifnull 2
1: aload 0
getfield sun.security.pkcs.PKCS7.certificates:[Ljava/security/cert/X509Certificate;
invokevirtual java.security.cert.X509Certificate[].clone:()Ljava/lang/Object;
checkcast java.security.cert.X509Certificate[]
areturn
2: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/security/pkcs/PKCS7;
public java.security.cert.X509CRL[] getCRLs();
descriptor: ()[Ljava/security/cert/X509CRL;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.security.pkcs.PKCS7.crls:[Ljava/security/cert/X509CRL;
ifnull 2
1: aload 0
getfield sun.security.pkcs.PKCS7.crls:[Ljava/security/cert/X509CRL;
invokevirtual java.security.cert.X509CRL[].clone:()Ljava/lang/Object;
checkcast java.security.cert.X509CRL[]
areturn
2: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/security/pkcs/PKCS7;
public sun.security.pkcs.SignerInfo[] getSignerInfos();
descriptor: ()[Lsun/security/pkcs/SignerInfo;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.security.pkcs.PKCS7.signerInfos:[Lsun/security/pkcs/SignerInfo;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/security/pkcs/PKCS7;
public java.security.cert.X509Certificate getCertificate(java.math.BigInteger, sun.security.x509.X500Name);
descriptor: (Ljava/math/BigInteger;Lsun/security/x509/X500Name;)Ljava/security/cert/X509Certificate;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield sun.security.pkcs.PKCS7.certificates:[Ljava/security/cert/X509Certificate;
ifnull 12
1: aload 0
getfield sun.security.pkcs.PKCS7.certIssuerNames:[Ljava/security/Principal;
ifnonnull 3
2: aload 0
invokevirtual sun.security.pkcs.PKCS7.populateCertIssuerNames:()V
3: StackMap locals:
StackMap stack:
iconst_0
istore 3
start local 3 4: goto 11
5: StackMap locals: int
StackMap stack:
aload 0
getfield sun.security.pkcs.PKCS7.certificates:[Ljava/security/cert/X509Certificate;
iload 3
aaload
astore 4
start local 4 6: aload 4
invokevirtual java.security.cert.X509Certificate.getSerialNumber:()Ljava/math/BigInteger;
astore 5
start local 5 7: aload 1
aload 5
invokevirtual java.math.BigInteger.equals:(Ljava/lang/Object;)Z
ifeq 10
8: aload 2
aload 0
getfield sun.security.pkcs.PKCS7.certIssuerNames:[Ljava/security/Principal;
iload 3
aaload
invokevirtual sun.security.x509.X500Name.equals:(Ljava/lang/Object;)Z
ifeq 10
9: aload 4
areturn
end local 5 end local 4 10: StackMap locals:
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
11: iload 3
aload 0
getfield sun.security.pkcs.PKCS7.certificates:[Ljava/security/cert/X509Certificate;
arraylength
if_icmplt 5
end local 3 12: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lsun/security/pkcs/PKCS7;
0 13 1 serial Ljava/math/BigInteger;
0 13 2 issuerName Lsun/security/x509/X500Name;
4 12 3 i I
6 10 4 cert Ljava/security/cert/X509Certificate;
7 10 5 thisSerial Ljava/math/BigInteger;
MethodParameters:
Name Flags
serial
issuerName
private void populateCertIssuerNames();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=5, args_size=1
start local 0 0: aload 0
getfield sun.security.pkcs.PKCS7.certificates:[Ljava/security/cert/X509Certificate;
ifnonnull 2
1: return
2: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield sun.security.pkcs.PKCS7.certificates:[Ljava/security/cert/X509Certificate;
arraylength
anewarray java.security.Principal
putfield sun.security.pkcs.PKCS7.certIssuerNames:[Ljava/security/Principal;
3: iconst_0
istore 1
start local 1 4: goto 16
5: StackMap locals: int
StackMap stack:
aload 0
getfield sun.security.pkcs.PKCS7.certificates:[Ljava/security/cert/X509Certificate;
iload 1
aaload
astore 2
start local 2 6: aload 2
invokevirtual java.security.cert.X509Certificate.getIssuerDN:()Ljava/security/Principal;
astore 3
start local 3 7: aload 3
instanceof sun.security.x509.X500Name
ifne 14
8: new sun.security.x509.X509CertInfo
dup
aload 2
invokevirtual java.security.cert.X509Certificate.getTBSCertificate:()[B
invokespecial sun.security.x509.X509CertInfo.<init>:([B)V
9: astore 4
start local 4 10: aload 4
ldc "issuer.dname"
invokevirtual sun.security.x509.X509CertInfo.get:(Ljava/lang/String;)Ljava/lang/Object;
11: checkcast java.security.Principal
astore 3
end local 4 12: goto 14
StackMap locals: sun.security.pkcs.PKCS7 int java.security.cert.X509Certificate java.security.Principal
StackMap stack: java.lang.Exception
13: pop
14: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.pkcs.PKCS7.certIssuerNames:[Ljava/security/Principal;
iload 1
aload 3
aastore
end local 3 end local 2 15: iinc 1 1
StackMap locals:
StackMap stack:
16: iload 1
aload 0
getfield sun.security.pkcs.PKCS7.certificates:[Ljava/security/cert/X509Certificate;
arraylength
if_icmplt 5
end local 1 17: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Lsun/security/pkcs/PKCS7;
4 17 1 i I
6 15 2 cert Ljava/security/cert/X509Certificate;
7 15 3 certIssuerName Ljava/security/Principal;
10 12 4 tbsCert Lsun/security/x509/X509CertInfo;
Exception table:
from to target type
8 12 13 Class java.lang.Exception
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: ldc ""
astore 1
start local 1 1: new java.lang.StringBuilder
dup
aload 1
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield sun.security.pkcs.PKCS7.contentInfo:Lsun/security/pkcs/ContentInfo;
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 1
2: aload 0
getfield sun.security.pkcs.PKCS7.version:Ljava/math/BigInteger;
ifnull 4
3: new java.lang.StringBuilder
dup
aload 1
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "PKCS7 :: version: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield sun.security.pkcs.PKCS7.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 1
4: StackMap locals: java.lang.String
StackMap stack:
aload 0
getfield sun.security.pkcs.PKCS7.digestAlgorithmIds:[Lsun/security/x509/AlgorithmId;
ifnull 11
5: new java.lang.StringBuilder
dup
aload 1
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "PKCS7 :: digest AlgorithmIds: \n"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 1
6: iconst_0
istore 2
start local 2 7: goto 10
8: StackMap locals: int
StackMap stack:
new java.lang.StringBuilder
dup
aload 1
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "\t"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield sun.security.pkcs.PKCS7.digestAlgorithmIds:[Lsun/security/x509/AlgorithmId;
iload 2
aaload
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 1
9: iinc 2 1
StackMap locals:
StackMap stack:
10: iload 2
aload 0
getfield sun.security.pkcs.PKCS7.digestAlgorithmIds:[Lsun/security/x509/AlgorithmId;
arraylength
if_icmplt 8
end local 2 11: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.pkcs.PKCS7.certificates:[Ljava/security/cert/X509Certificate;
ifnull 18
12: new java.lang.StringBuilder
dup
aload 1
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "PKCS7 :: certificates: \n"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 1
13: iconst_0
istore 2
start local 2 14: goto 17
15: StackMap locals: int
StackMap stack:
new java.lang.StringBuilder
dup
aload 1
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "\t"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 2
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc ". "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield sun.security.pkcs.PKCS7.certificates:[Ljava/security/cert/X509Certificate;
iload 2
aaload
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 1
16: iinc 2 1
StackMap locals:
StackMap stack:
17: iload 2
aload 0
getfield sun.security.pkcs.PKCS7.certificates:[Ljava/security/cert/X509Certificate;
arraylength
if_icmplt 15
end local 2 18: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.pkcs.PKCS7.crls:[Ljava/security/cert/X509CRL;
ifnull 25
19: new java.lang.StringBuilder
dup
aload 1
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "PKCS7 :: crls: \n"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 1
20: iconst_0
istore 2
start local 2 21: goto 24
22: StackMap locals: int
StackMap stack:
new java.lang.StringBuilder
dup
aload 1
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "\t"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 2
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc ". "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield sun.security.pkcs.PKCS7.crls:[Ljava/security/cert/X509CRL;
iload 2
aaload
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 1
23: iinc 2 1
StackMap locals:
StackMap stack:
24: iload 2
aload 0
getfield sun.security.pkcs.PKCS7.crls:[Ljava/security/cert/X509CRL;
arraylength
if_icmplt 22
end local 2 25: StackMap locals:
StackMap stack:
aload 0
getfield sun.security.pkcs.PKCS7.signerInfos:[Lsun/security/pkcs/SignerInfo;
ifnull 32
26: new java.lang.StringBuilder
dup
aload 1
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "PKCS7 :: signer infos: \n"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 1
27: iconst_0
istore 2
start local 2 28: goto 31
29: StackMap locals: int
StackMap stack:
new java.lang.StringBuilder
dup
aload 1
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "\t"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 2
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc ". "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield sun.security.pkcs.PKCS7.signerInfos:[Lsun/security/pkcs/SignerInfo;
iload 2
aaload
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 1
30: iinc 2 1
StackMap locals:
StackMap stack:
31: iload 2
aload 0
getfield sun.security.pkcs.PKCS7.signerInfos:[Lsun/security/pkcs/SignerInfo;
arraylength
if_icmplt 29
end local 2 32: StackMap locals:
StackMap stack:
aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 33 0 this Lsun/security/pkcs/PKCS7;
1 33 1 out Ljava/lang/String;
7 11 2 i I
14 18 2 i I
21 25 2 i I
28 32 2 i I
public boolean isOldStyle();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield sun.security.pkcs.PKCS7.oldStyle:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/security/pkcs/PKCS7;
public static byte[] generateSignedData(byte[], java.security.cert.X509Certificate[], byte[], java.lang.String, java.net.URI, java.lang.String, java.lang.String);
descriptor: ([B[Ljava/security/cert/X509Certificate;[BLjava/lang/String;Ljava/net/URI;Ljava/lang/String;Ljava/lang/String;)[B
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=9, locals=18, args_size=7
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 0: aconst_null
astore 7
start local 7 1: aload 4
ifnull 12
2: new sun.security.timestamp.HttpTimestamper
dup
aload 4
invokespecial sun.security.timestamp.HttpTimestamper.<init>:(Ljava/net/URI;)V
astore 8
start local 8 3: aload 8
aload 5
aload 6
aload 0
4: invokestatic sun.security.pkcs.PKCS7.generateTimestampToken:(Lsun/security/timestamp/Timestamper;Ljava/lang/String;Ljava/lang/String;[B)[B
astore 9
start local 9 5: new sun.security.pkcs.PKCS9Attributes
dup
iconst_1
anewarray sun.security.pkcs.PKCS9Attribute
dup
iconst_0
6: new sun.security.pkcs.PKCS9Attribute
dup
7: ldc "SignatureTimestampToken"
8: aload 9
9: invokespecial sun.security.pkcs.PKCS9Attribute.<init>:(Ljava/lang/String;Ljava/lang/Object;)V
aastore
10: invokespecial sun.security.pkcs.PKCS9Attributes.<init>:([Lsun/security/pkcs/PKCS9Attribute;)V
11: astore 7
end local 9 end local 8 12: StackMap locals: sun.security.pkcs.PKCS9Attributes
StackMap stack:
aload 1
iconst_0
aaload
invokevirtual java.security.cert.X509Certificate.getIssuerX500Principal:()Ljavax/security/auth/x500/X500Principal;
invokestatic sun.security.x509.X500Name.asX500Name:(Ljavax/security/auth/x500/X500Principal;)Lsun/security/x509/X500Name;
13: astore 8
start local 8 14: aload 1
iconst_0
aaload
invokevirtual java.security.cert.X509Certificate.getSerialNumber:()Ljava/math/BigInteger;
astore 9
start local 9 15: aload 3
invokestatic sun.security.x509.AlgorithmId.getEncAlgFromSigAlg:(Ljava/lang/String;)Ljava/lang/String;
astore 10
start local 10 16: aload 3
invokestatic sun.security.x509.AlgorithmId.getDigAlgFromSigAlg:(Ljava/lang/String;)Ljava/lang/String;
astore 11
start local 11 17: new sun.security.pkcs.SignerInfo
dup
aload 8
aload 9
18: aload 11
invokestatic sun.security.x509.AlgorithmId.get:(Ljava/lang/String;)Lsun/security/x509/AlgorithmId;
aconst_null
19: aload 10
invokestatic sun.security.x509.AlgorithmId.get:(Ljava/lang/String;)Lsun/security/x509/AlgorithmId;
20: aload 0
aload 7
21: 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
astore 12
start local 12 22: iconst_1
anewarray sun.security.pkcs.SignerInfo
dup
iconst_0
aload 12
aastore
astore 13
start local 13 23: iconst_1
anewarray sun.security.x509.AlgorithmId
dup
iconst_0
aload 12
invokevirtual sun.security.pkcs.SignerInfo.getDigestAlgorithmId:()Lsun/security/x509/AlgorithmId;
aastore
astore 14
start local 14 24: aload 2
ifnonnull 26
25: new sun.security.pkcs.ContentInfo
dup
getstatic sun.security.pkcs.ContentInfo.DATA_OID:Lsun/security/util/ObjectIdentifier;
aconst_null
invokespecial sun.security.pkcs.ContentInfo.<init>:(Lsun/security/util/ObjectIdentifier;Lsun/security/util/DerValue;)V
goto 27
26: StackMap locals: byte[] java.security.cert.X509Certificate[] byte[] java.lang.String java.net.URI java.lang.String java.lang.String sun.security.pkcs.PKCS9Attributes sun.security.x509.X500Name java.math.BigInteger java.lang.String java.lang.String sun.security.pkcs.SignerInfo sun.security.pkcs.SignerInfo[] sun.security.x509.AlgorithmId[]
StackMap stack:
new sun.security.pkcs.ContentInfo
dup
aload 2
invokespecial sun.security.pkcs.ContentInfo.<init>:([B)V
27: StackMap locals:
StackMap stack: sun.security.pkcs.ContentInfo
astore 15
start local 15 28: new sun.security.pkcs.PKCS7
dup
aload 14
aload 15
29: aload 1
aload 13
30: invokespecial sun.security.pkcs.PKCS7.<init>:([Lsun/security/x509/AlgorithmId;Lsun/security/pkcs/ContentInfo;[Ljava/security/cert/X509Certificate;[Lsun/security/pkcs/SignerInfo;)V
astore 16
start local 16 31: new java.io.ByteArrayOutputStream
dup
invokespecial java.io.ByteArrayOutputStream.<init>:()V
astore 17
start local 17 32: aload 16
aload 17
invokevirtual sun.security.pkcs.PKCS7.encodeSignedData:(Ljava/io/OutputStream;)V
33: aload 17
invokevirtual java.io.ByteArrayOutputStream.toByteArray:()[B
areturn
end local 17 end local 16 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 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 34 0 signature [B
0 34 1 signerChain [Ljava/security/cert/X509Certificate;
0 34 2 content [B
0 34 3 signatureAlgorithm Ljava/lang/String;
0 34 4 tsaURI Ljava/net/URI;
0 34 5 tSAPolicyID Ljava/lang/String;
0 34 6 tSADigestAlg Ljava/lang/String;
1 34 7 unauthAttrs Lsun/security/pkcs/PKCS9Attributes;
3 12 8 tsa Lsun/security/timestamp/HttpTimestamper;
5 12 9 tsToken [B
14 34 8 issuerName Lsun/security/x509/X500Name;
15 34 9 serialNumber Ljava/math/BigInteger;
16 34 10 encAlg Ljava/lang/String;
17 34 11 digAlg Ljava/lang/String;
22 34 12 signerInfo Lsun/security/pkcs/SignerInfo;
23 34 13 signerInfos [Lsun/security/pkcs/SignerInfo;
24 34 14 algorithms [Lsun/security/x509/AlgorithmId;
28 34 15 contentInfo Lsun/security/pkcs/ContentInfo;
31 34 16 pkcs7 Lsun/security/pkcs/PKCS7;
32 34 17 p7out Ljava/io/ByteArrayOutputStream;
Exceptions:
throws java.security.cert.CertificateException, java.io.IOException, java.security.NoSuchAlgorithmException
MethodParameters:
Name Flags
signature
signerChain
content
signatureAlgorithm
tsaURI
tSAPolicyID
tSADigestAlg
private static byte[] generateTimestampToken(sun.security.timestamp.Timestamper, java.lang.String, java.lang.String, byte[]);
descriptor: (Lsun/security/timestamp/Timestamper;Ljava/lang/String;Ljava/lang/String;[B)[B
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=18, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aconst_null
astore 4
start local 4 1: aconst_null
astore 5
start local 5 2: aload 2
invokestatic java.security.MessageDigest.getInstance:(Ljava/lang/String;)Ljava/security/MessageDigest;
astore 4
3: new sun.security.timestamp.TSRequest
dup
aload 1
aload 3
aload 4
invokespecial sun.security.timestamp.TSRequest.<init>:(Ljava/lang/String;[BLjava/security/MessageDigest;)V
astore 5
4: goto 7
StackMap locals: sun.security.timestamp.Timestamper java.lang.String java.lang.String byte[] java.security.MessageDigest sun.security.timestamp.TSRequest
StackMap stack: java.security.NoSuchAlgorithmException
5: astore 6
start local 6 6: new java.lang.IllegalArgumentException
dup
aload 6
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 6 7: StackMap locals:
StackMap stack:
aconst_null
astore 6
start local 6 8: getstatic sun.security.pkcs.PKCS7$SecureRandomHolder.RANDOM:Ljava/security/SecureRandom;
ifnull 11
9: new java.math.BigInteger
dup
bipush 64
getstatic sun.security.pkcs.PKCS7$SecureRandomHolder.RANDOM:Ljava/security/SecureRandom;
invokespecial java.math.BigInteger.<init>:(ILjava/util/Random;)V
astore 6
10: aload 5
aload 6
invokevirtual sun.security.timestamp.TSRequest.setNonce:(Ljava/math/BigInteger;)V
11: StackMap locals: java.math.BigInteger
StackMap stack:
aload 5
iconst_1
invokevirtual sun.security.timestamp.TSRequest.requestCertificate:(Z)V
12: aload 0
aload 5
invokeinterface sun.security.timestamp.Timestamper.generateTimestamp:(Lsun/security/timestamp/TSRequest;)Lsun/security/timestamp/TSResponse;
astore 7
start local 7 13: aload 7
invokevirtual sun.security.timestamp.TSResponse.getStatusCode:()I
istore 8
start local 8 14: iload 8
ifeq 19
iload 8
iconst_1
if_icmpeq 19
15: new java.io.IOException
dup
new java.lang.StringBuilder
dup
ldc "Error generating timestamp: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
16: aload 7
invokevirtual sun.security.timestamp.TSResponse.getStatusCodeAsText:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
17: aload 7
invokevirtual sun.security.timestamp.TSResponse.getFailureCodeAsText:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
18: invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
19: StackMap locals: sun.security.timestamp.TSResponse int
StackMap stack:
aload 1
ifnull 22
20: aload 1
aload 7
invokevirtual sun.security.timestamp.TSResponse.getTimestampToken:()Lsun/security/timestamp/TimestampToken;
invokevirtual sun.security.timestamp.TimestampToken.getPolicyID:()Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 22
21: new java.io.IOException
dup
ldc "TSAPolicyID changed in timestamp token"
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
22: StackMap locals:
StackMap stack:
aload 7
invokevirtual sun.security.timestamp.TSResponse.getToken:()Lsun/security/pkcs/PKCS7;
astore 9
start local 9 23: aload 7
invokevirtual sun.security.timestamp.TSResponse.getTimestampToken:()Lsun/security/timestamp/TimestampToken;
astore 10
start local 10 24: aload 10
invokevirtual sun.security.timestamp.TimestampToken.getHashAlgorithm:()Lsun/security/x509/AlgorithmId;
aload 2
invokestatic sun.security.x509.AlgorithmId.get:(Ljava/lang/String;)Lsun/security/x509/AlgorithmId;
invokevirtual sun.security.x509.AlgorithmId.equals:(Lsun/security/x509/AlgorithmId;)Z
ifne 30
25: new java.io.IOException
dup
new java.lang.StringBuilder
dup
ldc "Digest algorithm not "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " in "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
26: ldc "timestamp token"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
27: invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
28: StackMap locals: sun.security.timestamp.Timestamper java.lang.String java.lang.String byte[] java.security.MessageDigest sun.security.timestamp.TSRequest java.math.BigInteger sun.security.timestamp.TSResponse int sun.security.pkcs.PKCS7 sun.security.timestamp.TimestampToken
StackMap stack: java.security.NoSuchAlgorithmException
pop
29: new java.lang.IllegalArgumentException
dup
invokespecial java.lang.IllegalArgumentException.<init>:()V
athrow
30: StackMap locals:
StackMap stack:
aload 10
invokevirtual sun.security.timestamp.TimestampToken.getHashedMessage:()[B
31: aload 5
invokevirtual sun.security.timestamp.TSRequest.getHashedMessage:()[B
32: invokestatic java.security.MessageDigest.isEqual:([B[B)Z
33: ifne 35
34: new java.io.IOException
dup
ldc "Digest octets changed in timestamp token"
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
35: StackMap locals:
StackMap stack:
aload 10
invokevirtual sun.security.timestamp.TimestampToken.getNonce:()Ljava/math/BigInteger;
astore 11
start local 11 36: aload 11
ifnonnull 38
aload 6
ifnull 38
37: new java.io.IOException
dup
ldc "Nonce missing in timestamp token"
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
38: StackMap locals: java.math.BigInteger
StackMap stack:
aload 11
ifnull 40
aload 11
aload 6
invokevirtual java.math.BigInteger.equals:(Ljava/lang/Object;)Z
ifne 40
39: new java.io.IOException
dup
ldc "Nonce changed in timestamp token"
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
40: StackMap locals:
StackMap stack:
aload 9
invokevirtual sun.security.pkcs.PKCS7.getSignerInfos:()[Lsun/security/pkcs/SignerInfo;
dup
astore 15
arraylength
istore 14
iconst_0
istore 13
goto 61
StackMap locals: sun.security.timestamp.Timestamper java.lang.String java.lang.String byte[] java.security.MessageDigest sun.security.timestamp.TSRequest java.math.BigInteger sun.security.timestamp.TSResponse int sun.security.pkcs.PKCS7 sun.security.timestamp.TimestampToken java.math.BigInteger top int int sun.security.pkcs.SignerInfo[]
StackMap stack:
41: aload 15
iload 13
aaload
astore 12
start local 12 42: aload 12
aload 9
invokevirtual sun.security.pkcs.SignerInfo.getCertificate:(Lsun/security/pkcs/PKCS7;)Ljava/security/cert/X509Certificate;
astore 16
start local 16 43: aload 16
ifnonnull 47
44: new java.security.cert.CertificateException
dup
45: ldc "Certificate not included in timestamp token"
46: invokespecial java.security.cert.CertificateException.<init>:(Ljava/lang/String;)V
athrow
47: StackMap locals: sun.security.timestamp.Timestamper java.lang.String java.lang.String byte[] java.security.MessageDigest sun.security.timestamp.TSRequest java.math.BigInteger sun.security.timestamp.TSResponse int sun.security.pkcs.PKCS7 sun.security.timestamp.TimestampToken java.math.BigInteger sun.security.pkcs.SignerInfo int int sun.security.pkcs.SignerInfo[] java.security.cert.X509Certificate
StackMap stack:
aload 16
invokevirtual java.security.cert.X509Certificate.getCriticalExtensionOIDs:()Ljava/util/Set;
48: ldc "2.5.29.37"
49: invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
50: ifne 54
51: new java.security.cert.CertificateException
dup
52: ldc "Certificate is not valid for timestamping"
53: invokespecial java.security.cert.CertificateException.<init>:(Ljava/lang/String;)V
athrow
54: StackMap locals:
StackMap stack:
aload 16
invokevirtual java.security.cert.X509Certificate.getExtendedKeyUsage:()Ljava/util/List;
astore 17
start local 17 55: aload 17
ifnull 57
56: aload 17
ldc "1.3.6.1.5.5.7.3.8"
invokeinterface java.util.List.contains:(Ljava/lang/Object;)Z
ifne 60
57: StackMap locals: java.util.List
StackMap stack:
new java.security.cert.CertificateException
dup
58: ldc "Certificate is not valid for timestamping"
59: invokespecial java.security.cert.CertificateException.<init>:(Ljava/lang/String;)V
athrow
end local 17 end local 16 end local 12 60: StackMap locals: sun.security.timestamp.Timestamper java.lang.String java.lang.String byte[] java.security.MessageDigest sun.security.timestamp.TSRequest java.math.BigInteger sun.security.timestamp.TSResponse int sun.security.pkcs.PKCS7 sun.security.timestamp.TimestampToken java.math.BigInteger top int int sun.security.pkcs.SignerInfo[]
StackMap stack:
iinc 13 1
StackMap locals:
StackMap stack:
61: iload 13
iload 14
if_icmplt 41
62: aload 7
invokevirtual sun.security.timestamp.TSResponse.getEncodedToken:()[B
areturn
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 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 63 0 tsa Lsun/security/timestamp/Timestamper;
0 63 1 tSAPolicyID Ljava/lang/String;
0 63 2 tSADigestAlg Ljava/lang/String;
0 63 3 toBeTimestamped [B
1 63 4 messageDigest Ljava/security/MessageDigest;
2 63 5 tsQuery Lsun/security/timestamp/TSRequest;
6 7 6 e Ljava/security/NoSuchAlgorithmException;
8 63 6 nonce Ljava/math/BigInteger;
13 63 7 tsReply Lsun/security/timestamp/TSResponse;
14 63 8 status I
23 63 9 tsToken Lsun/security/pkcs/PKCS7;
24 63 10 tst Lsun/security/timestamp/TimestampToken;
36 63 11 replyNonce Ljava/math/BigInteger;
42 60 12 si Lsun/security/pkcs/SignerInfo;
43 60 16 cert Ljava/security/cert/X509Certificate;
55 60 17 keyPurposes Ljava/util/List<Ljava/lang/String;>;
Exception table:
from to target type
2 4 5 Class java.security.NoSuchAlgorithmException
24 28 28 Class java.security.NoSuchAlgorithmException
Exceptions:
throws java.io.IOException, java.security.cert.CertificateException
MethodParameters:
Name Flags
tsa
tSAPolicyID
tSADigestAlg
toBeTimestamped
}
SourceFile: "PKCS7.java"
NestMembers:
sun.security.pkcs.PKCS7$SecureRandomHolder
InnerClasses:
private SecureRandomHolder = sun.security.pkcs.PKCS7$SecureRandomHolder of sun.security.pkcs.PKCS7