public class sun.security.pkcs.PKCS7
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: sun.security.pkcs.PKCS7
  super_class: java.lang.Object
{
  private sun.security.util.ObjectIdentifier contentType;
    descriptor: Lsun/security/util/ObjectIdentifier;
    flags: (0x0002) ACC_PRIVATE

  private java.math.BigInteger version;
    descriptor: Ljava/math/BigInteger;
    flags: (0x0002) ACC_PRIVATE

  private sun.security.x509.AlgorithmId[] digestAlgorithmIds;
    descriptor: [Lsun/security/x509/AlgorithmId;
    flags: (0x0002) ACC_PRIVATE

  private sun.security.pkcs.ContentInfo contentInfo;
    descriptor: Lsun/security/pkcs/ContentInfo;
    flags: (0x0002) ACC_PRIVATE

  private java.security.cert.X509Certificate[] certificates;
    descriptor: [Ljava/security/cert/X509Certificate;
    flags: (0x0002) ACC_PRIVATE

  private java.security.cert.X509CRL[] crls;
    descriptor: [Ljava/security/cert/X509CRL;
    flags: (0x0002) ACC_PRIVATE

  private sun.security.pkcs.SignerInfo[] signerInfos;
    descriptor: [Lsun/security/pkcs/SignerInfo;
    flags: (0x0002) ACC_PRIVATE

  private boolean oldStyle;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private java.security.Principal[] certIssuerNames;
    descriptor: [Ljava/security/Principal;
    flags: (0x0002) ACC_PRIVATE

  private static final java.lang.String KP_TIMESTAMPING_OID;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "1.3.6.1.5.5.7.3.8"

  private static final java.lang.String EXTENDED_KEY_USAGE_OID;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "2.5.29.37"

  public void <init>(java.io.InputStream);
    descriptor: (Ljava/io/InputStream;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // sun.security.pkcs.PKCS7 this
        start local 1 // java.io.InputStream in
         0: .line 108
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 62
            aload 0 /* this */
            aconst_null
            putfield sun.security.pkcs.PKCS7.version:Ljava/math/BigInteger;
         2: .line 63
            aload 0 /* this */
            aconst_null
            putfield sun.security.pkcs.PKCS7.digestAlgorithmIds:[Lsun/security/x509/AlgorithmId;
         3: .line 64
            aload 0 /* this */
            aconst_null
            putfield sun.security.pkcs.PKCS7.contentInfo:Lsun/security/pkcs/ContentInfo;
         4: .line 65
            aload 0 /* this */
            aconst_null
            putfield sun.security.pkcs.PKCS7.certificates:[Ljava/security/cert/X509Certificate;
         5: .line 66
            aload 0 /* this */
            aconst_null
            putfield sun.security.pkcs.PKCS7.crls:[Ljava/security/cert/X509CRL;
         6: .line 67
            aload 0 /* this */
            aconst_null
            putfield sun.security.pkcs.PKCS7.signerInfos:[Lsun/security/pkcs/SignerInfo;
         7: .line 69
            aload 0 /* this */
            iconst_0
            putfield sun.security.pkcs.PKCS7.oldStyle:Z
         8: .line 109
            new java.io.DataInputStream
            dup
            aload 1 /* in */
            invokespecial java.io.DataInputStream.<init>:(Ljava/io/InputStream;)V
            astore 2 /* dis */
        start local 2 // java.io.DataInputStream dis
         9: .line 110
            aload 2 /* dis */
            invokevirtual java.io.DataInputStream.available:()I
            newarray 8
            astore 3 /* data */
        start local 3 // byte[] data
        10: .line 111
            aload 2 /* dis */
            aload 3 /* data */
            invokevirtual java.io.DataInputStream.readFully:([B)V
        11: .line 113
            aload 0 /* this */
            new sun.security.util.DerInputStream
            dup
            aload 3 /* data */
            invokespecial sun.security.util.DerInputStream.<init>:([B)V
            invokevirtual sun.security.pkcs.PKCS7.parse:(Lsun/security/util/DerInputStream;)V
        12: .line 114
            return
        end local 3 // byte[] data
        end local 2 // java.io.DataInputStream dis
        end local 1 // java.io.InputStream in
        end local 0 // sun.security.pkcs.PKCS7 this
      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 // sun.security.pkcs.PKCS7 this
        start local 1 // sun.security.util.DerInputStream derin
         0: .line 123
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 62
            aload 0 /* this */
            aconst_null
            putfield sun.security.pkcs.PKCS7.version:Ljava/math/BigInteger;
         2: .line 63
            aload 0 /* this */
            aconst_null
            putfield sun.security.pkcs.PKCS7.digestAlgorithmIds:[Lsun/security/x509/AlgorithmId;
         3: .line 64
            aload 0 /* this */
            aconst_null
            putfield sun.security.pkcs.PKCS7.contentInfo:Lsun/security/pkcs/ContentInfo;
         4: .line 65
            aload 0 /* this */
            aconst_null
            putfield sun.security.pkcs.PKCS7.certificates:[Ljava/security/cert/X509Certificate;
         5: .line 66
            aload 0 /* this */
            aconst_null
            putfield sun.security.pkcs.PKCS7.crls:[Ljava/security/cert/X509CRL;
         6: .line 67
            aload 0 /* this */
            aconst_null
            putfield sun.security.pkcs.PKCS7.signerInfos:[Lsun/security/pkcs/SignerInfo;
         7: .line 69
            aload 0 /* this */
            iconst_0
            putfield sun.security.pkcs.PKCS7.oldStyle:Z
         8: .line 124
            aload 0 /* this */
            aload 1 /* derin */
            invokevirtual sun.security.pkcs.PKCS7.parse:(Lsun/security/util/DerInputStream;)V
         9: .line 125
            return
        end local 1 // sun.security.util.DerInputStream derin
        end local 0 // sun.security.pkcs.PKCS7 this
      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 // sun.security.pkcs.PKCS7 this
        start local 1 // byte[] bytes
         0: .line 134
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 62
            aload 0 /* this */
            aconst_null
            putfield sun.security.pkcs.PKCS7.version:Ljava/math/BigInteger;
         2: .line 63
            aload 0 /* this */
            aconst_null
            putfield sun.security.pkcs.PKCS7.digestAlgorithmIds:[Lsun/security/x509/AlgorithmId;
         3: .line 64
            aload 0 /* this */
            aconst_null
            putfield sun.security.pkcs.PKCS7.contentInfo:Lsun/security/pkcs/ContentInfo;
         4: .line 65
            aload 0 /* this */
            aconst_null
            putfield sun.security.pkcs.PKCS7.certificates:[Ljava/security/cert/X509Certificate;
         5: .line 66
            aload 0 /* this */
            aconst_null
            putfield sun.security.pkcs.PKCS7.crls:[Ljava/security/cert/X509CRL;
         6: .line 67
            aload 0 /* this */
            aconst_null
            putfield sun.security.pkcs.PKCS7.signerInfos:[Lsun/security/pkcs/SignerInfo;
         7: .line 69
            aload 0 /* this */
            iconst_0
            putfield sun.security.pkcs.PKCS7.oldStyle:Z
         8: .line 136
            new sun.security.util.DerInputStream
            dup
            aload 1 /* bytes */
            invokespecial sun.security.util.DerInputStream.<init>:([B)V
            astore 2 /* derin */
        start local 2 // sun.security.util.DerInputStream derin
         9: .line 137
            aload 0 /* this */
            aload 2 /* derin */
            invokevirtual sun.security.pkcs.PKCS7.parse:(Lsun/security/util/DerInputStream;)V
        end local 2 // sun.security.util.DerInputStream derin
        10: .line 138
            goto 17
      StackMap locals: sun.security.pkcs.PKCS7 byte[]
      StackMap stack: java.io.IOException
        11: astore 2 /* ioe1 */
        start local 2 // java.io.IOException ioe1
        12: .line 139
            new sun.security.pkcs.ParsingException
            dup
        13: .line 140
            ldc "Unable to parse the encoded bytes"
        14: .line 139
            invokespecial sun.security.pkcs.ParsingException.<init>:(Ljava/lang/String;)V
            astore 3 /* pe */
        start local 3 // sun.security.pkcs.ParsingException pe
        15: .line 141
            aload 3 /* pe */
            aload 2 /* ioe1 */
            invokevirtual sun.security.pkcs.ParsingException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            pop
        16: .line 142
            aload 3 /* pe */
            athrow
        end local 3 // sun.security.pkcs.ParsingException pe
        end local 2 // java.io.IOException ioe1
        17: .line 144
      StackMap locals:
      StackMap stack:
            return
        end local 1 // byte[] bytes
        end local 0 // sun.security.pkcs.PKCS7 this
      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 // sun.security.pkcs.PKCS7 this
        start local 1 // sun.security.util.DerInputStream derin
         0: .line 153
            aload 1 /* derin */
            aload 1 /* derin */
            invokevirtual sun.security.util.DerInputStream.available:()I
            invokevirtual sun.security.util.DerInputStream.mark:(I)V
         1: .line 155
            aload 0 /* this */
            aload 1 /* derin */
            iconst_0
            invokevirtual sun.security.pkcs.PKCS7.parse:(Lsun/security/util/DerInputStream;Z)V
         2: .line 156
            goto 15
      StackMap locals:
      StackMap stack: java.io.IOException
         3: astore 2 /* ioe */
        start local 2 // java.io.IOException ioe
         4: .line 158
            aload 1 /* derin */
            invokevirtual sun.security.util.DerInputStream.reset:()V
         5: .line 160
            aload 0 /* this */
            aload 1 /* derin */
            iconst_1
            invokevirtual sun.security.pkcs.PKCS7.parse:(Lsun/security/util/DerInputStream;Z)V
         6: .line 161
            aload 0 /* this */
            iconst_1
            putfield sun.security.pkcs.PKCS7.oldStyle:Z
         7: .line 162
            goto 15
      StackMap locals: sun.security.pkcs.PKCS7 sun.security.util.DerInputStream java.io.IOException
      StackMap stack: java.io.IOException
         8: astore 3 /* ioe1 */
        start local 3 // java.io.IOException ioe1
         9: .line 163
            new sun.security.pkcs.ParsingException
            dup
        10: .line 164
            aload 3 /* ioe1 */
            invokevirtual java.io.IOException.getMessage:()Ljava/lang/String;
        11: .line 163
            invokespecial sun.security.pkcs.ParsingException.<init>:(Ljava/lang/String;)V
            astore 4 /* pe */
        start local 4 // sun.security.pkcs.ParsingException pe
        12: .line 165
            aload 4 /* pe */
            aload 2 /* ioe */
            invokevirtual sun.security.pkcs.ParsingException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            pop
        13: .line 166
            aload 4 /* pe */
            aload 3 /* ioe1 */
            invokevirtual sun.security.pkcs.ParsingException.addSuppressed:(Ljava/lang/Throwable;)V
        14: .line 167
            aload 4 /* pe */
            athrow
        end local 4 // sun.security.pkcs.ParsingException pe
        end local 3 // java.io.IOException ioe1
        end local 2 // java.io.IOException ioe
        15: .line 170
      StackMap locals:
      StackMap stack:
            return
        end local 1 // sun.security.util.DerInputStream derin
        end local 0 // sun.security.pkcs.PKCS7 this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   16     0   this  Lsun/security/pkcs/PKCS7;
            0   16     1  derin  Lsun/security/util/DerInputStream;
            4   15     2    ioe  Ljava/io/IOException;
            9   15     3   ioe1  Ljava/io/IOException;
           12   15     4     pe  Lsun/security/pkcs/ParsingException;
      Exception table:
        from    to  target  type
           0     2       3  Class java.io.IOException
           4     7       8  Class java.io.IOException
    Exceptions:
      throws sun.security.pkcs.ParsingException
    MethodParameters:
       Name  Flags
      derin  

  private void parse(sun.security.util.DerInputStream, boolean);
    descriptor: (Lsun/security/util/DerInputStream;Z)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=4, args_size=3
        start local 0 // sun.security.pkcs.PKCS7 this
        start local 1 // sun.security.util.DerInputStream derin
        start local 2 // boolean oldStyle
         0: .line 182
            aload 0 /* this */
            new sun.security.pkcs.ContentInfo
            dup
            aload 1 /* derin */
            iload 2 /* oldStyle */
            invokespecial sun.security.pkcs.ContentInfo.<init>:(Lsun/security/util/DerInputStream;Z)V
            putfield sun.security.pkcs.PKCS7.contentInfo:Lsun/security/pkcs/ContentInfo;
         1: .line 183
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.security.pkcs.PKCS7.contentInfo:Lsun/security/pkcs/ContentInfo;
            getfield sun.security.pkcs.ContentInfo.contentType:Lsun/security/util/ObjectIdentifier;
            putfield sun.security.pkcs.PKCS7.contentType:Lsun/security/util/ObjectIdentifier;
         2: .line 184
            aload 0 /* this */
            getfield sun.security.pkcs.PKCS7.contentInfo:Lsun/security/pkcs/ContentInfo;
            invokevirtual sun.security.pkcs.ContentInfo.getContent:()Lsun/security/util/DerValue;
            astore 3 /* content */
        start local 3 // sun.security.util.DerValue content
         3: .line 186
            aload 0 /* this */
            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: .line 187
            aload 0 /* this */
            aload 3 /* content */
            invokevirtual sun.security.pkcs.PKCS7.parseSignedData:(Lsun/security/util/DerValue;)V
         5: .line 188
            goto 18
      StackMap locals: sun.security.util.DerValue
      StackMap stack:
         6: aload 0 /* this */
            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: .line 190
            aload 0 /* this */
            aload 3 /* content */
            invokevirtual sun.security.pkcs.PKCS7.parseOldSignedData:(Lsun/security/util/DerValue;)V
         8: .line 191
            goto 18
      StackMap locals:
      StackMap stack:
         9: aload 0 /* this */
            getfield sun.security.pkcs.PKCS7.contentType:Lsun/security/util/ObjectIdentifier;
        10: .line 192
            getstatic sun.security.pkcs.ContentInfo.NETSCAPE_CERT_SEQUENCE_OID:Lsun/security/util/ObjectIdentifier;
        11: .line 191
            invokevirtual sun.security.util.ObjectIdentifier.equals:(Ljava/lang/Object;)Z
        12: .line 192
            ifeq 15
        13: .line 193
            aload 0 /* this */
            aload 3 /* content */
            invokevirtual sun.security.pkcs.PKCS7.parseNetscapeCertChain:(Lsun/security/util/DerValue;)V
        14: .line 194
            goto 18
        15: .line 195
      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 /* this */
            getfield sun.security.pkcs.PKCS7.contentType:Lsun/security/util/ObjectIdentifier;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
        16: .line 196
            ldc " not supported."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        17: .line 195
            invokespecial sun.security.pkcs.ParsingException.<init>:(Ljava/lang/String;)V
            athrow
        18: .line 198
      StackMap locals:
      StackMap stack:
            return
        end local 3 // sun.security.util.DerValue content
        end local 2 // boolean oldStyle
        end local 1 // sun.security.util.DerInputStream derin
        end local 0 // sun.security.pkcs.PKCS7 this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   19     0      this  Lsun/security/pkcs/PKCS7;
            0   19     1     derin  Lsun/security/util/DerInputStream;
            0   19     2  oldStyle  Z
            3   19     3   content  Lsun/security/util/DerValue;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
          Name  Flags
      derin     
      oldStyle  

  public void <init>(sun.security.x509.AlgorithmId[], sun.security.pkcs.ContentInfo, java.security.cert.X509Certificate[], java.security.cert.X509CRL[], sun.security.pkcs.SignerInfo[]);
    descriptor: ([Lsun/security/x509/AlgorithmId;Lsun/security/pkcs/ContentInfo;[Ljava/security/cert/X509Certificate;[Ljava/security/cert/X509CRL;[Lsun/security/pkcs/SignerInfo;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=6, args_size=6
        start local 0 // sun.security.pkcs.PKCS7 this
        start local 1 // sun.security.x509.AlgorithmId[] digestAlgorithmIds
        start local 2 // sun.security.pkcs.ContentInfo contentInfo
        start local 3 // java.security.cert.X509Certificate[] certificates
        start local 4 // java.security.cert.X509CRL[] crls
        start local 5 // sun.security.pkcs.SignerInfo[] signerInfos
         0: .line 209
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 62
            aload 0 /* this */
            aconst_null
            putfield sun.security.pkcs.PKCS7.version:Ljava/math/BigInteger;
         2: .line 63
            aload 0 /* this */
            aconst_null
            putfield sun.security.pkcs.PKCS7.digestAlgorithmIds:[Lsun/security/x509/AlgorithmId;
         3: .line 64
            aload 0 /* this */
            aconst_null
            putfield sun.security.pkcs.PKCS7.contentInfo:Lsun/security/pkcs/ContentInfo;
         4: .line 65
            aload 0 /* this */
            aconst_null
            putfield sun.security.pkcs.PKCS7.certificates:[Ljava/security/cert/X509Certificate;
         5: .line 66
            aload 0 /* this */
            aconst_null
            putfield sun.security.pkcs.PKCS7.crls:[Ljava/security/cert/X509CRL;
         6: .line 67
            aload 0 /* this */
            aconst_null
            putfield sun.security.pkcs.PKCS7.signerInfos:[Lsun/security/pkcs/SignerInfo;
         7: .line 69
            aload 0 /* this */
            iconst_0
            putfield sun.security.pkcs.PKCS7.oldStyle:Z
         8: .line 215
            aload 0 /* this */
            getstatic java.math.BigInteger.ONE:Ljava/math/BigInteger;
            putfield sun.security.pkcs.PKCS7.version:Ljava/math/BigInteger;
         9: .line 216
            aload 0 /* this */
            aload 1 /* digestAlgorithmIds */
            putfield sun.security.pkcs.PKCS7.digestAlgorithmIds:[Lsun/security/x509/AlgorithmId;
        10: .line 217
            aload 0 /* this */
            aload 2 /* contentInfo */
            putfield sun.security.pkcs.PKCS7.contentInfo:Lsun/security/pkcs/ContentInfo;
        11: .line 218
            aload 0 /* this */
            aload 3 /* certificates */
            putfield sun.security.pkcs.PKCS7.certificates:[Ljava/security/cert/X509Certificate;
        12: .line 219
            aload 0 /* this */
            aload 4 /* crls */
            putfield sun.security.pkcs.PKCS7.crls:[Ljava/security/cert/X509CRL;
        13: .line 220
            aload 0 /* this */
            aload 5 /* signerInfos */
            putfield sun.security.pkcs.PKCS7.signerInfos:[Lsun/security/pkcs/SignerInfo;
        14: .line 221
            return
        end local 5 // sun.security.pkcs.SignerInfo[] signerInfos
        end local 4 // java.security.cert.X509CRL[] crls
        end local 3 // java.security.cert.X509Certificate[] certificates
        end local 2 // sun.security.pkcs.ContentInfo contentInfo
        end local 1 // sun.security.x509.AlgorithmId[] digestAlgorithmIds
        end local 0 // sun.security.pkcs.PKCS7 this
      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 // sun.security.pkcs.PKCS7 this
        start local 1 // sun.security.x509.AlgorithmId[] digestAlgorithmIds
        start local 2 // sun.security.pkcs.ContentInfo contentInfo
        start local 3 // java.security.cert.X509Certificate[] certificates
        start local 4 // sun.security.pkcs.SignerInfo[] signerInfos
         0: .line 227
            aload 0 /* this */
            aload 1 /* digestAlgorithmIds */
            aload 2 /* contentInfo */
            aload 3 /* certificates */
            aconst_null
            aload 4 /* signerInfos */
            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: .line 228
            return
        end local 4 // sun.security.pkcs.SignerInfo[] signerInfos
        end local 3 // java.security.cert.X509Certificate[] certificates
        end local 2 // sun.security.pkcs.ContentInfo contentInfo
        end local 1 // sun.security.x509.AlgorithmId[] digestAlgorithmIds
        end local 0 // sun.security.pkcs.PKCS7 this
      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 // sun.security.pkcs.PKCS7 this
        start local 1 // sun.security.util.DerValue val
         0: .line 232
            new sun.security.util.DerInputStream
            dup
            aload 1 /* val */
            invokevirtual sun.security.util.DerValue.toByteArray:()[B
            invokespecial sun.security.util.DerInputStream.<init>:([B)V
            astore 2 /* dis */
        start local 2 // sun.security.util.DerInputStream dis
         1: .line 233
            aload 2 /* dis */
            iconst_2
            invokevirtual sun.security.util.DerInputStream.getSequence:(I)[Lsun/security/util/DerValue;
            astore 3 /* contents */
        start local 3 // sun.security.util.DerValue[] contents
         2: .line 234
            aload 0 /* this */
            aload 3 /* contents */
            arraylength
            anewarray java.security.cert.X509Certificate
            putfield sun.security.pkcs.PKCS7.certificates:[Ljava/security/cert/X509Certificate;
         3: .line 236
            aconst_null
            astore 4 /* certfac */
        start local 4 // java.security.cert.CertificateFactory certfac
         4: .line 238
            ldc "X.509"
            invokestatic java.security.cert.CertificateFactory.getInstance:(Ljava/lang/String;)Ljava/security/cert/CertificateFactory;
            astore 4 /* certfac */
         5: .line 239
            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: .line 243
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         8: goto 35
         9: .line 244
      StackMap locals: int
      StackMap stack:
            aconst_null
            astore 6 /* bais */
        start local 6 // java.io.ByteArrayInputStream bais
        10: .line 246
            aload 4 /* certfac */
            ifnonnull 12
        11: .line 247
            aload 0 /* this */
            getfield sun.security.pkcs.PKCS7.certificates:[Ljava/security/cert/X509Certificate;
            iload 5 /* i */
            new sun.security.x509.X509CertImpl
            dup
            aload 3 /* contents */
            iload 5 /* i */
            aaload
            invokespecial sun.security.x509.X509CertImpl.<init>:(Lsun/security/util/DerValue;)V
            aastore
            goto 32
        12: .line 249
      StackMap locals: java.io.ByteArrayInputStream
      StackMap stack:
            aload 3 /* contents */
            iload 5 /* i */
            aaload
            invokevirtual sun.security.util.DerValue.toByteArray:()[B
            astore 7 /* encoded */
        start local 7 // byte[] encoded
        13: .line 250
            new java.io.ByteArrayInputStream
            dup
            aload 7 /* encoded */
            invokespecial java.io.ByteArrayInputStream.<init>:([B)V
            astore 6 /* bais */
        14: .line 251
            aload 0 /* this */
            getfield sun.security.pkcs.PKCS7.certificates:[Ljava/security/cert/X509Certificate;
            iload 5 /* i */
        15: .line 252
            aload 4 /* certfac */
            aload 6 /* bais */
            invokevirtual java.security.cert.CertificateFactory.generateCertificate:(Ljava/io/InputStream;)Ljava/security/cert/Certificate;
            checkcast java.security.cert.X509Certificate
        16: .line 251
            aastore
        17: .line 253
            aload 6 /* bais */
            invokevirtual java.io.ByteArrayInputStream.close:()V
        18: .line 254
            aconst_null
            astore 6 /* bais */
        end local 7 // byte[] encoded
        19: .line 256
            goto 32
      StackMap locals:
      StackMap stack: java.security.cert.CertificateException
        20: astore 7 /* ce */
        start local 7 // java.security.cert.CertificateException ce
        21: .line 257
            new sun.security.pkcs.ParsingException
            dup
            aload 7 /* ce */
            invokevirtual java.security.cert.CertificateException.getMessage:()Ljava/lang/String;
            invokespecial sun.security.pkcs.ParsingException.<init>:(Ljava/lang/String;)V
            astore 8 /* pe */
        start local 8 // sun.security.pkcs.ParsingException pe
        22: .line 258
            aload 8 /* pe */
            aload 7 /* ce */
            invokevirtual sun.security.pkcs.ParsingException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            pop
        23: .line 259
            aload 8 /* pe */
            athrow
        end local 8 // sun.security.pkcs.ParsingException pe
        end local 7 // java.security.cert.CertificateException ce
        24: .line 260
      StackMap locals:
      StackMap stack: java.io.IOException
            astore 7 /* ioe */
        start local 7 // java.io.IOException ioe
        25: .line 261
            new sun.security.pkcs.ParsingException
            dup
            aload 7 /* ioe */
            invokevirtual java.io.IOException.getMessage:()Ljava/lang/String;
            invokespecial sun.security.pkcs.ParsingException.<init>:(Ljava/lang/String;)V
            astore 8 /* pe */
        start local 8 // sun.security.pkcs.ParsingException pe
        26: .line 262
            aload 8 /* pe */
            aload 7 /* ioe */
            invokevirtual sun.security.pkcs.ParsingException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            pop
        27: .line 263
            aload 8 /* pe */
            athrow
        end local 8 // sun.security.pkcs.ParsingException pe
        end local 7 // java.io.IOException ioe
        28: .line 264
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 9
        29: .line 265
            aload 6 /* bais */
            ifnull 31
        30: .line 266
            aload 6 /* bais */
            invokevirtual java.io.ByteArrayInputStream.close:()V
        31: .line 267
      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: .line 265
      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 /* bais */
            ifnull 34
        33: .line 266
            aload 6 /* bais */
            invokevirtual java.io.ByteArrayInputStream.close:()V
        end local 6 // java.io.ByteArrayInputStream bais
        34: .line 243
      StackMap locals:
      StackMap stack:
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        35: iload 5 /* i */
            aload 3 /* contents */
            arraylength
            if_icmplt 9
        end local 5 // int i
        36: .line 269
            return
        end local 4 // java.security.cert.CertificateFactory certfac
        end local 3 // sun.security.util.DerValue[] contents
        end local 2 // sun.security.util.DerInputStream dis
        end local 1 // sun.security.util.DerValue val
        end local 0 // sun.security.pkcs.PKCS7 this
      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 // sun.security.pkcs.PKCS7 this
        start local 1 // sun.security.util.DerValue val
         0: .line 274
            aload 1 /* val */
            invokevirtual sun.security.util.DerValue.toDerInputStream:()Lsun/security/util/DerInputStream;
            astore 2 /* dis */
        start local 2 // sun.security.util.DerInputStream dis
         1: .line 277
            aload 0 /* this */
            aload 2 /* dis */
            invokevirtual sun.security.util.DerInputStream.getBigInteger:()Ljava/math/BigInteger;
            putfield sun.security.pkcs.PKCS7.version:Ljava/math/BigInteger;
         2: .line 280
            aload 2 /* dis */
            iconst_1
            invokevirtual sun.security.util.DerInputStream.getSet:(I)[Lsun/security/util/DerValue;
            astore 3 /* digestAlgorithmIdVals */
        start local 3 // sun.security.util.DerValue[] digestAlgorithmIdVals
         3: .line 281
            aload 3 /* digestAlgorithmIdVals */
            arraylength
            istore 4 /* len */
        start local 4 // int len
         4: .line 282
            aload 0 /* this */
            iload 4 /* len */
            anewarray sun.security.x509.AlgorithmId
            putfield sun.security.pkcs.PKCS7.digestAlgorithmIds:[Lsun/security/x509/AlgorithmId;
         5: .line 284
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         6: goto 10
         7: .line 285
      StackMap locals: sun.security.pkcs.PKCS7 sun.security.util.DerValue sun.security.util.DerInputStream sun.security.util.DerValue[] int int
      StackMap stack:
            aload 3 /* digestAlgorithmIdVals */
            iload 5 /* i */
            aaload
            astore 6 /* oid */
        start local 6 // sun.security.util.DerValue oid
         8: .line 286
            aload 0 /* this */
            getfield sun.security.pkcs.PKCS7.digestAlgorithmIds:[Lsun/security/x509/AlgorithmId;
            iload 5 /* i */
            aload 6 /* oid */
            invokestatic sun.security.x509.AlgorithmId.parse:(Lsun/security/util/DerValue;)Lsun/security/x509/AlgorithmId;
            aastore
        end local 6 // sun.security.util.DerValue oid
         9: .line 284
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        10: iload 5 /* i */
            iload 4 /* len */
            if_icmplt 7
        end local 5 // int i
        11: .line 289
            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 /* e */
        start local 5 // java.io.IOException e
        13: .line 291
            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: .line 292
            aload 5 /* e */
            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: .line 291
            invokespecial sun.security.pkcs.ParsingException.<init>:(Ljava/lang/String;)V
        16: .line 290
            astore 6 /* pe */
        start local 6 // sun.security.pkcs.ParsingException pe
        17: .line 293
            aload 6 /* pe */
            aload 5 /* e */
            invokevirtual sun.security.pkcs.ParsingException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            pop
        18: .line 294
            aload 6 /* pe */
            athrow
        end local 6 // sun.security.pkcs.ParsingException pe
        end local 5 // java.io.IOException e
        19: .line 297
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            new sun.security.pkcs.ContentInfo
            dup
            aload 2 /* dis */
            invokespecial sun.security.pkcs.ContentInfo.<init>:(Lsun/security/util/DerInputStream;)V
            putfield sun.security.pkcs.PKCS7.contentInfo:Lsun/security/pkcs/ContentInfo;
        20: .line 299
            aconst_null
            astore 5 /* certfac */
        start local 5 // java.security.cert.CertificateFactory certfac
        21: .line 301
            ldc "X.509"
            invokestatic java.security.cert.CertificateFactory.getInstance:(Ljava/lang/String;)Ljava/security/cert/CertificateFactory;
            astore 5 /* certfac */
        22: .line 302
            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: .line 310
      StackMap locals:
      StackMap stack:
            aload 2 /* dis */
            invokevirtual sun.security.util.DerInputStream.peekByte:()I
            i2b
            bipush -96
            if_icmpne 64
        25: .line 311
            aload 2 /* dis */
            iconst_2
            iconst_1
            invokevirtual sun.security.util.DerInputStream.getSet:(IZ)[Lsun/security/util/DerValue;
            astore 6 /* certVals */
        start local 6 // sun.security.util.DerValue[] certVals
        26: .line 313
            aload 6 /* certVals */
            arraylength
            istore 4 /* len */
        27: .line 314
            aload 0 /* this */
            iload 4 /* len */
            anewarray java.security.cert.X509Certificate
            putfield sun.security.pkcs.PKCS7.certificates:[Ljava/security/cert/X509Certificate;
        28: .line 315
            iconst_0
            istore 7 /* count */
        start local 7 // int count
        29: .line 317
            iconst_0
            istore 8 /* i */
        start local 8 // int i
        30: goto 61
        31: .line 318
      StackMap locals: sun.security.util.DerValue[] int int
      StackMap stack:
            aconst_null
            astore 9 /* bais */
        start local 9 // java.io.ByteArrayInputStream bais
        32: .line 320
            aload 6 /* certVals */
            iload 8 /* i */
            aaload
            invokevirtual sun.security.util.DerValue.getTag:()B
            istore 10 /* tag */
        start local 10 // byte tag
        33: .line 323
            iload 10 /* tag */
            bipush 48
            if_icmpne 58
        34: .line 324
            aload 5 /* certfac */
            ifnonnull 37
        35: .line 325
            aload 0 /* this */
            getfield sun.security.pkcs.PKCS7.certificates:[Ljava/security/cert/X509Certificate;
            iload 7 /* count */
            new sun.security.x509.X509CertImpl
            dup
            aload 6 /* certVals */
            iload 8 /* i */
            aaload
            invokespecial sun.security.x509.X509CertImpl.<init>:(Lsun/security/util/DerValue;)V
            aastore
        36: .line 326
            goto 44
        37: .line 327
      StackMap locals: java.io.ByteArrayInputStream int
      StackMap stack:
            aload 6 /* certVals */
            iload 8 /* i */
            aaload
            invokevirtual sun.security.util.DerValue.toByteArray:()[B
            astore 11 /* encoded */
        start local 11 // byte[] encoded
        38: .line 328
            new java.io.ByteArrayInputStream
            dup
            aload 11 /* encoded */
            invokespecial java.io.ByteArrayInputStream.<init>:([B)V
            astore 9 /* bais */
        39: .line 329
            aload 0 /* this */
            getfield sun.security.pkcs.PKCS7.certificates:[Ljava/security/cert/X509Certificate;
            iload 7 /* count */
        40: .line 330
            aload 5 /* certfac */
            aload 9 /* bais */
            invokevirtual java.security.cert.CertificateFactory.generateCertificate:(Ljava/io/InputStream;)Ljava/security/cert/Certificate;
            checkcast java.security.cert.X509Certificate
        41: .line 329
            aastore
        42: .line 331
            aload 9 /* bais */
            invokevirtual java.io.ByteArrayInputStream.close:()V
        43: .line 332
            aconst_null
            astore 9 /* bais */
        end local 11 // byte[] encoded
        44: .line 334
      StackMap locals:
      StackMap stack:
            iinc 7 /* count */ 1
        end local 10 // byte tag
        45: .line 336
            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 /* ce */
        start local 10 // java.security.cert.CertificateException ce
        47: .line 337
            new sun.security.pkcs.ParsingException
            dup
            aload 10 /* ce */
            invokevirtual java.security.cert.CertificateException.getMessage:()Ljava/lang/String;
            invokespecial sun.security.pkcs.ParsingException.<init>:(Ljava/lang/String;)V
            astore 11 /* pe */
        start local 11 // sun.security.pkcs.ParsingException pe
        48: .line 338
            aload 11 /* pe */
            aload 10 /* ce */
            invokevirtual sun.security.pkcs.ParsingException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            pop
        49: .line 339
            aload 11 /* pe */
            athrow
        end local 11 // sun.security.pkcs.ParsingException pe
        end local 10 // java.security.cert.CertificateException ce
        50: .line 340
      StackMap locals:
      StackMap stack: java.io.IOException
            astore 10 /* ioe */
        start local 10 // java.io.IOException ioe
        51: .line 341
            new sun.security.pkcs.ParsingException
            dup
            aload 10 /* ioe */
            invokevirtual java.io.IOException.getMessage:()Ljava/lang/String;
            invokespecial sun.security.pkcs.ParsingException.<init>:(Ljava/lang/String;)V
            astore 11 /* pe */
        start local 11 // sun.security.pkcs.ParsingException pe
        52: .line 342
            aload 11 /* pe */
            aload 10 /* ioe */
            invokevirtual sun.security.pkcs.ParsingException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            pop
        53: .line 343
            aload 11 /* pe */
            athrow
        end local 11 // sun.security.pkcs.ParsingException pe
        end local 10 // java.io.IOException ioe
        54: .line 344
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 12
        55: .line 345
            aload 9 /* bais */
            ifnull 57
        56: .line 346
            aload 9 /* bais */
            invokevirtual java.io.ByteArrayInputStream.close:()V
        57: .line 347
      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: .line 345
      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 /* bais */
            ifnull 60
        59: .line 346
            aload 9 /* bais */
            invokevirtual java.io.ByteArrayInputStream.close:()V
        end local 9 // java.io.ByteArrayInputStream bais
        60: .line 317
      StackMap locals:
      StackMap stack:
            iinc 8 /* i */ 1
      StackMap locals:
      StackMap stack:
        61: iload 8 /* i */
            iload 4 /* len */
            if_icmplt 31
        end local 8 // int i
        62: .line 349
            iload 7 /* count */
            iload 4 /* len */
            if_icmpeq 64
        63: .line 350
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.security.pkcs.PKCS7.certificates:[Ljava/security/cert/X509Certificate;
            iload 7 /* count */
            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 // int count
        end local 6 // sun.security.util.DerValue[] certVals
        64: .line 355
      StackMap locals:
      StackMap stack:
            aload 2 /* dis */
            invokevirtual sun.security.util.DerInputStream.peekByte:()I
            i2b
            bipush -95
            if_icmpne 92
        65: .line 356
            aload 2 /* dis */
            iconst_1
            iconst_1
            invokevirtual sun.security.util.DerInputStream.getSet:(IZ)[Lsun/security/util/DerValue;
            astore 6 /* crlVals */
        start local 6 // sun.security.util.DerValue[] crlVals
        66: .line 358
            aload 6 /* crlVals */
            arraylength
            istore 4 /* len */
        67: .line 359
            aload 0 /* this */
            iload 4 /* len */
            anewarray java.security.cert.X509CRL
            putfield sun.security.pkcs.PKCS7.crls:[Ljava/security/cert/X509CRL;
        68: .line 361
            iconst_0
            istore 7 /* i */
        start local 7 // int i
        69: goto 91
        70: .line 362
      StackMap locals: sun.security.util.DerValue[] int
      StackMap stack:
            aconst_null
            astore 8 /* bais */
        start local 8 // java.io.ByteArrayInputStream bais
        71: .line 364
            aload 5 /* certfac */
            ifnonnull 73
        72: .line 365
            aload 0 /* this */
            getfield sun.security.pkcs.PKCS7.crls:[Ljava/security/cert/X509CRL;
            iload 7 /* i */
            new sun.security.x509.X509CRLImpl
            dup
            aload 6 /* crlVals */
            iload 7 /* i */
            aaload
            invokespecial sun.security.x509.X509CRLImpl.<init>:(Lsun/security/util/DerValue;)V
            aastore
            goto 88
        73: .line 367
      StackMap locals: java.io.ByteArrayInputStream
      StackMap stack:
            aload 6 /* crlVals */
            iload 7 /* i */
            aaload
            invokevirtual sun.security.util.DerValue.toByteArray:()[B
            astore 9 /* encoded */
        start local 9 // byte[] encoded
        74: .line 368
            new java.io.ByteArrayInputStream
            dup
            aload 9 /* encoded */
            invokespecial java.io.ByteArrayInputStream.<init>:([B)V
            astore 8 /* bais */
        75: .line 369
            aload 0 /* this */
            getfield sun.security.pkcs.PKCS7.crls:[Ljava/security/cert/X509CRL;
            iload 7 /* i */
            aload 5 /* certfac */
            aload 8 /* bais */
            invokevirtual java.security.cert.CertificateFactory.generateCRL:(Ljava/io/InputStream;)Ljava/security/cert/CRL;
            checkcast java.security.cert.X509CRL
            aastore
        76: .line 370
            aload 8 /* bais */
            invokevirtual java.io.ByteArrayInputStream.close:()V
        77: .line 371
            aconst_null
            astore 8 /* bais */
        end local 9 // byte[] encoded
        78: .line 373
            goto 88
      StackMap locals:
      StackMap stack: java.security.cert.CRLException
        79: astore 9 /* e */
        start local 9 // java.security.cert.CRLException e
        80: .line 375
            new sun.security.pkcs.ParsingException
            dup
            aload 9 /* e */
            invokevirtual java.security.cert.CRLException.getMessage:()Ljava/lang/String;
            invokespecial sun.security.pkcs.ParsingException.<init>:(Ljava/lang/String;)V
        81: .line 374
            astore 10 /* pe */
        start local 10 // sun.security.pkcs.ParsingException pe
        82: .line 376
            aload 10 /* pe */
            aload 9 /* e */
            invokevirtual sun.security.pkcs.ParsingException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            pop
        83: .line 377
            aload 10 /* pe */
            athrow
        end local 10 // sun.security.pkcs.ParsingException pe
        end local 9 // java.security.cert.CRLException e
        84: .line 378
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 11
        85: .line 379
            aload 8 /* bais */
            ifnull 87
        86: .line 380
            aload 8 /* bais */
            invokevirtual java.io.ByteArrayInputStream.close:()V
        87: .line 381
      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: .line 379
      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 /* bais */
            ifnull 90
        89: .line 380
            aload 8 /* bais */
            invokevirtual java.io.ByteArrayInputStream.close:()V
        end local 8 // java.io.ByteArrayInputStream bais
        90: .line 361
      StackMap locals:
      StackMap stack:
            iinc 7 /* i */ 1
      StackMap locals:
      StackMap stack:
        91: iload 7 /* i */
            iload 4 /* len */
            if_icmplt 70
        end local 7 // int i
        end local 6 // sun.security.util.DerValue[] crlVals
        92: .line 386
      StackMap locals:
      StackMap stack:
            aload 2 /* dis */
            iconst_1
            invokevirtual sun.security.util.DerInputStream.getSet:(I)[Lsun/security/util/DerValue;
            astore 6 /* signerInfoVals */
        start local 6 // sun.security.util.DerValue[] signerInfoVals
        93: .line 388
            aload 6 /* signerInfoVals */
            arraylength
            istore 4 /* len */
        94: .line 389
            aload 0 /* this */
            iload 4 /* len */
            anewarray sun.security.pkcs.SignerInfo
            putfield sun.security.pkcs.PKCS7.signerInfos:[Lsun/security/pkcs/SignerInfo;
        95: .line 391
            iconst_0
            istore 7 /* i */
        start local 7 // int i
        96: goto 100
        97: .line 392
      StackMap locals: sun.security.util.DerValue[] int
      StackMap stack:
            aload 6 /* signerInfoVals */
            iload 7 /* i */
            aaload
            invokevirtual sun.security.util.DerValue.toDerInputStream:()Lsun/security/util/DerInputStream;
            astore 8 /* in */
        start local 8 // sun.security.util.DerInputStream in
        98: .line 393
            aload 0 /* this */
            getfield sun.security.pkcs.PKCS7.signerInfos:[Lsun/security/pkcs/SignerInfo;
            iload 7 /* i */
            new sun.security.pkcs.SignerInfo
            dup
            aload 8 /* in */
            invokespecial sun.security.pkcs.SignerInfo.<init>:(Lsun/security/util/DerInputStream;)V
            aastore
        end local 8 // sun.security.util.DerInputStream in
        99: .line 391
            iinc 7 /* i */ 1
      StackMap locals:
      StackMap stack:
       100: iload 7 /* i */
            iload 4 /* len */
            if_icmplt 97
        end local 7 // int i
       101: .line 395
            return
        end local 6 // sun.security.util.DerValue[] signerInfoVals
        end local 5 // java.security.cert.CertificateFactory certfac
        end local 4 // int len
        end local 3 // sun.security.util.DerValue[] digestAlgorithmIdVals
        end local 2 // sun.security.util.DerInputStream dis
        end local 1 // sun.security.util.DerValue val
        end local 0 // sun.security.pkcs.PKCS7 this
      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 // sun.security.pkcs.PKCS7 this
        start local 1 // sun.security.util.DerValue val
         0: .line 404
            aload 1 /* val */
            invokevirtual sun.security.util.DerValue.toDerInputStream:()Lsun/security/util/DerInputStream;
            astore 2 /* dis */
        start local 2 // sun.security.util.DerInputStream dis
         1: .line 407
            aload 0 /* this */
            aload 2 /* dis */
            invokevirtual sun.security.util.DerInputStream.getBigInteger:()Ljava/math/BigInteger;
            putfield sun.security.pkcs.PKCS7.version:Ljava/math/BigInteger;
         2: .line 410
            aload 2 /* dis */
            iconst_1
            invokevirtual sun.security.util.DerInputStream.getSet:(I)[Lsun/security/util/DerValue;
            astore 3 /* digestAlgorithmIdVals */
        start local 3 // sun.security.util.DerValue[] digestAlgorithmIdVals
         3: .line 411
            aload 3 /* digestAlgorithmIdVals */
            arraylength
            istore 4 /* len */
        start local 4 // int len
         4: .line 413
            aload 0 /* this */
            iload 4 /* len */
            anewarray sun.security.x509.AlgorithmId
            putfield sun.security.pkcs.PKCS7.digestAlgorithmIds:[Lsun/security/x509/AlgorithmId;
         5: .line 415
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         6: goto 10
         7: .line 416
      StackMap locals: sun.security.pkcs.PKCS7 sun.security.util.DerValue sun.security.util.DerInputStream sun.security.util.DerValue[] int int
      StackMap stack:
            aload 3 /* digestAlgorithmIdVals */
            iload 5 /* i */
            aaload
            astore 6 /* oid */
        start local 6 // sun.security.util.DerValue oid
         8: .line 417
            aload 0 /* this */
            getfield sun.security.pkcs.PKCS7.digestAlgorithmIds:[Lsun/security/x509/AlgorithmId;
            iload 5 /* i */
            aload 6 /* oid */
            invokestatic sun.security.x509.AlgorithmId.parse:(Lsun/security/util/DerValue;)Lsun/security/x509/AlgorithmId;
            aastore
        end local 6 // sun.security.util.DerValue oid
         9: .line 415
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        10: iload 5 /* i */
            iload 4 /* len */
            if_icmplt 7
        end local 5 // int i
        11: .line 419
            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: .line 420
            new sun.security.pkcs.ParsingException
            dup
            ldc "Error parsing digest AlgorithmId IDs"
            invokespecial sun.security.pkcs.ParsingException.<init>:(Ljava/lang/String;)V
            athrow
        14: .line 424
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            new sun.security.pkcs.ContentInfo
            dup
            aload 2 /* dis */
            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: .line 427
            aconst_null
            astore 5 /* certfac */
        start local 5 // java.security.cert.CertificateFactory certfac
        16: .line 429
            ldc "X.509"
            invokestatic java.security.cert.CertificateFactory.getInstance:(Ljava/lang/String;)Ljava/security/cert/CertificateFactory;
            astore 5 /* certfac */
        17: .line 430
            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: .line 433
      StackMap locals:
      StackMap stack:
            aload 2 /* dis */
            iconst_2
            invokevirtual sun.security.util.DerInputStream.getSet:(I)[Lsun/security/util/DerValue;
            astore 6 /* certVals */
        start local 6 // sun.security.util.DerValue[] certVals
        20: .line 434
            aload 6 /* certVals */
            arraylength
            istore 4 /* len */
        21: .line 435
            aload 0 /* this */
            iload 4 /* len */
            anewarray java.security.cert.X509Certificate
            putfield sun.security.pkcs.PKCS7.certificates:[Ljava/security/cert/X509Certificate;
        22: .line 437
            iconst_0
            istore 7 /* i */
        start local 7 // int i
        23: goto 50
        24: .line 438
      StackMap locals: sun.security.util.DerValue[] int
      StackMap stack:
            aconst_null
            astore 8 /* bais */
        start local 8 // java.io.ByteArrayInputStream bais
        25: .line 440
            aload 5 /* certfac */
            ifnonnull 27
        26: .line 441
            aload 0 /* this */
            getfield sun.security.pkcs.PKCS7.certificates:[Ljava/security/cert/X509Certificate;
            iload 7 /* i */
            new sun.security.x509.X509CertImpl
            dup
            aload 6 /* certVals */
            iload 7 /* i */
            aaload
            invokespecial sun.security.x509.X509CertImpl.<init>:(Lsun/security/util/DerValue;)V
            aastore
            goto 47
        27: .line 443
      StackMap locals: java.io.ByteArrayInputStream
      StackMap stack:
            aload 6 /* certVals */
            iload 7 /* i */
            aaload
            invokevirtual sun.security.util.DerValue.toByteArray:()[B
            astore 9 /* encoded */
        start local 9 // byte[] encoded
        28: .line 444
            new java.io.ByteArrayInputStream
            dup
            aload 9 /* encoded */
            invokespecial java.io.ByteArrayInputStream.<init>:([B)V
            astore 8 /* bais */
        29: .line 445
            aload 0 /* this */
            getfield sun.security.pkcs.PKCS7.certificates:[Ljava/security/cert/X509Certificate;
            iload 7 /* i */
        30: .line 446
            aload 5 /* certfac */
            aload 8 /* bais */
            invokevirtual java.security.cert.CertificateFactory.generateCertificate:(Ljava/io/InputStream;)Ljava/security/cert/Certificate;
            checkcast java.security.cert.X509Certificate
        31: .line 445
            aastore
        32: .line 447
            aload 8 /* bais */
            invokevirtual java.io.ByteArrayInputStream.close:()V
        33: .line 448
            aconst_null
            astore 8 /* bais */
        end local 9 // byte[] encoded
        34: .line 450
            goto 47
      StackMap locals:
      StackMap stack: java.security.cert.CertificateException
        35: astore 9 /* ce */
        start local 9 // java.security.cert.CertificateException ce
        36: .line 451
            new sun.security.pkcs.ParsingException
            dup
            aload 9 /* ce */
            invokevirtual java.security.cert.CertificateException.getMessage:()Ljava/lang/String;
            invokespecial sun.security.pkcs.ParsingException.<init>:(Ljava/lang/String;)V
            astore 10 /* pe */
        start local 10 // sun.security.pkcs.ParsingException pe
        37: .line 452
            aload 10 /* pe */
            aload 9 /* ce */
            invokevirtual sun.security.pkcs.ParsingException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            pop
        38: .line 453
            aload 10 /* pe */
            athrow
        end local 10 // sun.security.pkcs.ParsingException pe
        end local 9 // java.security.cert.CertificateException ce
        39: .line 454
      StackMap locals:
      StackMap stack: java.io.IOException
            astore 9 /* ioe */
        start local 9 // java.io.IOException ioe
        40: .line 455
            new sun.security.pkcs.ParsingException
            dup
            aload 9 /* ioe */
            invokevirtual java.io.IOException.getMessage:()Ljava/lang/String;
            invokespecial sun.security.pkcs.ParsingException.<init>:(Ljava/lang/String;)V
            astore 10 /* pe */
        start local 10 // sun.security.pkcs.ParsingException pe
        41: .line 456
            aload 10 /* pe */
            aload 9 /* ioe */
            invokevirtual sun.security.pkcs.ParsingException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            pop
        42: .line 457
            aload 10 /* pe */
            athrow
        end local 10 // sun.security.pkcs.ParsingException pe
        end local 9 // java.io.IOException ioe
        43: .line 458
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 11
        44: .line 459
            aload 8 /* bais */
            ifnull 46
        45: .line 460
            aload 8 /* bais */
            invokevirtual java.io.ByteArrayInputStream.close:()V
        46: .line 461
      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: .line 459
      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 /* bais */
            ifnull 49
        48: .line 460
            aload 8 /* bais */
            invokevirtual java.io.ByteArrayInputStream.close:()V
        end local 8 // java.io.ByteArrayInputStream bais
        49: .line 437
      StackMap locals:
      StackMap stack:
            iinc 7 /* i */ 1
      StackMap locals:
      StackMap stack:
        50: iload 7 /* i */
            iload 4 /* len */
            if_icmplt 24
        end local 7 // int i
        51: .line 465
            aload 2 /* dis */
            iconst_0
            invokevirtual sun.security.util.DerInputStream.getSet:(I)[Lsun/security/util/DerValue;
            pop
        52: .line 468
            aload 2 /* dis */
            iconst_1
            invokevirtual sun.security.util.DerInputStream.getSet:(I)[Lsun/security/util/DerValue;
            astore 7 /* signerInfoVals */
        start local 7 // sun.security.util.DerValue[] signerInfoVals
        53: .line 469
            aload 7 /* signerInfoVals */
            arraylength
            istore 4 /* len */
        54: .line 470
            aload 0 /* this */
            iload 4 /* len */
            anewarray sun.security.pkcs.SignerInfo
            putfield sun.security.pkcs.PKCS7.signerInfos:[Lsun/security/pkcs/SignerInfo;
        55: .line 471
            iconst_0
            istore 8 /* i */
        start local 8 // int i
        56: goto 60
        57: .line 472
      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 /* signerInfoVals */
            iload 8 /* i */
            aaload
            invokevirtual sun.security.util.DerValue.toDerInputStream:()Lsun/security/util/DerInputStream;
            astore 9 /* in */
        start local 9 // sun.security.util.DerInputStream in
        58: .line 473
            aload 0 /* this */
            getfield sun.security.pkcs.PKCS7.signerInfos:[Lsun/security/pkcs/SignerInfo;
            iload 8 /* i */
            new sun.security.pkcs.SignerInfo
            dup
            aload 9 /* in */
            iconst_1
            invokespecial sun.security.pkcs.SignerInfo.<init>:(Lsun/security/util/DerInputStream;Z)V
            aastore
        end local 9 // sun.security.util.DerInputStream in
        59: .line 471
            iinc 8 /* i */ 1
      StackMap locals:
      StackMap stack:
        60: iload 8 /* i */
            iload 4 /* len */
            if_icmplt 57
        end local 8 // int i
        61: .line 475
            return
        end local 7 // sun.security.util.DerValue[] signerInfoVals
        end local 6 // sun.security.util.DerValue[] certVals
        end local 5 // java.security.cert.CertificateFactory certfac
        end local 4 // int len
        end local 3 // sun.security.util.DerValue[] digestAlgorithmIdVals
        end local 2 // sun.security.util.DerInputStream dis
        end local 1 // sun.security.util.DerValue val
        end local 0 // sun.security.pkcs.PKCS7 this
      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 // sun.security.pkcs.PKCS7 this
        start local 1 // java.io.OutputStream out
         0: .line 484
            new sun.security.util.DerOutputStream
            dup
            invokespecial sun.security.util.DerOutputStream.<init>:()V
            astore 2 /* derout */
        start local 2 // sun.security.util.DerOutputStream derout
         1: .line 485
            aload 0 /* this */
            aload 2 /* derout */
            invokevirtual sun.security.pkcs.PKCS7.encodeSignedData:(Lsun/security/util/DerOutputStream;)V
         2: .line 486
            aload 1 /* out */
            aload 2 /* derout */
            invokevirtual sun.security.util.DerOutputStream.toByteArray:()[B
            invokevirtual java.io.OutputStream.write:([B)V
         3: .line 487
            return
        end local 2 // sun.security.util.DerOutputStream derout
        end local 1 // java.io.OutputStream out
        end local 0 // sun.security.pkcs.PKCS7 this
      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 // sun.security.pkcs.PKCS7 this
        start local 1 // sun.security.util.DerOutputStream out
         0: .line 498
            new sun.security.util.DerOutputStream
            dup
            invokespecial sun.security.util.DerOutputStream.<init>:()V
            astore 2 /* signedData */
        start local 2 // sun.security.util.DerOutputStream signedData
         1: .line 501
            aload 2 /* signedData */
            aload 0 /* this */
            getfield sun.security.pkcs.PKCS7.version:Ljava/math/BigInteger;
            invokevirtual sun.security.util.DerOutputStream.putInteger:(Ljava/math/BigInteger;)V
         2: .line 504
            aload 2 /* signedData */
            bipush 49
            aload 0 /* this */
            getfield sun.security.pkcs.PKCS7.digestAlgorithmIds:[Lsun/security/x509/AlgorithmId;
            invokevirtual sun.security.util.DerOutputStream.putOrderedSetOf:(B[Lsun/security/util/DerEncoder;)V
         3: .line 507
            aload 0 /* this */
            getfield sun.security.pkcs.PKCS7.contentInfo:Lsun/security/pkcs/ContentInfo;
            aload 2 /* signedData */
            invokevirtual sun.security.pkcs.ContentInfo.encode:(Lsun/security/util/DerOutputStream;)V
         4: .line 510
            aload 0 /* this */
            getfield sun.security.pkcs.PKCS7.certificates:[Ljava/security/cert/X509Certificate;
            ifnull 18
            aload 0 /* this */
            getfield sun.security.pkcs.PKCS7.certificates:[Ljava/security/cert/X509Certificate;
            arraylength
            ifeq 18
         5: .line 512
            aload 0 /* this */
            getfield sun.security.pkcs.PKCS7.certificates:[Ljava/security/cert/X509Certificate;
            arraylength
            anewarray sun.security.x509.X509CertImpl
            astore 3 /* implCerts */
        start local 3 // sun.security.x509.X509CertImpl[] implCerts
         6: .line 513
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         7: goto 16
         8: .line 514
      StackMap locals: sun.security.util.DerOutputStream sun.security.x509.X509CertImpl[] int
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.pkcs.PKCS7.certificates:[Ljava/security/cert/X509Certificate;
            iload 4 /* i */
            aaload
            instanceof sun.security.x509.X509CertImpl
            ifeq 10
         9: .line 515
            aload 3 /* implCerts */
            iload 4 /* i */
            aload 0 /* this */
            getfield sun.security.pkcs.PKCS7.certificates:[Ljava/security/cert/X509Certificate;
            iload 4 /* i */
            aaload
            checkcast sun.security.x509.X509CertImpl
            aastore
            goto 15
        10: .line 518
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.pkcs.PKCS7.certificates:[Ljava/security/cert/X509Certificate;
            iload 4 /* i */
            aaload
            invokevirtual java.security.cert.X509Certificate.getEncoded:()[B
            astore 5 /* encoded */
        start local 5 // byte[] encoded
        11: .line 519
            aload 3 /* implCerts */
            iload 4 /* i */
            new sun.security.x509.X509CertImpl
            dup
            aload 5 /* encoded */
            invokespecial sun.security.x509.X509CertImpl.<init>:([B)V
            aastore
        end local 5 // byte[] encoded
        12: .line 520
            goto 15
      StackMap locals:
      StackMap stack: java.security.cert.CertificateException
        13: astore 5 /* ce */
        start local 5 // java.security.cert.CertificateException ce
        14: .line 521
            new java.io.IOException
            dup
            aload 5 /* ce */
            invokespecial java.io.IOException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 5 // java.security.cert.CertificateException ce
        15: .line 513
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        16: iload 4 /* i */
            aload 0 /* this */
            getfield sun.security.pkcs.PKCS7.certificates:[Ljava/security/cert/X509Certificate;
            arraylength
            if_icmplt 8
        end local 4 // int i
        17: .line 528
            aload 2 /* signedData */
            bipush -96
            aload 3 /* implCerts */
            invokevirtual sun.security.util.DerOutputStream.putOrderedSetOf:(B[Lsun/security/util/DerEncoder;)V
        end local 3 // sun.security.x509.X509CertImpl[] implCerts
        18: .line 532
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.pkcs.PKCS7.crls:[Ljava/security/cert/X509CRL;
            ifnull 34
            aload 0 /* this */
            getfield sun.security.pkcs.PKCS7.crls:[Ljava/security/cert/X509CRL;
            arraylength
            ifeq 34
        19: .line 534
            new java.util.HashSet
            dup
            aload 0 /* this */
            getfield sun.security.pkcs.PKCS7.crls:[Ljava/security/cert/X509CRL;
            arraylength
            invokespecial java.util.HashSet.<init>:(I)V
            astore 3 /* implCRLs */
        start local 3 // java.util.Set implCRLs
        20: .line 535
            aload 0 /* this */
            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 /* crl */
        start local 4 // java.security.cert.X509CRL crl
        22: .line 536
            aload 4 /* crl */
            instanceof sun.security.x509.X509CRLImpl
            ifeq 24
        23: .line 537
            aload 3 /* implCRLs */
            aload 4 /* crl */
            checkcast sun.security.x509.X509CRLImpl
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
            goto 29
        24: .line 540
      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 /* crl */
            invokevirtual java.security.cert.X509CRL.getEncoded:()[B
            astore 8 /* encoded */
        start local 8 // byte[] encoded
        25: .line 541
            aload 3 /* implCRLs */
            new sun.security.x509.X509CRLImpl
            dup
            aload 8 /* encoded */
            invokespecial sun.security.x509.X509CRLImpl.<init>:([B)V
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        end local 8 // byte[] encoded
        26: .line 542
            goto 29
      StackMap locals:
      StackMap stack: java.security.cert.CRLException
        27: astore 8 /* ce */
        start local 8 // java.security.cert.CRLException ce
        28: .line 543
            new java.io.IOException
            dup
            aload 8 /* ce */
            invokespecial java.io.IOException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 8 // java.security.cert.CRLException ce
        end local 4 // java.security.cert.X509CRL crl
        29: .line 535
      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: .line 550
            aload 2 /* signedData */
            bipush -95
        32: .line 551
            aload 3 /* implCRLs */
            aload 3 /* implCRLs */
            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: .line 550
            invokevirtual sun.security.util.DerOutputStream.putOrderedSetOf:(B[Lsun/security/util/DerEncoder;)V
        end local 3 // java.util.Set implCRLs
        34: .line 555
      StackMap locals: sun.security.pkcs.PKCS7 sun.security.util.DerOutputStream sun.security.util.DerOutputStream
      StackMap stack:
            aload 2 /* signedData */
            bipush 49
            aload 0 /* this */
            getfield sun.security.pkcs.PKCS7.signerInfos:[Lsun/security/pkcs/SignerInfo;
            invokevirtual sun.security.util.DerOutputStream.putOrderedSetOf:(B[Lsun/security/util/DerEncoder;)V
        35: .line 558
            new sun.security.util.DerValue
            dup
            bipush 48
        36: .line 559
            aload 2 /* signedData */
            invokevirtual sun.security.util.DerOutputStream.toByteArray:()[B
        37: .line 558
            invokespecial sun.security.util.DerValue.<init>:(B[B)V
            astore 3 /* signedDataSeq */
        start local 3 // sun.security.util.DerValue signedDataSeq
        38: .line 562
            new sun.security.pkcs.ContentInfo
            dup
            getstatic sun.security.pkcs.ContentInfo.SIGNED_DATA_OID:Lsun/security/util/ObjectIdentifier;
        39: .line 563
            aload 3 /* signedDataSeq */
        40: .line 562
            invokespecial sun.security.pkcs.ContentInfo.<init>:(Lsun/security/util/ObjectIdentifier;Lsun/security/util/DerValue;)V
            astore 4 /* block */
        start local 4 // sun.security.pkcs.ContentInfo block
        41: .line 566
            aload 4 /* block */
            aload 1 /* out */
            invokevirtual sun.security.pkcs.ContentInfo.encode:(Lsun/security/util/DerOutputStream;)V
        42: .line 567
            return
        end local 4 // sun.security.pkcs.ContentInfo block
        end local 3 // sun.security.util.DerValue signedDataSeq
        end local 2 // sun.security.util.DerOutputStream signedData
        end local 1 // sun.security.util.DerOutputStream out
        end local 0 // sun.security.pkcs.PKCS7 this
      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 // sun.security.pkcs.PKCS7 this
        start local 1 // sun.security.pkcs.SignerInfo info
        start local 2 // byte[] bytes
         0: .line 580
            aload 1 /* info */
            aload 0 /* this */
            aload 2 /* bytes */
            invokevirtual sun.security.pkcs.SignerInfo.verify:(Lsun/security/pkcs/PKCS7;[B)Lsun/security/pkcs/SignerInfo;
            areturn
        end local 2 // byte[] bytes
        end local 1 // sun.security.pkcs.SignerInfo info
        end local 0 // sun.security.pkcs.PKCS7 this
      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 // sun.security.pkcs.PKCS7 this
        start local 1 // byte[] bytes
         0: .line 594
            new java.util.Vector
            dup
            invokespecial java.util.Vector.<init>:()V
            astore 2 /* intResult */
        start local 2 // java.util.Vector intResult
         1: .line 595
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         2: goto 7
         3: .line 597
      StackMap locals: java.util.Vector int
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.security.pkcs.PKCS7.signerInfos:[Lsun/security/pkcs/SignerInfo;
            iload 3 /* i */
            aaload
            aload 1 /* bytes */
            invokevirtual sun.security.pkcs.PKCS7.verify:(Lsun/security/pkcs/SignerInfo;[B)Lsun/security/pkcs/SignerInfo;
            astore 4 /* signerInfo */
        start local 4 // sun.security.pkcs.SignerInfo signerInfo
         4: .line 598
            aload 4 /* signerInfo */
            ifnull 6
         5: .line 599
            aload 2 /* intResult */
            aload 4 /* signerInfo */
            invokevirtual java.util.Vector.addElement:(Ljava/lang/Object;)V
        end local 4 // sun.security.pkcs.SignerInfo signerInfo
         6: .line 595
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         7: iload 3 /* i */
            aload 0 /* this */
            getfield sun.security.pkcs.PKCS7.signerInfos:[Lsun/security/pkcs/SignerInfo;
            arraylength
            if_icmplt 3
        end local 3 // int i
         8: .line 602
            aload 2 /* intResult */
            invokevirtual java.util.Vector.isEmpty:()Z
            ifne 12
         9: .line 604
            aload 2 /* intResult */
            invokevirtual java.util.Vector.size:()I
            anewarray sun.security.pkcs.SignerInfo
            astore 3 /* result */
        start local 3 // sun.security.pkcs.SignerInfo[] result
        10: .line 605
            aload 2 /* intResult */
            aload 3 /* result */
            invokevirtual java.util.Vector.copyInto:([Ljava/lang/Object;)V
        11: .line 606
            aload 3 /* result */
            areturn
        end local 3 // sun.security.pkcs.SignerInfo[] result
        12: .line 608
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 2 // java.util.Vector intResult
        end local 1 // byte[] bytes
        end local 0 // sun.security.pkcs.PKCS7 this
      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 // sun.security.pkcs.PKCS7 this
         0: .line 619
            aload 0 /* this */
            aconst_null
            invokevirtual sun.security.pkcs.PKCS7.verify:([B)[Lsun/security/pkcs/SignerInfo;
            areturn
        end local 0 // sun.security.pkcs.PKCS7 this
      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 // sun.security.pkcs.PKCS7 this
         0: .line 628
            aload 0 /* this */
            getfield sun.security.pkcs.PKCS7.version:Ljava/math/BigInteger;
            areturn
        end local 0 // sun.security.pkcs.PKCS7 this
      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 // sun.security.pkcs.PKCS7 this
         0: .line 637
            aload 0 /* this */
            getfield sun.security.pkcs.PKCS7.digestAlgorithmIds:[Lsun/security/x509/AlgorithmId;
            areturn
        end local 0 // sun.security.pkcs.PKCS7 this
      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 // sun.security.pkcs.PKCS7 this
         0: .line 644
            aload 0 /* this */
            getfield sun.security.pkcs.PKCS7.contentInfo:Lsun/security/pkcs/ContentInfo;
            areturn
        end local 0 // sun.security.pkcs.PKCS7 this
      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 // sun.security.pkcs.PKCS7 this
         0: .line 653
            aload 0 /* this */
            getfield sun.security.pkcs.PKCS7.certificates:[Ljava/security/cert/X509Certificate;
            ifnull 2
         1: .line 654
            aload 0 /* this */
            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: .line 656
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 0 // sun.security.pkcs.PKCS7 this
      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 // sun.security.pkcs.PKCS7 this
         0: .line 665
            aload 0 /* this */
            getfield sun.security.pkcs.PKCS7.crls:[Ljava/security/cert/X509CRL;
            ifnull 2
         1: .line 666
            aload 0 /* this */
            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: .line 668
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 0 // sun.security.pkcs.PKCS7 this
      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 // sun.security.pkcs.PKCS7 this
         0: .line 677
            aload 0 /* this */
            getfield sun.security.pkcs.PKCS7.signerInfos:[Lsun/security/pkcs/SignerInfo;
            areturn
        end local 0 // sun.security.pkcs.PKCS7 this
      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 // sun.security.pkcs.PKCS7 this
        start local 1 // java.math.BigInteger serial
        start local 2 // sun.security.x509.X500Name issuerName
         0: .line 689
            aload 0 /* this */
            getfield sun.security.pkcs.PKCS7.certificates:[Ljava/security/cert/X509Certificate;
            ifnull 12
         1: .line 690
            aload 0 /* this */
            getfield sun.security.pkcs.PKCS7.certIssuerNames:[Ljava/security/Principal;
            ifnonnull 3
         2: .line 691
            aload 0 /* this */
            invokevirtual sun.security.pkcs.PKCS7.populateCertIssuerNames:()V
         3: .line 692
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         4: goto 11
         5: .line 693
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.pkcs.PKCS7.certificates:[Ljava/security/cert/X509Certificate;
            iload 3 /* i */
            aaload
            astore 4 /* cert */
        start local 4 // java.security.cert.X509Certificate cert
         6: .line 694
            aload 4 /* cert */
            invokevirtual java.security.cert.X509Certificate.getSerialNumber:()Ljava/math/BigInteger;
            astore 5 /* thisSerial */
        start local 5 // java.math.BigInteger thisSerial
         7: .line 695
            aload 1 /* serial */
            aload 5 /* thisSerial */
            invokevirtual java.math.BigInteger.equals:(Ljava/lang/Object;)Z
            ifeq 10
         8: .line 696
            aload 2 /* issuerName */
            aload 0 /* this */
            getfield sun.security.pkcs.PKCS7.certIssuerNames:[Ljava/security/Principal;
            iload 3 /* i */
            aaload
            invokevirtual sun.security.x509.X500Name.equals:(Ljava/lang/Object;)Z
            ifeq 10
         9: .line 698
            aload 4 /* cert */
            areturn
        end local 5 // java.math.BigInteger thisSerial
        end local 4 // java.security.cert.X509Certificate cert
        10: .line 692
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        11: iload 3 /* i */
            aload 0 /* this */
            getfield sun.security.pkcs.PKCS7.certificates:[Ljava/security/cert/X509Certificate;
            arraylength
            if_icmplt 5
        end local 3 // int i
        12: .line 702
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 2 // sun.security.x509.X500Name issuerName
        end local 1 // java.math.BigInteger serial
        end local 0 // sun.security.pkcs.PKCS7 this
      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 // sun.security.pkcs.PKCS7 this
         0: .line 710
            aload 0 /* this */
            getfield sun.security.pkcs.PKCS7.certificates:[Ljava/security/cert/X509Certificate;
            ifnonnull 2
         1: .line 711
            return
         2: .line 713
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            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: .line 714
            iconst_0
            istore 1 /* i */
        start local 1 // int i
         4: goto 16
         5: .line 715
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.pkcs.PKCS7.certificates:[Ljava/security/cert/X509Certificate;
            iload 1 /* i */
            aaload
            astore 2 /* cert */
        start local 2 // java.security.cert.X509Certificate cert
         6: .line 716
            aload 2 /* cert */
            invokevirtual java.security.cert.X509Certificate.getIssuerDN:()Ljava/security/Principal;
            astore 3 /* certIssuerName */
        start local 3 // java.security.Principal certIssuerName
         7: .line 717
            aload 3 /* certIssuerName */
            instanceof sun.security.x509.X500Name
            ifne 14
         8: .line 724
            new sun.security.x509.X509CertInfo
            dup
            aload 2 /* cert */
            invokevirtual java.security.cert.X509Certificate.getTBSCertificate:()[B
            invokespecial sun.security.x509.X509CertInfo.<init>:([B)V
         9: .line 723
            astore 4 /* tbsCert */
        start local 4 // sun.security.x509.X509CertInfo tbsCert
        10: .line 726
            aload 4 /* tbsCert */
            ldc "issuer.dname"
            invokevirtual sun.security.x509.X509CertInfo.get:(Ljava/lang/String;)Ljava/lang/Object;
        11: .line 725
            checkcast java.security.Principal
            astore 3 /* certIssuerName */
        end local 4 // sun.security.x509.X509CertInfo tbsCert
        12: .line 728
            goto 14
      StackMap locals: sun.security.pkcs.PKCS7 int java.security.cert.X509Certificate java.security.Principal
      StackMap stack: java.lang.Exception
        13: pop
        14: .line 733
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.pkcs.PKCS7.certIssuerNames:[Ljava/security/Principal;
            iload 1 /* i */
            aload 3 /* certIssuerName */
            aastore
        end local 3 // java.security.Principal certIssuerName
        end local 2 // java.security.cert.X509Certificate cert
        15: .line 714
            iinc 1 /* i */ 1
      StackMap locals:
      StackMap stack:
        16: iload 1 /* i */
            aload 0 /* this */
            getfield sun.security.pkcs.PKCS7.certificates:[Ljava/security/cert/X509Certificate;
            arraylength
            if_icmplt 5
        end local 1 // int i
        17: .line 735
            return
        end local 0 // sun.security.pkcs.PKCS7 this
      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 // sun.security.pkcs.PKCS7 this
         0: .line 741
            ldc ""
            astore 1 /* out */
        start local 1 // java.lang.String out
         1: .line 743
            new java.lang.StringBuilder
            dup
            aload 1 /* out */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            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 /* out */
         2: .line 744
            aload 0 /* this */
            getfield sun.security.pkcs.PKCS7.version:Ljava/math/BigInteger;
            ifnull 4
         3: .line 745
            new java.lang.StringBuilder
            dup
            aload 1 /* out */
            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 /* this */
            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 /* out */
         4: .line 746
      StackMap locals: java.lang.String
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.pkcs.PKCS7.digestAlgorithmIds:[Lsun/security/x509/AlgorithmId;
            ifnull 11
         5: .line 747
            new java.lang.StringBuilder
            dup
            aload 1 /* out */
            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 /* out */
         6: .line 748
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         7: goto 10
         8: .line 749
      StackMap locals: int
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 1 /* out */
            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 /* this */
            getfield sun.security.pkcs.PKCS7.digestAlgorithmIds:[Lsun/security/x509/AlgorithmId;
            iload 2 /* i */
            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 /* out */
         9: .line 748
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
        10: iload 2 /* i */
            aload 0 /* this */
            getfield sun.security.pkcs.PKCS7.digestAlgorithmIds:[Lsun/security/x509/AlgorithmId;
            arraylength
            if_icmplt 8
        end local 2 // int i
        11: .line 751
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.pkcs.PKCS7.certificates:[Ljava/security/cert/X509Certificate;
            ifnull 18
        12: .line 752
            new java.lang.StringBuilder
            dup
            aload 1 /* out */
            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 /* out */
        13: .line 753
            iconst_0
            istore 2 /* i */
        start local 2 // int i
        14: goto 17
        15: .line 754
      StackMap locals: int
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 1 /* out */
            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 /* i */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc ".   "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield sun.security.pkcs.PKCS7.certificates:[Ljava/security/cert/X509Certificate;
            iload 2 /* i */
            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 /* out */
        16: .line 753
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
        17: iload 2 /* i */
            aload 0 /* this */
            getfield sun.security.pkcs.PKCS7.certificates:[Ljava/security/cert/X509Certificate;
            arraylength
            if_icmplt 15
        end local 2 // int i
        18: .line 756
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.pkcs.PKCS7.crls:[Ljava/security/cert/X509CRL;
            ifnull 25
        19: .line 757
            new java.lang.StringBuilder
            dup
            aload 1 /* out */
            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 /* out */
        20: .line 758
            iconst_0
            istore 2 /* i */
        start local 2 // int i
        21: goto 24
        22: .line 759
      StackMap locals: int
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 1 /* out */
            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 /* i */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc ".   "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield sun.security.pkcs.PKCS7.crls:[Ljava/security/cert/X509CRL;
            iload 2 /* i */
            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 /* out */
        23: .line 758
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
        24: iload 2 /* i */
            aload 0 /* this */
            getfield sun.security.pkcs.PKCS7.crls:[Ljava/security/cert/X509CRL;
            arraylength
            if_icmplt 22
        end local 2 // int i
        25: .line 761
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.pkcs.PKCS7.signerInfos:[Lsun/security/pkcs/SignerInfo;
            ifnull 32
        26: .line 762
            new java.lang.StringBuilder
            dup
            aload 1 /* out */
            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 /* out */
        27: .line 763
            iconst_0
            istore 2 /* i */
        start local 2 // int i
        28: goto 31
        29: .line 764
      StackMap locals: int
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 1 /* out */
            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 /* i */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc ".  "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield sun.security.pkcs.PKCS7.signerInfos:[Lsun/security/pkcs/SignerInfo;
            iload 2 /* i */
            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 /* out */
        30: .line 763
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
        31: iload 2 /* i */
            aload 0 /* this */
            getfield sun.security.pkcs.PKCS7.signerInfos:[Lsun/security/pkcs/SignerInfo;
            arraylength
            if_icmplt 29
        end local 2 // int i
        32: .line 766
      StackMap locals:
      StackMap stack:
            aload 1 /* out */
            areturn
        end local 1 // java.lang.String out
        end local 0 // sun.security.pkcs.PKCS7 this
      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 // sun.security.pkcs.PKCS7 this
         0: .line 774
            aload 0 /* this */
            getfield sun.security.pkcs.PKCS7.oldStyle:Z
            ireturn
        end local 0 // sun.security.pkcs.PKCS7 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/security/pkcs/PKCS7;

  public static byte[] generateSignedData(byte[], java.security.cert.X509Certificate[], byte[], java.lang.String, java.net.URI, java.lang.String, java.lang.String);
    descriptor: ([B[Ljava/security/cert/X509Certificate;[BLjava/lang/String;Ljava/net/URI;Ljava/lang/String;Ljava/lang/String;)[B
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=9, locals=18, args_size=7
        start local 0 // byte[] signature
        start local 1 // java.security.cert.X509Certificate[] signerChain
        start local 2 // byte[] content
        start local 3 // java.lang.String signatureAlgorithm
        start local 4 // java.net.URI tsaURI
        start local 5 // java.lang.String tSAPolicyID
        start local 6 // java.lang.String tSADigestAlg
         0: .line 812
            aconst_null
            astore 7 /* unauthAttrs */
        start local 7 // sun.security.pkcs.PKCS9Attributes unauthAttrs
         1: .line 813
            aload 4 /* tsaURI */
            ifnull 12
         2: .line 815
            new sun.security.timestamp.HttpTimestamper
            dup
            aload 4 /* tsaURI */
            invokespecial sun.security.timestamp.HttpTimestamper.<init>:(Ljava/net/URI;)V
            astore 8 /* tsa */
        start local 8 // sun.security.timestamp.HttpTimestamper tsa
         3: .line 817
            aload 8 /* tsa */
            aload 5 /* tSAPolicyID */
            aload 6 /* tSADigestAlg */
            aload 0 /* signature */
         4: .line 816
            invokestatic sun.security.pkcs.PKCS7.generateTimestampToken:(Lsun/security/timestamp/Timestamper;Ljava/lang/String;Ljava/lang/String;[B)[B
            astore 9 /* tsToken */
        start local 9 // byte[] tsToken
         5: .line 822
            new sun.security.pkcs.PKCS9Attributes
            dup
            iconst_1
            anewarray sun.security.pkcs.PKCS9Attribute
            dup
            iconst_0
         6: .line 823
            new sun.security.pkcs.PKCS9Attribute
            dup
         7: .line 824
            ldc "SignatureTimestampToken"
         8: .line 825
            aload 9 /* tsToken */
         9: .line 823
            invokespecial sun.security.pkcs.PKCS9Attribute.<init>:(Ljava/lang/String;Ljava/lang/Object;)V
            aastore
        10: .line 822
            invokespecial sun.security.pkcs.PKCS9Attributes.<init>:([Lsun/security/pkcs/PKCS9Attribute;)V
        11: .line 821
            astore 7 /* unauthAttrs */
        end local 9 // byte[] tsToken
        end local 8 // sun.security.timestamp.HttpTimestamper tsa
        12: .line 830
      StackMap locals: sun.security.pkcs.PKCS9Attributes
      StackMap stack:
            aload 1 /* signerChain */
            iconst_0
            aaload
            invokevirtual java.security.cert.X509Certificate.getIssuerX500Principal:()Ljavax/security/auth/x500/X500Principal;
            invokestatic sun.security.x509.X500Name.asX500Name:(Ljavax/security/auth/x500/X500Principal;)Lsun/security/x509/X500Name;
        13: .line 829
            astore 8 /* issuerName */
        start local 8 // sun.security.x509.X500Name issuerName
        14: .line 831
            aload 1 /* signerChain */
            iconst_0
            aaload
            invokevirtual java.security.cert.X509Certificate.getSerialNumber:()Ljava/math/BigInteger;
            astore 9 /* serialNumber */
        start local 9 // java.math.BigInteger serialNumber
        15: .line 832
            aload 3 /* signatureAlgorithm */
            invokestatic sun.security.x509.AlgorithmId.getEncAlgFromSigAlg:(Ljava/lang/String;)Ljava/lang/String;
            astore 10 /* encAlg */
        start local 10 // java.lang.String encAlg
        16: .line 833
            aload 3 /* signatureAlgorithm */
            invokestatic sun.security.x509.AlgorithmId.getDigAlgFromSigAlg:(Ljava/lang/String;)Ljava/lang/String;
            astore 11 /* digAlg */
        start local 11 // java.lang.String digAlg
        17: .line 834
            new sun.security.pkcs.SignerInfo
            dup
            aload 8 /* issuerName */
            aload 9 /* serialNumber */
        18: .line 835
            aload 11 /* digAlg */
            invokestatic sun.security.x509.AlgorithmId.get:(Ljava/lang/String;)Lsun/security/x509/AlgorithmId;
            aconst_null
        19: .line 836
            aload 10 /* encAlg */
            invokestatic sun.security.x509.AlgorithmId.get:(Ljava/lang/String;)Lsun/security/x509/AlgorithmId;
        20: .line 837
            aload 0 /* signature */
            aload 7 /* unauthAttrs */
        21: .line 834
            invokespecial sun.security.pkcs.SignerInfo.<init>:(Lsun/security/x509/X500Name;Ljava/math/BigInteger;Lsun/security/x509/AlgorithmId;Lsun/security/pkcs/PKCS9Attributes;Lsun/security/x509/AlgorithmId;[BLsun/security/pkcs/PKCS9Attributes;)V
            astore 12 /* signerInfo */
        start local 12 // sun.security.pkcs.SignerInfo signerInfo
        22: .line 840
            iconst_1
            anewarray sun.security.pkcs.SignerInfo
            dup
            iconst_0
            aload 12 /* signerInfo */
            aastore
            astore 13 /* signerInfos */
        start local 13 // sun.security.pkcs.SignerInfo[] signerInfos
        23: .line 841
            iconst_1
            anewarray sun.security.x509.AlgorithmId
            dup
            iconst_0
            aload 12 /* signerInfo */
            invokevirtual sun.security.pkcs.SignerInfo.getDigestAlgorithmId:()Lsun/security/x509/AlgorithmId;
            aastore
            astore 14 /* algorithms */
        start local 14 // sun.security.x509.AlgorithmId[] algorithms
        24: .line 843
            aload 2 /* content */
            ifnonnull 26
        25: .line 844
            new sun.security.pkcs.ContentInfo
            dup
            getstatic sun.security.pkcs.ContentInfo.DATA_OID:Lsun/security/util/ObjectIdentifier;
            aconst_null
            invokespecial sun.security.pkcs.ContentInfo.<init>:(Lsun/security/util/ObjectIdentifier;Lsun/security/util/DerValue;)V
            goto 27
        26: .line 845
      StackMap locals: byte[] java.security.cert.X509Certificate[] byte[] java.lang.String java.net.URI java.lang.String java.lang.String sun.security.pkcs.PKCS9Attributes sun.security.x509.X500Name java.math.BigInteger java.lang.String java.lang.String sun.security.pkcs.SignerInfo sun.security.pkcs.SignerInfo[] sun.security.x509.AlgorithmId[]
      StackMap stack:
            new sun.security.pkcs.ContentInfo
            dup
            aload 2 /* content */
            invokespecial sun.security.pkcs.ContentInfo.<init>:([B)V
        27: .line 843
      StackMap locals:
      StackMap stack: sun.security.pkcs.ContentInfo
            astore 15 /* contentInfo */
        start local 15 // sun.security.pkcs.ContentInfo contentInfo
        28: .line 846
            new sun.security.pkcs.PKCS7
            dup
            aload 14 /* algorithms */
            aload 15 /* contentInfo */
        29: .line 847
            aload 1 /* signerChain */
            aload 13 /* signerInfos */
        30: .line 846
            invokespecial sun.security.pkcs.PKCS7.<init>:([Lsun/security/x509/AlgorithmId;Lsun/security/pkcs/ContentInfo;[Ljava/security/cert/X509Certificate;[Lsun/security/pkcs/SignerInfo;)V
            astore 16 /* pkcs7 */
        start local 16 // sun.security.pkcs.PKCS7 pkcs7
        31: .line 848
            new java.io.ByteArrayOutputStream
            dup
            invokespecial java.io.ByteArrayOutputStream.<init>:()V
            astore 17 /* p7out */
        start local 17 // java.io.ByteArrayOutputStream p7out
        32: .line 849
            aload 16 /* pkcs7 */
            aload 17 /* p7out */
            invokevirtual sun.security.pkcs.PKCS7.encodeSignedData:(Ljava/io/OutputStream;)V
        33: .line 851
            aload 17 /* p7out */
            invokevirtual java.io.ByteArrayOutputStream.toByteArray:()[B
            areturn
        end local 17 // java.io.ByteArrayOutputStream p7out
        end local 16 // sun.security.pkcs.PKCS7 pkcs7
        end local 15 // sun.security.pkcs.ContentInfo contentInfo
        end local 14 // sun.security.x509.AlgorithmId[] algorithms
        end local 13 // sun.security.pkcs.SignerInfo[] signerInfos
        end local 12 // sun.security.pkcs.SignerInfo signerInfo
        end local 11 // java.lang.String digAlg
        end local 10 // java.lang.String encAlg
        end local 9 // java.math.BigInteger serialNumber
        end local 8 // sun.security.x509.X500Name issuerName
        end local 7 // sun.security.pkcs.PKCS9Attributes unauthAttrs
        end local 6 // java.lang.String tSADigestAlg
        end local 5 // java.lang.String tSAPolicyID
        end local 4 // java.net.URI tsaURI
        end local 3 // java.lang.String signatureAlgorithm
        end local 2 // byte[] content
        end local 1 // java.security.cert.X509Certificate[] signerChain
        end local 0 // byte[] signature
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   34     0           signature  [B
            0   34     1         signerChain  [Ljava/security/cert/X509Certificate;
            0   34     2             content  [B
            0   34     3  signatureAlgorithm  Ljava/lang/String;
            0   34     4              tsaURI  Ljava/net/URI;
            0   34     5         tSAPolicyID  Ljava/lang/String;
            0   34     6        tSADigestAlg  Ljava/lang/String;
            1   34     7         unauthAttrs  Lsun/security/pkcs/PKCS9Attributes;
            3   12     8                 tsa  Lsun/security/timestamp/HttpTimestamper;
            5   12     9             tsToken  [B
           14   34     8          issuerName  Lsun/security/x509/X500Name;
           15   34     9        serialNumber  Ljava/math/BigInteger;
           16   34    10              encAlg  Ljava/lang/String;
           17   34    11              digAlg  Ljava/lang/String;
           22   34    12          signerInfo  Lsun/security/pkcs/SignerInfo;
           23   34    13         signerInfos  [Lsun/security/pkcs/SignerInfo;
           24   34    14          algorithms  [Lsun/security/x509/AlgorithmId;
           28   34    15         contentInfo  Lsun/security/pkcs/ContentInfo;
           31   34    16               pkcs7  Lsun/security/pkcs/PKCS7;
           32   34    17               p7out  Ljava/io/ByteArrayOutputStream;
    Exceptions:
      throws java.security.cert.CertificateException, java.io.IOException, java.security.NoSuchAlgorithmException
    MethodParameters:
                    Name  Flags
      signature           
      signerChain         
      content             
      signatureAlgorithm  
      tsaURI              
      tSAPolicyID         
      tSADigestAlg        

  private static byte[] generateTimestampToken(sun.security.timestamp.Timestamper, java.lang.String, java.lang.String, byte[]);
    descriptor: (Lsun/security/timestamp/Timestamper;Ljava/lang/String;Ljava/lang/String;[B)[B
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=18, args_size=4
        start local 0 // sun.security.timestamp.Timestamper tsa
        start local 1 // java.lang.String tSAPolicyID
        start local 2 // java.lang.String tSADigestAlg
        start local 3 // byte[] toBeTimestamped
         0: .line 880
            aconst_null
            astore 4 /* messageDigest */
        start local 4 // java.security.MessageDigest messageDigest
         1: .line 881
            aconst_null
            astore 5 /* tsQuery */
        start local 5 // sun.security.timestamp.TSRequest tsQuery
         2: .line 883
            aload 2 /* tSADigestAlg */
            invokestatic java.security.MessageDigest.getInstance:(Ljava/lang/String;)Ljava/security/MessageDigest;
            astore 4 /* messageDigest */
         3: .line 884
            new sun.security.timestamp.TSRequest
            dup
            aload 1 /* tSAPolicyID */
            aload 3 /* toBeTimestamped */
            aload 4 /* messageDigest */
            invokespecial sun.security.timestamp.TSRequest.<init>:(Ljava/lang/String;[BLjava/security/MessageDigest;)V
            astore 5 /* tsQuery */
         4: .line 885
            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 /* e */
        start local 6 // java.security.NoSuchAlgorithmException e
         6: .line 886
            new java.lang.IllegalArgumentException
            dup
            aload 6 /* e */
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 6 // java.security.NoSuchAlgorithmException e
         7: .line 890
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 6 /* nonce */
        start local 6 // java.math.BigInteger nonce
         8: .line 891
            getstatic sun.security.pkcs.PKCS7$SecureRandomHolder.RANDOM:Ljava/security/SecureRandom;
            ifnull 11
         9: .line 892
            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 /* nonce */
        10: .line 893
            aload 5 /* tsQuery */
            aload 6 /* nonce */
            invokevirtual sun.security.timestamp.TSRequest.setNonce:(Ljava/math/BigInteger;)V
        11: .line 895
      StackMap locals: java.math.BigInteger
      StackMap stack:
            aload 5 /* tsQuery */
            iconst_1
            invokevirtual sun.security.timestamp.TSRequest.requestCertificate:(Z)V
        12: .line 897
            aload 0 /* tsa */
            aload 5 /* tsQuery */
            invokeinterface sun.security.timestamp.Timestamper.generateTimestamp:(Lsun/security/timestamp/TSRequest;)Lsun/security/timestamp/TSResponse;
            astore 7 /* tsReply */
        start local 7 // sun.security.timestamp.TSResponse tsReply
        13: .line 898
            aload 7 /* tsReply */
            invokevirtual sun.security.timestamp.TSResponse.getStatusCode:()I
            istore 8 /* status */
        start local 8 // int status
        14: .line 900
            iload 8 /* status */
            ifeq 19
            iload 8 /* status */
            iconst_1
            if_icmpeq 19
        15: .line 901
            new java.io.IOException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Error generating timestamp: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        16: .line 902
            aload 7 /* tsReply */
            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: .line 903
            aload 7 /* tsReply */
            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: .line 901
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
        19: .line 906
      StackMap locals: sun.security.timestamp.TSResponse int
      StackMap stack:
            aload 1 /* tSAPolicyID */
            ifnull 22
        20: .line 907
            aload 1 /* tSAPolicyID */
            aload 7 /* tsReply */
            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: .line 908
            new java.io.IOException
            dup
            ldc "TSAPolicyID changed in timestamp token"
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
        22: .line 911
      StackMap locals:
      StackMap stack:
            aload 7 /* tsReply */
            invokevirtual sun.security.timestamp.TSResponse.getToken:()Lsun/security/pkcs/PKCS7;
            astore 9 /* tsToken */
        start local 9 // sun.security.pkcs.PKCS7 tsToken
        23: .line 913
            aload 7 /* tsReply */
            invokevirtual sun.security.timestamp.TSResponse.getTimestampToken:()Lsun/security/timestamp/TimestampToken;
            astore 10 /* tst */
        start local 10 // sun.security.timestamp.TimestampToken tst
        24: .line 915
            aload 10 /* tst */
            invokevirtual sun.security.timestamp.TimestampToken.getHashAlgorithm:()Lsun/security/x509/AlgorithmId;
            aload 2 /* tSADigestAlg */
            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: .line 916
            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 /* tSADigestAlg */
            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: .line 917
            ldc "timestamp token"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        27: .line 916
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
        28: .line 919
      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: .line 920
            new java.lang.IllegalArgumentException
            dup
            invokespecial java.lang.IllegalArgumentException.<init>:()V
            athrow
        30: .line 922
      StackMap locals:
      StackMap stack:
            aload 10 /* tst */
            invokevirtual sun.security.timestamp.TimestampToken.getHashedMessage:()[B
        31: .line 923
            aload 5 /* tsQuery */
            invokevirtual sun.security.timestamp.TSRequest.getHashedMessage:()[B
        32: .line 922
            invokestatic java.security.MessageDigest.isEqual:([B[B)Z
        33: .line 923
            ifne 35
        34: .line 924
            new java.io.IOException
            dup
            ldc "Digest octets changed in timestamp token"
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
        35: .line 927
      StackMap locals:
      StackMap stack:
            aload 10 /* tst */
            invokevirtual sun.security.timestamp.TimestampToken.getNonce:()Ljava/math/BigInteger;
            astore 11 /* replyNonce */
        start local 11 // java.math.BigInteger replyNonce
        36: .line 928
            aload 11 /* replyNonce */
            ifnonnull 38
            aload 6 /* nonce */
            ifnull 38
        37: .line 929
            new java.io.IOException
            dup
            ldc "Nonce missing in timestamp token"
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
        38: .line 931
      StackMap locals: java.math.BigInteger
      StackMap stack:
            aload 11 /* replyNonce */
            ifnull 40
            aload 11 /* replyNonce */
            aload 6 /* nonce */
            invokevirtual java.math.BigInteger.equals:(Ljava/lang/Object;)Z
            ifne 40
        39: .line 932
            new java.io.IOException
            dup
            ldc "Nonce changed in timestamp token"
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
        40: .line 936
      StackMap locals:
      StackMap stack:
            aload 9 /* tsToken */
            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 /* si */
        start local 12 // sun.security.pkcs.SignerInfo si
        42: .line 937
            aload 12 /* si */
            aload 9 /* tsToken */
            invokevirtual sun.security.pkcs.SignerInfo.getCertificate:(Lsun/security/pkcs/PKCS7;)Ljava/security/cert/X509Certificate;
            astore 16 /* cert */
        start local 16 // java.security.cert.X509Certificate cert
        43: .line 938
            aload 16 /* cert */
            ifnonnull 47
        44: .line 940
            new java.security.cert.CertificateException
            dup
        45: .line 941
            ldc "Certificate not included in timestamp token"
        46: .line 940
            invokespecial java.security.cert.CertificateException.<init>:(Ljava/lang/String;)V
            athrow
        47: .line 943
      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 /* cert */
            invokevirtual java.security.cert.X509Certificate.getCriticalExtensionOIDs:()Ljava/util/Set;
        48: .line 944
            ldc "2.5.29.37"
        49: .line 943
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
        50: .line 944
            ifne 54
        51: .line 945
            new java.security.cert.CertificateException
            dup
        52: .line 946
            ldc "Certificate is not valid for timestamping"
        53: .line 945
            invokespecial java.security.cert.CertificateException.<init>:(Ljava/lang/String;)V
            athrow
        54: .line 948
      StackMap locals:
      StackMap stack:
            aload 16 /* cert */
            invokevirtual java.security.cert.X509Certificate.getExtendedKeyUsage:()Ljava/util/List;
            astore 17 /* keyPurposes */
        start local 17 // java.util.List keyPurposes
        55: .line 949
            aload 17 /* keyPurposes */
            ifnull 57
        56: .line 950
            aload 17 /* keyPurposes */
            ldc "1.3.6.1.5.5.7.3.8"
            invokeinterface java.util.List.contains:(Ljava/lang/Object;)Z
            ifne 60
        57: .line 951
      StackMap locals: java.util.List
      StackMap stack:
            new java.security.cert.CertificateException
            dup
        58: .line 952
            ldc "Certificate is not valid for timestamping"
        59: .line 951
            invokespecial java.security.cert.CertificateException.<init>:(Ljava/lang/String;)V
            athrow
        end local 17 // java.util.List keyPurposes
        end local 16 // java.security.cert.X509Certificate cert
        end local 12 // sun.security.pkcs.SignerInfo si
        60: .line 936
      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: .line 956
            aload 7 /* tsReply */
            invokevirtual sun.security.timestamp.TSResponse.getEncodedToken:()[B
            areturn
        end local 11 // java.math.BigInteger replyNonce
        end local 10 // sun.security.timestamp.TimestampToken tst
        end local 9 // sun.security.pkcs.PKCS7 tsToken
        end local 8 // int status
        end local 7 // sun.security.timestamp.TSResponse tsReply
        end local 6 // java.math.BigInteger nonce
        end local 5 // sun.security.timestamp.TSRequest tsQuery
        end local 4 // java.security.MessageDigest messageDigest
        end local 3 // byte[] toBeTimestamped
        end local 2 // java.lang.String tSADigestAlg
        end local 1 // java.lang.String tSAPolicyID
        end local 0 // sun.security.timestamp.Timestamper tsa
      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