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
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=5, args_size=3
start local 0 start local 1 start local 2 0: new sun.security.pkcs.ContentInfo
dup
aload 1
iload 2
invokespecial sun.security.pkcs.ContentInfo.<init>:(Lsun/security/util/DerInputStream;Z)V
astore 3
start local 3 1: aload 0
aload 3
getfield sun.security.pkcs.ContentInfo.contentType:Lsun/security/util/ObjectIdentifier;
putfield sun.security.pkcs.PKCS7.contentType:Lsun/security/util/ObjectIdentifier;
2: aload 3
invokevirtual sun.security.pkcs.ContentInfo.getContent:()Lsun/security/util/DerValue;
astore 4
start local 4 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 4
invokevirtual sun.security.pkcs.PKCS7.parseSignedData:(Lsun/security/util/DerValue;)V
5: goto 16
StackMap locals: sun.security.pkcs.ContentInfo 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 4
invokevirtual sun.security.pkcs.PKCS7.parseOldSignedData:(Lsun/security/util/DerValue;)V
8: goto 16
StackMap locals:
StackMap stack:
9: aload 0
getfield sun.security.pkcs.PKCS7.contentType:Lsun/security/util/ObjectIdentifier;
getstatic sun.security.pkcs.ContentInfo.NETSCAPE_CERT_SEQUENCE_OID:Lsun/security/util/ObjectIdentifier;
invokevirtual sun.security.util.ObjectIdentifier.equals:(Ljava/lang/Object;)Z
ifeq 13
10: aload 0
aload 4
invokevirtual sun.security.pkcs.PKCS7.parseNetscapeCertChain:(Lsun/security/util/DerValue;)V
11: aload 0
aload 3
putfield sun.security.pkcs.PKCS7.contentInfo:Lsun/security/pkcs/ContentInfo;
12: goto 16
13: 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;
14: ldc " not supported."
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
athrow
16: StackMap locals:
StackMap stack:
return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Lsun/security/pkcs/PKCS7;
0 17 1 derin Lsun/security/util/DerInputStream;
0 17 2 oldStyle Z
1 17 3 block Lsun/security/pkcs/ContentInfo;
3 17 4 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[] generateNewSignedData(java.lang.String, java.security.Provider, java.security.PrivateKey, java.security.cert.X509Certificate[], byte[], boolean, boolean, java.util.function.Function<byte[], sun.security.pkcs.PKCS9Attributes>);
descriptor: (Ljava/lang/String;Ljava/security/Provider;Ljava/security/PrivateKey;[Ljava/security/cert/X509Certificate;[BZZLjava/util/function/Function;)[B
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=10, locals=17, args_size=8
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 0: aload 0
aload 2
aload 1
invokestatic sun.security.util.SignatureUtil.fromKey:(Ljava/lang/String;Ljava/security/Key;Ljava/security/Provider;)Ljava/security/Signature;
astore 8
start local 8 1: aload 8
aload 0
aload 2
iload 6
2: invokestatic sun.security.util.SignatureUtil.getDigestAlgInPkcs7SignerInfo:(Ljava/security/Signature;Ljava/lang/String;Ljava/security/PrivateKey;Z)Lsun/security/x509/AlgorithmId;
astore 9
start local 9 3: aload 8
aload 2
invokestatic sun.security.util.SignatureUtil.fromSignature:(Ljava/security/Signature;Ljava/security/PrivateKey;)Lsun/security/x509/AlgorithmId;
astore 10
start local 10 4: aconst_null
astore 11
start local 11 5: iload 6
ifne 38
6: aload 9
invokevirtual sun.security.x509.AlgorithmId.getName:()Ljava/lang/String;
astore 13
start local 13 7: aload 13
ldc "SHAKE256"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 8
aload 13
ldc "SHAKE256-LEN"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 12
8: StackMap locals: java.lang.String java.security.Provider java.security.PrivateKey java.security.cert.X509Certificate[] byte[] int int java.util.function.Function java.security.Signature sun.security.x509.AlgorithmId sun.security.x509.AlgorithmId sun.security.pkcs.PKCS9Attributes top java.lang.String
StackMap stack:
new sun.security.provider.SHAKE256
dup
bipush 64
invokespecial sun.security.provider.SHAKE256.<init>:(I)V
astore 14
start local 14 9: aload 14
aload 4
iconst_0
aload 4
arraylength
invokevirtual sun.security.provider.SHAKE256.update:([BII)V
10: aload 14
invokevirtual sun.security.provider.SHAKE256.digest:()[B
astore 12
end local 14 start local 12 11: goto 15
end local 12 12: StackMap locals:
StackMap stack:
aload 13
invokestatic java.security.MessageDigest.getInstance:(Ljava/lang/String;)Ljava/security/MessageDigest;
13: aload 4
invokevirtual java.security.MessageDigest.digest:([B)[B
14: astore 12
start local 12 15: StackMap locals: java.lang.String java.security.Provider java.security.PrivateKey java.security.cert.X509Certificate[] byte[] int int java.util.function.Function java.security.Signature sun.security.x509.AlgorithmId sun.security.x509.AlgorithmId sun.security.pkcs.PKCS9Attributes byte[] java.lang.String
StackMap stack:
new sun.security.util.DerOutputStream
dup
invokespecial sun.security.util.DerOutputStream.<init>:()V
astore 14
start local 14 16: new sun.security.util.DerOutputStream
dup
invokespecial sun.security.util.DerOutputStream.<init>:()V
astore 15
start local 15 17: aload 9
aload 15
invokevirtual sun.security.x509.AlgorithmId.derEncode:(Ljava/io/OutputStream;)V
18: new sun.security.util.DerOutputStream
dup
invokespecial sun.security.util.DerOutputStream.<init>:()V
astore 16
start local 16 19: aload 10
aload 16
invokevirtual sun.security.x509.AlgorithmId.derEncode:(Ljava/io/OutputStream;)V
20: aload 15
bipush -95
aload 16
invokevirtual sun.security.util.DerOutputStream.writeImplicit:(BLsun/security/util/DerOutputStream;)V
21: aload 14
bipush 48
aload 15
invokevirtual sun.security.util.DerOutputStream.write:(BLsun/security/util/DerOutputStream;)V
22: new sun.security.pkcs.PKCS9Attributes
dup
iconst_4
anewarray sun.security.pkcs.PKCS9Attribute
dup
iconst_0
23: new sun.security.pkcs.PKCS9Attribute
dup
getstatic sun.security.pkcs.PKCS9Attribute.CONTENT_TYPE_OID:Lsun/security/util/ObjectIdentifier;
24: getstatic sun.security.pkcs.ContentInfo.DATA_OID:Lsun/security/util/ObjectIdentifier;
25: invokespecial sun.security.pkcs.PKCS9Attribute.<init>:(Lsun/security/util/ObjectIdentifier;Ljava/lang/Object;)V
aastore
dup
iconst_1
26: new sun.security.pkcs.PKCS9Attribute
dup
getstatic sun.security.pkcs.PKCS9Attribute.SIGNING_TIME_OID:Lsun/security/util/ObjectIdentifier;
27: new java.util.Date
dup
invokespecial java.util.Date.<init>:()V
28: invokespecial sun.security.pkcs.PKCS9Attribute.<init>:(Lsun/security/util/ObjectIdentifier;Ljava/lang/Object;)V
aastore
dup
iconst_2
29: new sun.security.pkcs.PKCS9Attribute
dup
getstatic sun.security.pkcs.PKCS9Attribute.CMS_ALGORITHM_PROTECTION_OID:Lsun/security/util/ObjectIdentifier;
30: aload 14
invokevirtual sun.security.util.DerOutputStream.toByteArray:()[B
31: invokespecial sun.security.pkcs.PKCS9Attribute.<init>:(Lsun/security/util/ObjectIdentifier;Ljava/lang/Object;)V
aastore
dup
iconst_3
32: new sun.security.pkcs.PKCS9Attribute
dup
getstatic sun.security.pkcs.PKCS9Attribute.MESSAGE_DIGEST_OID:Lsun/security/util/ObjectIdentifier;
33: aload 12
34: invokespecial sun.security.pkcs.PKCS9Attribute.<init>:(Lsun/security/util/ObjectIdentifier;Ljava/lang/Object;)V
aastore
35: invokespecial sun.security.pkcs.PKCS9Attributes.<init>:([Lsun/security/pkcs/PKCS9Attribute;)V
astore 11
36: aload 8
aload 11
invokevirtual sun.security.pkcs.PKCS9Attributes.getDerEncoding:()[B
invokevirtual java.security.Signature.update:([B)V
end local 16 end local 15 end local 14 end local 13 end local 12 37: goto 39
38: StackMap locals:
StackMap stack:
aload 8
aload 4
invokevirtual java.security.Signature.update:([B)V
39: StackMap locals:
StackMap stack:
aload 8
invokevirtual java.security.Signature.sign:()[B
astore 12
start local 12 40: aload 12
aload 3
41: iload 5
ifeq 42
aload 4
goto 43
StackMap locals: java.lang.String java.security.Provider java.security.PrivateKey java.security.cert.X509Certificate[] byte[] int int java.util.function.Function java.security.Signature sun.security.x509.AlgorithmId sun.security.x509.AlgorithmId sun.security.pkcs.PKCS9Attributes byte[]
StackMap stack: byte[] java.security.cert.X509Certificate[]
42: aconst_null
43: StackMap locals: java.lang.String java.security.Provider java.security.PrivateKey java.security.cert.X509Certificate[] byte[] int int java.util.function.Function java.security.Signature sun.security.x509.AlgorithmId sun.security.x509.AlgorithmId sun.security.pkcs.PKCS9Attributes byte[]
StackMap stack: byte[] java.security.cert.X509Certificate[] byte[]
aload 11
44: aload 7
ifnonnull 45
aconst_null
goto 46
StackMap locals: java.lang.String java.security.Provider java.security.PrivateKey java.security.cert.X509Certificate[] byte[] int int java.util.function.Function java.security.Signature sun.security.x509.AlgorithmId sun.security.x509.AlgorithmId sun.security.pkcs.PKCS9Attributes byte[]
StackMap stack: byte[] java.security.cert.X509Certificate[] byte[] sun.security.pkcs.PKCS9Attributes
45: aload 7
aload 12
invokeinterface java.util.function.Function.apply:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast sun.security.pkcs.PKCS9Attributes
46: StackMap locals: java.lang.String java.security.Provider java.security.PrivateKey java.security.cert.X509Certificate[] byte[] int int java.util.function.Function java.security.Signature sun.security.x509.AlgorithmId sun.security.x509.AlgorithmId sun.security.pkcs.PKCS9Attributes byte[]
StackMap stack: byte[] java.security.cert.X509Certificate[] byte[] sun.security.pkcs.PKCS9Attributes sun.security.pkcs.PKCS9Attributes
aload 9
47: aload 10
48: invokestatic sun.security.pkcs.PKCS7.constructToken:([B[Ljava/security/cert/X509Certificate;[BLsun/security/pkcs/PKCS9Attributes;Lsun/security/pkcs/PKCS9Attributes;Lsun/security/x509/AlgorithmId;Lsun/security/x509/AlgorithmId;)[B
areturn
end local 12 end local 11 end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 49 0 sigalg Ljava/lang/String;
0 49 1 sigProvider Ljava/security/Provider;
0 49 2 privateKey Ljava/security/PrivateKey;
0 49 3 signerChain [Ljava/security/cert/X509Certificate;
0 49 4 content [B
0 49 5 internalsf Z
0 49 6 directsign Z
0 49 7 ts Ljava/util/function/Function<[BLsun/security/pkcs/PKCS9Attributes;>;
1 49 8 signer Ljava/security/Signature;
3 49 9 digAlgID Lsun/security/x509/AlgorithmId;
4 49 10 sigAlgID Lsun/security/x509/AlgorithmId;
5 49 11 authAttrs Lsun/security/pkcs/PKCS9Attributes;
11 12 12 md [B
15 37 12 md [B
7 37 13 digAlgName Ljava/lang/String;
9 11 14 shaker Lsun/security/provider/SHAKE256;
16 37 14 derAp Lsun/security/util/DerOutputStream;
17 37 15 derAlgs Lsun/security/util/DerOutputStream;
19 37 16 derSigAlg Lsun/security/util/DerOutputStream;
40 49 12 signature [B
Exceptions:
throws java.security.SignatureException, java.security.InvalidKeyException, java.io.IOException, java.security.NoSuchAlgorithmException
Signature: (Ljava/lang/String;Ljava/security/Provider;Ljava/security/PrivateKey;[Ljava/security/cert/X509Certificate;[BZZLjava/util/function/Function<[BLsun/security/pkcs/PKCS9Attributes;>;)[B
MethodParameters:
Name Flags
sigalg
sigProvider
privateKey
signerChain
content
internalsf
directsign
ts
private static byte[] constructToken(byte[], java.security.cert.X509Certificate[], byte[], sun.security.pkcs.PKCS9Attributes, sun.security.pkcs.PKCS9Attributes, sun.security.x509.AlgorithmId, sun.security.x509.AlgorithmId);
descriptor: ([B[Ljava/security/cert/X509Certificate;[BLsun/security/pkcs/PKCS9Attributes;Lsun/security/pkcs/PKCS9Attributes;Lsun/security/x509/AlgorithmId;Lsun/security/x509/AlgorithmId;)[B
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=9, locals=15, 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: 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;
1: astore 7
start local 7 2: aload 1
iconst_0
aaload
invokevirtual java.security.cert.X509Certificate.getSerialNumber:()Ljava/math/BigInteger;
astore 8
start local 8 3: new sun.security.pkcs.SignerInfo
dup
aload 7
aload 8
4: aload 5
aload 3
5: aload 6
6: aload 0
aload 4
7: 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 9
start local 9 8: iconst_1
anewarray sun.security.pkcs.SignerInfo
dup
iconst_0
aload 9
aastore
astore 10
start local 10 9: iconst_1
anewarray sun.security.x509.AlgorithmId
dup
iconst_0
aload 9
invokevirtual sun.security.pkcs.SignerInfo.getDigestAlgorithmId:()Lsun/security/x509/AlgorithmId;
aastore
astore 11
start local 11 10: aload 2
ifnonnull 12
11: 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 13
12: StackMap locals: byte[] java.security.cert.X509Certificate[] byte[] sun.security.pkcs.PKCS9Attributes sun.security.pkcs.PKCS9Attributes sun.security.x509.AlgorithmId sun.security.x509.AlgorithmId sun.security.x509.X500Name java.math.BigInteger 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
13: StackMap locals:
StackMap stack: sun.security.pkcs.ContentInfo
astore 12
start local 12 14: new sun.security.pkcs.PKCS7
dup
aload 11
aload 12
15: aload 1
aload 10
16: invokespecial sun.security.pkcs.PKCS7.<init>:([Lsun/security/x509/AlgorithmId;Lsun/security/pkcs/ContentInfo;[Ljava/security/cert/X509Certificate;[Lsun/security/pkcs/SignerInfo;)V
astore 13
start local 13 17: new java.io.ByteArrayOutputStream
dup
invokespecial java.io.ByteArrayOutputStream.<init>:()V
astore 14
start local 14 18: aload 13
aload 14
invokevirtual sun.security.pkcs.PKCS7.encodeSignedData:(Ljava/io/OutputStream;)V
19: aload 14
invokevirtual java.io.ByteArrayOutputStream.toByteArray:()[B
areturn
end local 14 end local 13 end local 12 end local 11 end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 signature [B
0 20 1 signerChain [Ljava/security/cert/X509Certificate;
0 20 2 content [B
0 20 3 authAttrs Lsun/security/pkcs/PKCS9Attributes;
0 20 4 unauthAttrs Lsun/security/pkcs/PKCS9Attributes;
0 20 5 digAlgID Lsun/security/x509/AlgorithmId;
0 20 6 encAlgID Lsun/security/x509/AlgorithmId;
2 20 7 issuerName Lsun/security/x509/X500Name;
3 20 8 serialNumber Ljava/math/BigInteger;
8 20 9 signerInfo Lsun/security/pkcs/SignerInfo;
9 20 10 signerInfos [Lsun/security/pkcs/SignerInfo;
10 20 11 algorithms [Lsun/security/x509/AlgorithmId;
14 20 12 contentInfo Lsun/security/pkcs/ContentInfo;
17 20 13 pkcs7 Lsun/security/pkcs/PKCS7;
18 20 14 p7out Ljava/io/ByteArrayOutputStream;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
signature
signerChain
content
authAttrs
unauthAttrs
digAlgID
encAlgID
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=10, 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: getstatic sun.security.pkcs.PKCS9Attribute.SIGNATURE_TIMESTAMP_TOKEN_OID:Lsun/security/util/ObjectIdentifier;
8: aload 9
9: invokespecial sun.security.pkcs.PKCS9Attribute.<init>:(Lsun/security/util/ObjectIdentifier;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 0
aload 1
aload 2
13: aconst_null
14: aload 7
15: aload 3
invokestatic sun.security.util.SignatureUtil.extractDigestAlgFromDwithE:(Ljava/lang/String;)Ljava/lang/String;
invokestatic sun.security.x509.AlgorithmId.get:(Ljava/lang/String;)Lsun/security/x509/AlgorithmId;
16: aload 3
invokestatic sun.security.x509.AlgorithmId.get:(Ljava/lang/String;)Lsun/security/x509/AlgorithmId;
17: invokestatic sun.security.pkcs.PKCS7.constructToken:([B[Ljava/security/cert/X509Certificate;[BLsun/security/pkcs/PKCS9Attributes;Lsun/security/pkcs/PKCS9Attributes;Lsun/security/x509/AlgorithmId;Lsun/security/x509/AlgorithmId;)[B
areturn
end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 signature [B
0 18 1 signerChain [Ljava/security/cert/X509Certificate;
0 18 2 content [B
0 18 3 signatureAlgorithm Ljava/lang/String;
0 18 4 tsaURI Ljava/net/URI;
0 18 5 tSAPolicyID Ljava/lang/String;
0 18 6 tSADigestAlg Ljava/lang/String;
1 18 7 unauthAttrs Lsun/security/pkcs/PKCS9Attributes;
3 12 8 tsa Lsun/security/timestamp/HttpTimestamper;
5 12 9 tsToken [B
Exceptions:
throws java.security.cert.CertificateException, java.io.IOException, java.security.NoSuchAlgorithmException
RuntimeVisibleAnnotations:
java.lang.Deprecated(since = "16", forRemoval = true)
MethodParameters:
Name Flags
signature
signerChain
content
signatureAlgorithm
tsaURI
tSAPolicyID
tSADigestAlg
public static java.net.URI getTimestampingURI(java.security.cert.X509Certificate);
descriptor: (Ljava/security/cert/X509Certificate;)Ljava/net/URI;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=8, args_size=1
start local 0 0: aload 0
ifnonnull 2
1: aconst_null
areturn
2: StackMap locals:
StackMap stack:
aload 0
3: getstatic sun.security.util.KnownOIDs.SubjectInfoAccess:Lsun/security/util/KnownOIDs;
invokevirtual sun.security.util.KnownOIDs.value:()Ljava/lang/String;
4: invokevirtual java.security.cert.X509Certificate.getExtensionValue:(Ljava/lang/String;)[B
astore 1
start local 1 5: aload 1
ifnonnull 7
6: aconst_null
areturn
7: StackMap locals: byte[]
StackMap stack:
new sun.security.util.DerInputStream
dup
aload 1
invokespecial sun.security.util.DerInputStream.<init>:([B)V
astore 2
start local 2 8: new sun.security.util.DerInputStream
dup
aload 2
invokevirtual sun.security.util.DerInputStream.getOctetString:()[B
invokespecial sun.security.util.DerInputStream.<init>:([B)V
astore 2
9: aload 2
iconst_5
invokevirtual sun.security.util.DerInputStream.getSequence:(I)[Lsun/security/util/DerValue;
astore 3
start local 3 10: iconst_0
istore 7
start local 7 11: goto 23
12: StackMap locals: java.security.cert.X509Certificate byte[] sun.security.util.DerInputStream sun.security.util.DerValue[] top top top int
StackMap stack:
new sun.security.x509.AccessDescription
dup
aload 3
iload 7
aaload
invokespecial sun.security.x509.AccessDescription.<init>:(Lsun/security/util/DerValue;)V
astore 4
start local 4 13: aload 4
invokevirtual sun.security.x509.AccessDescription.getAccessMethod:()Lsun/security/util/ObjectIdentifier;
14: getstatic sun.security.util.KnownOIDs.AD_TimeStamping:Lsun/security/util/KnownOIDs;
invokestatic sun.security.util.ObjectIdentifier.of:(Lsun/security/util/KnownOIDs;)Lsun/security/util/ObjectIdentifier;
invokevirtual sun.security.util.ObjectIdentifier.equals:(Ljava/lang/Object;)Z
ifeq 22
15: aload 4
invokevirtual sun.security.x509.AccessDescription.getAccessLocation:()Lsun/security/x509/GeneralName;
astore 5
start local 5 16: aload 5
invokevirtual sun.security.x509.GeneralName.getType:()I
bipush 6
if_icmpne 22
17: aload 5
invokevirtual sun.security.x509.GeneralName.getName:()Lsun/security/x509/GeneralNameInterface;
checkcast sun.security.x509.URIName
astore 6
start local 6 18: aload 6
invokevirtual sun.security.x509.URIName.getScheme:()Ljava/lang/String;
ldc "http"
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifne 20
19: aload 6
invokevirtual sun.security.x509.URIName.getScheme:()Ljava/lang/String;
ldc "https"
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifeq 22
20: StackMap locals: java.security.cert.X509Certificate byte[] sun.security.util.DerInputStream sun.security.util.DerValue[] sun.security.x509.AccessDescription sun.security.x509.GeneralName sun.security.x509.URIName int
StackMap stack:
aload 6
invokevirtual sun.security.x509.URIName.getURI:()Ljava/net/URI;
21: areturn
end local 6 end local 5 22: StackMap locals: java.security.cert.X509Certificate byte[] sun.security.util.DerInputStream sun.security.util.DerValue[] sun.security.x509.AccessDescription top top int
StackMap stack:
iinc 7 1
end local 4 StackMap locals: java.security.cert.X509Certificate byte[] sun.security.util.DerInputStream sun.security.util.DerValue[] top top top int
StackMap stack:
23: iload 7
aload 3
arraylength
if_icmplt 12
end local 7 end local 3 end local 2 end local 1 24: goto 26
StackMap locals: java.security.cert.X509Certificate
StackMap stack: java.io.IOException
25: pop
26: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 27 0 tsaCertificate Ljava/security/cert/X509Certificate;
5 24 1 extensionValue [B
8 24 2 der Lsun/security/util/DerInputStream;
10 24 3 derValue [Lsun/security/util/DerValue;
13 23 4 description Lsun/security/x509/AccessDescription;
16 22 5 location Lsun/security/x509/GeneralName;
18 22 6 uri Lsun/security/x509/URIName;
11 24 7 i I
Exception table:
from to target type
2 6 25 Class java.io.IOException
7 21 25 Class java.io.IOException
22 24 25 Class java.io.IOException
MethodParameters:
Name Flags
tsaCertificate
public 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: (0x0009) ACC_PUBLIC, 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: getstatic sun.security.util.KnownOIDs.extendedKeyUsage:Lsun/security/util/KnownOIDs;
invokevirtual sun.security.util.KnownOIDs.value:()Ljava/lang/String;
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
getstatic sun.security.util.KnownOIDs.KP_TimeStamping:Lsun/security/util/KnownOIDs;
invokevirtual sun.security.util.KnownOIDs.value:()Ljava/lang/String;
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