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=4, 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 14
StackMap locals:
StackMap stack: java.io.IOException
3: pop
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 14
StackMap locals:
StackMap stack: java.io.IOException
8: astore 2
start local 2 9: new sun.security.pkcs.ParsingException
dup
10: aload 2
invokevirtual java.io.IOException.getMessage:()Ljava/lang/String;
11: invokespecial sun.security.pkcs.ParsingException.<init>:(Ljava/lang/String;)V
astore 3
start local 3 12: aload 3
aload 2
invokevirtual sun.security.pkcs.ParsingException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
pop
13: aload 3
athrow
end local 3 end local 2 14: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lsun/security/pkcs/PKCS7;
0 15 1 derin Lsun/security/util/DerInputStream;
9 14 2 ioe1 Ljava/io/IOException;
12 14 3 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[], 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=2, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 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.signerInfos:[Lsun/security/pkcs/SignerInfo;
13: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lsun/security/pkcs/PKCS7;
0 14 1 digestAlgorithmIds [Lsun/security/x509/AlgorithmId;
0 14 2 contentInfo Lsun/security/pkcs/ContentInfo;
0 14 3 certificates [Ljava/security/cert/X509Certificate;
0 14 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=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 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 57
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: goto 56
30: StackMap locals: sun.security.util.DerValue[] int
StackMap stack:
aconst_null
astore 8
start local 8 31: aload 5
ifnonnull 33
32: 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 53
33: StackMap locals: java.io.ByteArrayInputStream
StackMap stack:
aload 6
iload 7
aaload
invokevirtual sun.security.util.DerValue.toByteArray:()[B
astore 9
start local 9 34: new java.io.ByteArrayInputStream
dup
aload 9
invokespecial java.io.ByteArrayInputStream.<init>:([B)V
astore 8
35: aload 0
getfield sun.security.pkcs.PKCS7.certificates:[Ljava/security/cert/X509Certificate;
iload 7
36: aload 5
aload 8
invokevirtual java.security.cert.CertificateFactory.generateCertificate:(Ljava/io/InputStream;)Ljava/security/cert/Certificate;
checkcast java.security.cert.X509Certificate
37: aastore
38: aload 8
invokevirtual java.io.ByteArrayInputStream.close:()V
39: aconst_null
astore 8
end local 9 40: goto 53
StackMap locals:
StackMap stack: java.security.cert.CertificateException
41: astore 9
start local 9 42: 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 43: aload 10
aload 9
invokevirtual sun.security.pkcs.ParsingException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
pop
44: aload 10
athrow
end local 10 end local 9 45: StackMap locals:
StackMap stack: java.io.IOException
astore 9
start local 9 46: 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 47: aload 10
aload 9
invokevirtual sun.security.pkcs.ParsingException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
pop
48: aload 10
athrow
end local 10 end local 9 49: StackMap locals:
StackMap stack: java.lang.Throwable
astore 11
50: aload 8
ifnull 52
51: aload 8
invokevirtual java.io.ByteArrayInputStream.close:()V
52: 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
53: 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 55
54: aload 8
invokevirtual java.io.ByteArrayInputStream.close:()V
end local 8 55: StackMap locals:
StackMap stack:
iinc 7 1
StackMap locals:
StackMap stack:
56: iload 7
iload 4
if_icmplt 30
end local 7 end local 6 57: StackMap locals:
StackMap stack:
aload 2
invokevirtual sun.security.util.DerInputStream.peekByte:()I
i2b
bipush -95
if_icmpne 85
58: aload 2
iconst_1
iconst_1
invokevirtual sun.security.util.DerInputStream.getSet:(IZ)[Lsun/security/util/DerValue;
astore 6
start local 6 59: aload 6
arraylength
istore 4
60: aload 0
iload 4
anewarray java.security.cert.X509CRL
putfield sun.security.pkcs.PKCS7.crls:[Ljava/security/cert/X509CRL;
61: iconst_0
istore 7
start local 7 62: goto 84
63: StackMap locals: sun.security.util.DerValue[] int
StackMap stack:
aconst_null
astore 8
start local 8 64: aload 5
ifnonnull 66
65: 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 81
66: StackMap locals: java.io.ByteArrayInputStream
StackMap stack:
aload 6
iload 7
aaload
invokevirtual sun.security.util.DerValue.toByteArray:()[B
astore 9
start local 9 67: new java.io.ByteArrayInputStream
dup
aload 9
invokespecial java.io.ByteArrayInputStream.<init>:([B)V
astore 8
68: 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
69: aload 8
invokevirtual java.io.ByteArrayInputStream.close:()V
70: aconst_null
astore 8
end local 9 71: goto 81
StackMap locals:
StackMap stack: java.security.cert.CRLException
72: astore 9
start local 9 73: 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
74: astore 10
start local 10 75: aload 10
aload 9
invokevirtual sun.security.pkcs.ParsingException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
pop
76: aload 10
athrow
end local 10 end local 9 77: StackMap locals:
StackMap stack: java.lang.Throwable
astore 11
78: aload 8
ifnull 80
79: aload 8
invokevirtual java.io.ByteArrayInputStream.close:()V
80: 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
81: 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 83
82: aload 8
invokevirtual java.io.ByteArrayInputStream.close:()V
end local 8 83: StackMap locals:
StackMap stack:
iinc 7 1
StackMap locals:
StackMap stack:
84: iload 7
iload 4
if_icmplt 63
end local 7 end local 6 85: StackMap locals:
StackMap stack:
aload 2
iconst_1
invokevirtual sun.security.util.DerInputStream.getSet:(I)[Lsun/security/util/DerValue;
astore 6
start local 6 86: aload 6
arraylength
istore 4
87: aload 0
iload 4
anewarray sun.security.pkcs.SignerInfo
putfield sun.security.pkcs.PKCS7.signerInfos:[Lsun/security/pkcs/SignerInfo;
88: iconst_0
istore 7
start local 7 89: goto 93
90: 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 91: 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 92: iinc 7 1
StackMap locals:
StackMap stack:
93: iload 7
iload 4
if_icmplt 90
end local 7 94: 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 95 0 this Lsun/security/pkcs/PKCS7;
0 95 1 val Lsun/security/util/DerValue;
1 95 2 dis Lsun/security/util/DerInputStream;
3 95 3 digestAlgorithmIdVals [Lsun/security/util/DerValue;
4 95 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 95 5 certfac Ljava/security/cert/CertificateFactory;
26 57 6 certVals [Lsun/security/util/DerValue;
29 57 7 i I
31 55 8 bais Ljava/io/ByteArrayInputStream;
34 40 9 encoded [B
42 45 9 ce Ljava/security/cert/CertificateException;
43 45 10 pe Lsun/security/pkcs/ParsingException;
46 49 9 ioe Ljava/io/IOException;
47 49 10 pe Lsun/security/pkcs/ParsingException;
59 85 6 crlVals [Lsun/security/util/DerValue;
62 85 7 i I
64 83 8 bais Ljava/io/ByteArrayInputStream;
67 71 9 encoded [B
73 77 9 e Ljava/security/cert/CRLException;
75 77 10 pe Lsun/security/pkcs/ParsingException;
86 95 6 signerInfoVals [Lsun/security/util/DerValue;
89 94 7 i I
91 92 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
31 40 41 Class java.security.cert.CertificateException
31 40 45 Class java.io.IOException
31 49 49 any
64 71 72 Class java.security.cert.CRLException
64 77 77 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=6, 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 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
19: new sun.security.util.DerValue
dup
bipush 48
20: aload 2
invokevirtual sun.security.util.DerOutputStream.toByteArray:()[B
21: invokespecial sun.security.util.DerValue.<init>:(B[B)V
astore 3
start local 3 22: new sun.security.pkcs.ContentInfo
dup
getstatic sun.security.pkcs.ContentInfo.SIGNED_DATA_OID:Lsun/security/util/ObjectIdentifier;
23: aload 3
24: invokespecial sun.security.pkcs.ContentInfo.<init>:(Lsun/security/util/ObjectIdentifier;Lsun/security/util/DerValue;)V
astore 4
start local 4 25: aload 4
aload 1
invokevirtual sun.security.pkcs.ContentInfo.encode:(Lsun/security/util/DerOutputStream;)V
26: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 27 0 this Lsun/security/pkcs/PKCS7;
0 27 1 out Lsun/security/util/DerOutputStream;
1 27 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;
22 27 3 signedDataSeq Lsun/security/util/DerValue;
25 27 4 block Lsun/security/pkcs/ContentInfo;
Exception table:
from to target type
10 12 13 Class java.security.cert.CertificateException
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