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 107
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 61
            aload 0 /* this */
            aconst_null
            putfield sun.security.pkcs.PKCS7.version:Ljava/math/BigInteger;
         2: .line 62
            aload 0 /* this */
            aconst_null
            putfield sun.security.pkcs.PKCS7.digestAlgorithmIds:[Lsun/security/x509/AlgorithmId;
         3: .line 63
            aload 0 /* this */
            aconst_null
            putfield sun.security.pkcs.PKCS7.contentInfo:Lsun/security/pkcs/ContentInfo;
         4: .line 64
            aload 0 /* this */
            aconst_null
            putfield sun.security.pkcs.PKCS7.certificates:[Ljava/security/cert/X509Certificate;
         5: .line 65
            aload 0 /* this */
            aconst_null
            putfield sun.security.pkcs.PKCS7.crls:[Ljava/security/cert/X509CRL;
         6: .line 66
            aload 0 /* this */
            aconst_null
            putfield sun.security.pkcs.PKCS7.signerInfos:[Lsun/security/pkcs/SignerInfo;
         7: .line 68
            aload 0 /* this */
            iconst_0
            putfield sun.security.pkcs.PKCS7.oldStyle:Z
         8: .line 108
            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 109
            aload 2 /* dis */
            invokevirtual java.io.DataInputStream.available:()I
            newarray 8
            astore 3 /* data */
        start local 3 // byte[] data
        10: .line 110
            aload 2 /* dis */
            aload 3 /* data */
            invokevirtual java.io.DataInputStream.readFully:([B)V
        11: .line 112
            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 113
            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 122
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 61
            aload 0 /* this */
            aconst_null
            putfield sun.security.pkcs.PKCS7.version:Ljava/math/BigInteger;
         2: .line 62
            aload 0 /* this */
            aconst_null
            putfield sun.security.pkcs.PKCS7.digestAlgorithmIds:[Lsun/security/x509/AlgorithmId;
         3: .line 63
            aload 0 /* this */
            aconst_null
            putfield sun.security.pkcs.PKCS7.contentInfo:Lsun/security/pkcs/ContentInfo;
         4: .line 64
            aload 0 /* this */
            aconst_null
            putfield sun.security.pkcs.PKCS7.certificates:[Ljava/security/cert/X509Certificate;
         5: .line 65
            aload 0 /* this */
            aconst_null
            putfield sun.security.pkcs.PKCS7.crls:[Ljava/security/cert/X509CRL;
         6: .line 66
            aload 0 /* this */
            aconst_null
            putfield sun.security.pkcs.PKCS7.signerInfos:[Lsun/security/pkcs/SignerInfo;
         7: .line 68
            aload 0 /* this */
            iconst_0
            putfield sun.security.pkcs.PKCS7.oldStyle:Z
         8: .line 123
            aload 0 /* this */
            aload 1 /* derin */
            invokevirtual sun.security.pkcs.PKCS7.parse:(Lsun/security/util/DerInputStream;)V
         9: .line 124
            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 133
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 61
            aload 0 /* this */
            aconst_null
            putfield sun.security.pkcs.PKCS7.version:Ljava/math/BigInteger;
         2: .line 62
            aload 0 /* this */
            aconst_null
            putfield sun.security.pkcs.PKCS7.digestAlgorithmIds:[Lsun/security/x509/AlgorithmId;
         3: .line 63
            aload 0 /* this */
            aconst_null
            putfield sun.security.pkcs.PKCS7.contentInfo:Lsun/security/pkcs/ContentInfo;
         4: .line 64
            aload 0 /* this */
            aconst_null
            putfield sun.security.pkcs.PKCS7.certificates:[Ljava/security/cert/X509Certificate;
         5: .line 65
            aload 0 /* this */
            aconst_null
            putfield sun.security.pkcs.PKCS7.crls:[Ljava/security/cert/X509CRL;
         6: .line 66
            aload 0 /* this */
            aconst_null
            putfield sun.security.pkcs.PKCS7.signerInfos:[Lsun/security/pkcs/SignerInfo;
         7: .line 68
            aload 0 /* this */
            iconst_0
            putfield sun.security.pkcs.PKCS7.oldStyle:Z
         8: .line 135
            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 136
            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 137
            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 138
            new sun.security.pkcs.ParsingException
            dup
        13: .line 139
            ldc "Unable to parse the encoded bytes"
        14: .line 138
            invokespecial sun.security.pkcs.ParsingException.<init>:(Ljava/lang/String;)V
            astore 3 /* pe */
        start local 3 // sun.security.pkcs.ParsingException pe
        15: .line 140
            aload 3 /* pe */
            aload 2 /* ioe1 */
            invokevirtual sun.security.pkcs.ParsingException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            pop
        16: .line 141
            aload 3 /* pe */
            athrow
        end local 3 // sun.security.pkcs.ParsingException pe
        end local 2 // java.io.IOException ioe1
        17: .line 143
      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 152
            aload 1 /* derin */
            aload 1 /* derin */
            invokevirtual sun.security.util.DerInputStream.available:()I
            invokevirtual sun.security.util.DerInputStream.mark:(I)V
         1: .line 154
            aload 0 /* this */
            aload 1 /* derin */
            iconst_0
            invokevirtual sun.security.pkcs.PKCS7.parse:(Lsun/security/util/DerInputStream;Z)V
         2: .line 155
            goto 15
      StackMap locals:
      StackMap stack: java.io.IOException
         3: astore 2 /* ioe */
        start local 2 // java.io.IOException ioe
         4: .line 157
            aload 1 /* derin */
            invokevirtual sun.security.util.DerInputStream.reset:()V
         5: .line 159
            aload 0 /* this */
            aload 1 /* derin */
            iconst_1
            invokevirtual sun.security.pkcs.PKCS7.parse:(Lsun/security/util/DerInputStream;Z)V
         6: .line 160
            aload 0 /* this */
            iconst_1
            putfield sun.security.pkcs.PKCS7.oldStyle:Z
         7: .line 161
            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 162
            new sun.security.pkcs.ParsingException
            dup
        10: .line 163
            aload 3 /* ioe1 */
            invokevirtual java.io.IOException.getMessage:()Ljava/lang/String;
        11: .line 162
            invokespecial sun.security.pkcs.ParsingException.<init>:(Ljava/lang/String;)V
            astore 4 /* pe */
        start local 4 // sun.security.pkcs.ParsingException pe
        12: .line 164
            aload 4 /* pe */
            aload 2 /* ioe */
            invokevirtual sun.security.pkcs.ParsingException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            pop
        13: .line 165
            aload 4 /* pe */
            aload 3 /* ioe1 */
            invokevirtual sun.security.pkcs.ParsingException.addSuppressed:(Ljava/lang/Throwable;)V
        14: .line 166
            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 169
      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 181
            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 182
            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 183
            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 185
            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 186
            aload 0 /* this */
            aload 3 /* content */
            invokevirtual sun.security.pkcs.PKCS7.parseSignedData:(Lsun/security/util/DerValue;)V
         5: .line 187
            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 189
            aload 0 /* this */
            aload 3 /* content */
            invokevirtual sun.security.pkcs.PKCS7.parseOldSignedData:(Lsun/security/util/DerValue;)V
         8: .line 190
            goto 18
      StackMap locals:
      StackMap stack:
         9: aload 0 /* this */
            getfield sun.security.pkcs.PKCS7.contentType:Lsun/security/util/ObjectIdentifier;
        10: .line 191
            getstatic sun.security.pkcs.ContentInfo.NETSCAPE_CERT_SEQUENCE_OID:Lsun/security/util/ObjectIdentifier;
        11: .line 190
            invokevirtual sun.security.util.ObjectIdentifier.equals:(Ljava/lang/Object;)Z
        12: .line 191
            ifeq 15
        13: .line 192
            aload 0 /* this */
            aload 3 /* content */
            invokevirtual sun.security.pkcs.PKCS7.parseNetscapeCertChain:(Lsun/security/util/DerValue;)V
        14: .line 193
            goto 18
        15: .line 194
      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 195
            ldc " not supported."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        17: .line 194
            invokespecial sun.security.pkcs.ParsingException.<init>:(Ljava/lang/String;)V
            athrow
        18: .line 197
      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 208
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 61
            aload 0 /* this */
            aconst_null
            putfield sun.security.pkcs.PKCS7.version:Ljava/math/BigInteger;
         2: .line 62
            aload 0 /* this */
            aconst_null
            putfield sun.security.pkcs.PKCS7.digestAlgorithmIds:[Lsun/security/x509/AlgorithmId;
         3: .line 63
            aload 0 /* this */
            aconst_null
            putfield sun.security.pkcs.PKCS7.contentInfo:Lsun/security/pkcs/ContentInfo;
         4: .line 64
            aload 0 /* this */
            aconst_null
            putfield sun.security.pkcs.PKCS7.certificates:[Ljava/security/cert/X509Certificate;
         5: .line 65
            aload 0 /* this */
            aconst_null
            putfield sun.security.pkcs.PKCS7.crls:[Ljava/security/cert/X509CRL;
         6: .line 66
            aload 0 /* this */
            aconst_null
            putfield sun.security.pkcs.PKCS7.signerInfos:[Lsun/security/pkcs/SignerInfo;
         7: .line 68
            aload 0 /* this */
            iconst_0
            putfield sun.security.pkcs.PKCS7.oldStyle:Z
         8: .line 214
            aload 0 /* this */
            getstatic java.math.BigInteger.ONE:Ljava/math/BigInteger;
            putfield sun.security.pkcs.PKCS7.version:Ljava/math/BigInteger;
         9: .line 215
            aload 0 /* this */
            aload 1 /* digestAlgorithmIds */
            putfield sun.security.pkcs.PKCS7.digestAlgorithmIds:[Lsun/security/x509/AlgorithmId;
        10: .line 216
            aload 0 /* this */
            aload 2 /* contentInfo */
            putfield sun.security.pkcs.PKCS7.contentInfo:Lsun/security/pkcs/ContentInfo;
        11: .line 217
            aload 0 /* this */
            aload 3 /* certificates */
            putfield sun.security.pkcs.PKCS7.certificates:[Ljava/security/cert/X509Certificate;
        12: .line 218
            aload 0 /* this */
            aload 4 /* crls */
            putfield sun.security.pkcs.PKCS7.crls:[Ljava/security/cert/X509CRL;
        13: .line 219
            aload 0 /* this */
            aload 5 /* signerInfos */
            putfield sun.security.pkcs.PKCS7.signerInfos:[Lsun/security/pkcs/SignerInfo;
        14: .line 220
            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 226
            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 227
            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 231
            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 232
            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 233
            aload 0 /* this */
            aload 3 /* contents */
            arraylength
            anewarray java.security.cert.X509Certificate
            putfield sun.security.pkcs.PKCS7.certificates:[Ljava/security/cert/X509Certificate;
         3: .line 235
            aconst_null
            astore 4 /* certfac */
        start local 4 // java.security.cert.CertificateFactory certfac
         4: .line 237
            ldc "X.509"
            invokestatic java.security.cert.CertificateFactory.getInstance:(Ljava/lang/String;)Ljava/security/cert/CertificateFactory;
            astore 4 /* certfac */
         5: .line 238
            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 242
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         8: goto 35
         9: .line 243
      StackMap locals: int
      StackMap stack:
            aconst_null
            astore 6 /* bais */
        start local 6 // java.io.ByteArrayInputStream bais
        10: .line 245
            aload 4 /* certfac */
            ifnonnull 12
        11: .line 246
            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 248
      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 249
            new java.io.ByteArrayInputStream
            dup
            aload 7 /* encoded */
            invokespecial java.io.ByteArrayInputStream.<init>:([B)V
            astore 6 /* bais */
        14: .line 250
            aload 0 /* this */
            getfield sun.security.pkcs.PKCS7.certificates:[Ljava/security/cert/X509Certificate;
            iload 5 /* i */
        15: .line 251
            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 250
            aastore
        17: .line 252
            aload 6 /* bais */
            invokevirtual java.io.ByteArrayInputStream.close:()V
        18: .line 253
            aconst_null
            astore 6 /* bais */
        end local 7 // byte[] encoded
        19: .line 255
            goto 32
      StackMap locals:
      StackMap stack: java.security.cert.CertificateException
        20: astore 7 /* ce */
        start local 7 // java.security.cert.CertificateException ce
        21: .line 256
            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 257
            aload 8 /* pe */
            aload 7 /* ce */
            invokevirtual sun.security.pkcs.ParsingException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            pop
        23: .line 258
            aload 8 /* pe */
            athrow
        end local 8 // sun.security.pkcs.ParsingException pe
        end local 7 // java.security.cert.CertificateException ce
        24: .line 259
      StackMap locals:
      StackMap stack: java.io.IOException
            astore 7 /* ioe */
        start local 7 // java.io.IOException ioe
        25: .line 260
            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 261
            aload 8 /* pe */
            aload 7 /* ioe */
            invokevirtual sun.security.pkcs.ParsingException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            pop
        27: .line 262
            aload 8 /* pe */
            athrow
        end local 8 // sun.security.pkcs.ParsingException pe
        end local 7 // java.io.IOException ioe
        28: .line 263
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 9
        29: .line 264
            aload 6 /* bais */
            ifnull 31
        30: .line 265
            aload 6 /* bais */
            invokevirtual java.io.ByteArrayInputStream.close:()V
        31: .line 266
      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 264
      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 265
            aload 6 /* bais */
            invokevirtual java.io.ByteArrayInputStream.close:()V
        end local 6 // java.io.ByteArrayInputStream bais
        34: .line 242
      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 268
            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 273
            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 276
            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 279
            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 280
            aload 3 /* digestAlgorithmIdVals */
            arraylength
            istore 4 /* len */
        start local 4 // int len
         4: .line 281
            aload 0 /* this */
            iload 4 /* len */
            anewarray sun.security.x509.AlgorithmId
            putfield sun.security.pkcs.PKCS7.digestAlgorithmIds:[Lsun/security/x509/AlgorithmId;
         5: .line 283
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         6: goto 10
         7: .line 284
      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 285
            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 283
            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 288
            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 290
            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 291
            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 290
            invokespecial sun.security.pkcs.ParsingException.<init>:(Ljava/lang/String;)V
        16: .line 289
            astore 6 /* pe */
        start local 6 // sun.security.pkcs.ParsingException pe
        17: .line 292
            aload 6 /* pe */
            aload 5 /* e */
            invokevirtual sun.security.pkcs.ParsingException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            pop
        18: .line 293
            aload 6 /* pe */
            athrow
        end local 6 // sun.security.pkcs.ParsingException pe
        end local 5 // java.io.IOException e
        19: .line 296
      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 298
            aconst_null
            astore 5 /* certfac */
        start local 5 // java.security.cert.CertificateFactory certfac
        21: .line 300
            ldc "X.509"
            invokestatic java.security.cert.CertificateFactory.getInstance:(Ljava/lang/String;)Ljava/security/cert/CertificateFactory;
            astore 5 /* certfac */
        22: .line 301
            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 309
      StackMap locals:
      StackMap stack:
            aload 2 /* dis */
            invokevirtual sun.security.util.DerInputStream.peekByte:()I
            i2b
            bipush -96
            if_icmpne 64
        25: .line 310
            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 312
            aload 6 /* certVals */
            arraylength
            istore 4 /* len */
        27: .line 313
            aload 0 /* this */
            iload 4 /* len */
            anewarray java.security.cert.X509Certificate
            putfield sun.security.pkcs.PKCS7.certificates:[Ljava/security/cert/X509Certificate;
        28: .line 314
            iconst_0
            istore 7 /* count */
        start local 7 // int count
        29: .line 316
            iconst_0
            istore 8 /* i */
        start local 8 // int i
        30: goto 61
        31: .line 317
      StackMap locals: sun.security.util.DerValue[] int int
      StackMap stack:
            aconst_null
            astore 9 /* bais */
        start local 9 // java.io.ByteArrayInputStream bais
        32: .line 319
            aload 6 /* certVals */
            iload 8 /* i */
            aaload
            invokevirtual sun.security.util.DerValue.getTag:()B
            istore 10 /* tag */
        start local 10 // byte tag
        33: .line 322
            iload 10 /* tag */
            bipush 48
            if_icmpne 58
        34: .line 323
            aload 5 /* certfac */
            ifnonnull 37
        35: .line 324
            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 325
            goto 44
        37: .line 326
      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 327
            new java.io.ByteArrayInputStream
            dup
            aload 11 /* encoded */
            invokespecial java.io.ByteArrayInputStream.<init>:([B)V
            astore 9 /* bais */
        39: .line 328
            aload 0 /* this */
            getfield sun.security.pkcs.PKCS7.certificates:[Ljava/security/cert/X509Certificate;
            iload 7 /* count */
        40: .line 329
            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 328
            aastore
        42: .line 330
            aload 9 /* bais */
            invokevirtual java.io.ByteArrayInputStream.close:()V
        43: .line 331
            aconst_null
            astore 9 /* bais */
        end local 11 // byte[] encoded
        44: .line 333
      StackMap locals:
      StackMap stack:
            iinc 7 /* count */ 1
        end local 10 // byte tag
        45: .line 335
            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 336
            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 337
            aload 11 /* pe */
            aload 10 /* ce */
            invokevirtual sun.security.pkcs.ParsingException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            pop
        49: .line 338
            aload 11 /* pe */
            athrow
        end local 11 // sun.security.pkcs.ParsingException pe
        end local 10 // java.security.cert.CertificateException ce
        50: .line 339
      StackMap locals:
      StackMap stack: java.io.IOException
            astore 10 /* ioe */
        start local 10 // java.io.IOException ioe
        51: .line 340
            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 341
            aload 11 /* pe */
            aload 10 /* ioe */
            invokevirtual sun.security.pkcs.ParsingException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            pop
        53: .line 342
            aload 11 /* pe */
            athrow
        end local 11 // sun.security.pkcs.ParsingException pe
        end local 10 // java.io.IOException ioe
        54: .line 343
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 12
        55: .line 344
            aload 9 /* bais */
            ifnull 57
        56: .line 345
            aload 9 /* bais */
            invokevirtual java.io.ByteArrayInputStream.close:()V
        57: .line 346
      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 344
      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 345
            aload 9 /* bais */
            invokevirtual java.io.ByteArrayInputStream.close:()V
        end local 9 // java.io.ByteArrayInputStream bais
        60: .line 316
      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 348
            iload 7 /* count */
            iload 4 /* len */
            if_icmpeq 64
        63: .line 349
            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 354
      StackMap locals:
      StackMap stack:
            aload 2 /* dis */
            invokevirtual sun.security.util.DerInputStream.peekByte:()I
            i2b
            bipush -95
            if_icmpne 92
        65: .line 355
            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 357
            aload 6 /* crlVals */
            arraylength
            istore 4 /* len */
        67: .line 358
            aload 0 /* this */
            iload 4 /* len */
            anewarray java.security.cert.X509CRL
            putfield sun.security.pkcs.PKCS7.crls:[Ljava/security/cert/X509CRL;
        68: .line 360
            iconst_0
            istore 7 /* i */
        start local 7 // int i
        69: goto 91
        70: .line 361
      StackMap locals: sun.security.util.DerValue[] int
      StackMap stack:
            aconst_null
            astore 8 /* bais */
        start local 8 // java.io.ByteArrayInputStream bais
        71: .line 363
            aload 5 /* certfac */
            ifnonnull 73
        72: .line 364
            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 366
      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 367
            new java.io.ByteArrayInputStream
            dup
            aload 9 /* encoded */
            invokespecial java.io.ByteArrayInputStream.<init>:([B)V
            astore 8 /* bais */
        75: .line 368
            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 369
            aload 8 /* bais */
            invokevirtual java.io.ByteArrayInputStream.close:()V
        77: .line 370
            aconst_null
            astore 8 /* bais */
        end local 9 // byte[] encoded
        78: .line 372
            goto 88
      StackMap locals:
      StackMap stack: java.security.cert.CRLException
        79: astore 9 /* e */
        start local 9 // java.security.cert.CRLException e
        80: .line 374
            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 373
            astore 10 /* pe */
        start local 10 // sun.security.pkcs.ParsingException pe
        82: .line 375
            aload 10 /* pe */
            aload 9 /* e */
            invokevirtual sun.security.pkcs.ParsingException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            pop
        83: .line 376
            aload 10 /* pe */
            athrow
        end local 10 // sun.security.pkcs.ParsingException pe
        end local 9 // java.security.cert.CRLException e
        84: .line 377
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 11
        85: .line 378
            aload 8 /* bais */
            ifnull 87
        86: .line 379
            aload 8 /* bais */
            invokevirtual java.io.ByteArrayInputStream.close:()V
        87: .line 380
      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 378
      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 379
            aload 8 /* bais */
            invokevirtual java.io.ByteArrayInputStream.close:()V
        end local 8 // java.io.ByteArrayInputStream bais
        90: .line 360
      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 385
      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 387
            aload 6 /* signerInfoVals */
            arraylength
            istore 4 /* len */
        94: .line 388
            aload 0 /* this */
            iload 4 /* len */
            anewarray sun.security.pkcs.SignerInfo
            putfield sun.security.pkcs.PKCS7.signerInfos:[Lsun/security/pkcs/SignerInfo;
        95: .line 390
            iconst_0
            istore 7 /* i */
        start local 7 // int i
        96: goto 100
        97: .line 391
      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 392
            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 390
            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 394
            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 403
            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 406
            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 409
            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 410
            aload 3 /* digestAlgorithmIdVals */
            arraylength
            istore 4 /* len */
        start local 4 // int len
         4: .line 412
            aload 0 /* this */
            iload 4 /* len */
            anewarray sun.security.x509.AlgorithmId
            putfield sun.security.pkcs.PKCS7.digestAlgorithmIds:[Lsun/security/x509/AlgorithmId;
         5: .line 414
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         6: goto 10
         7: .line 415
      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 416
            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 414
            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 418
            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 419
            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 423
      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 426
            aconst_null
            astore 5 /* certfac */
        start local 5 // java.security.cert.CertificateFactory certfac
        16: .line 428
            ldc "X.509"
            invokestatic java.security.cert.CertificateFactory.getInstance:(Ljava/lang/String;)Ljava/security/cert/CertificateFactory;
            astore 5 /* certfac */
        17: .line 429
            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 432
      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 433
            aload 6 /* certVals */
            arraylength
            istore 4 /* len */
        21: .line 434
            aload 0 /* this */
            iload 4 /* len */
            anewarray java.security.cert.X509Certificate
            putfield sun.security.pkcs.PKCS7.certificates:[Ljava/security/cert/X509Certificate;
        22: .line 436
            iconst_0
            istore 7 /* i */
        start local 7 // int i
        23: goto 50
        24: .line 437
      StackMap locals: sun.security.util.DerValue[] int
      StackMap stack:
            aconst_null
            astore 8 /* bais */
        start local 8 // java.io.ByteArrayInputStream bais
        25: .line 439
            aload 5 /* certfac */
            ifnonnull 27
        26: .line 440
            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 442
      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 443
            new java.io.ByteArrayInputStream
            dup
            aload 9 /* encoded */
            invokespecial java.io.ByteArrayInputStream.<init>:([B)V
            astore 8 /* bais */
        29: .line 444
            aload 0 /* this */
            getfield sun.security.pkcs.PKCS7.certificates:[Ljava/security/cert/X509Certificate;
            iload 7 /* i */
        30: .line 445
            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 444
            aastore
        32: .line 446
            aload 8 /* bais */
            invokevirtual java.io.ByteArrayInputStream.close:()V
        33: .line 447
            aconst_null
            astore 8 /* bais */
        end local 9 // byte[] encoded
        34: .line 449
            goto 47
      StackMap locals:
      StackMap stack: java.security.cert.CertificateException
        35: astore 9 /* ce */
        start local 9 // java.security.cert.CertificateException ce
        36: .line 450
            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 451
            aload 10 /* pe */
            aload 9 /* ce */
            invokevirtual sun.security.pkcs.ParsingException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            pop
        38: .line 452
            aload 10 /* pe */
            athrow
        end local 10 // sun.security.pkcs.ParsingException pe
        end local 9 // java.security.cert.CertificateException ce
        39: .line 453
      StackMap locals:
      StackMap stack: java.io.IOException
            astore 9 /* ioe */
        start local 9 // java.io.IOException ioe
        40: .line 454
            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 455
            aload 10 /* pe */
            aload 9 /* ioe */
            invokevirtual sun.security.pkcs.ParsingException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            pop
        42: .line 456
            aload 10 /* pe */
            athrow
        end local 10 // sun.security.pkcs.ParsingException pe
        end local 9 // java.io.IOException ioe
        43: .line 457
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 11
        44: .line 458
            aload 8 /* bais */
            ifnull 46
        45: .line 459
            aload 8 /* bais */
            invokevirtual java.io.ByteArrayInputStream.close:()V
        46: .line 460
      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 458
      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 459
            aload 8 /* bais */
            invokevirtual java.io.ByteArrayInputStream.close:()V
        end local 8 // java.io.ByteArrayInputStream bais
        49: .line 436
      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 464
            aload 2 /* dis */
            iconst_0
            invokevirtual sun.security.util.DerInputStream.getSet:(I)[Lsun/security/util/DerValue;
            pop
        52: .line 467
            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 468
            aload 7 /* signerInfoVals */
            arraylength
            istore 4 /* len */
        54: .line 469
            aload 0 /* this */
            iload 4 /* len */
            anewarray sun.security.pkcs.SignerInfo
            putfield sun.security.pkcs.PKCS7.signerInfos:[Lsun/security/pkcs/SignerInfo;
        55: .line 470
            iconst_0
            istore 8 /* i */
        start local 8 // int i
        56: goto 60
        57: .line 471
      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 472
            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 470
            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 474
            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 483
            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 484
            aload 0 /* this */
            aload 2 /* derout */
            invokevirtual sun.security.pkcs.PKCS7.encodeSignedData:(Lsun/security/util/DerOutputStream;)V
         2: .line 485
            aload 1 /* out */
            aload 2 /* derout */
            invokevirtual sun.security.util.DerOutputStream.toByteArray:()[B
            invokevirtual java.io.OutputStream.write:([B)V
         3: .line 486
            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 497
            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 500
            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 503
            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 506
            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 509
            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 511
            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 512
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         7: goto 16
         8: .line 513
      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 514
            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 517
      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 518
            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 519
            goto 15
      StackMap locals:
      StackMap stack: java.security.cert.CertificateException
        13: astore 5 /* ce */
        start local 5 // java.security.cert.CertificateException ce
        14: .line 520
            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 512
      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 527
            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 531
      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 533
            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 534
            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 535
            aload 4 /* crl */
            instanceof sun.security.x509.X509CRLImpl
            ifeq 24
        23: .line 536
            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 539
      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 540
            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 541
            goto 29
      StackMap locals:
      StackMap stack: java.security.cert.CRLException
        27: astore 8 /* ce */
        start local 8 // java.security.cert.CRLException ce
        28: .line 542
            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 534
      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 549
            aload 2 /* signedData */
            bipush -95
        32: .line 550
            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 549
            invokevirtual sun.security.util.DerOutputStream.putOrderedSetOf:(B[Lsun/security/util/DerEncoder;)V
        end local 3 // java.util.Set implCRLs
        34: .line 554
      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 557
            new sun.security.util.DerValue
            dup
            bipush 48
        36: .line 558
            aload 2 /* signedData */
            invokevirtual sun.security.util.DerOutputStream.toByteArray:()[B
        37: .line 557
            invokespecial sun.security.util.DerValue.<init>:(B[B)V
            astore 3 /* signedDataSeq */
        start local 3 // sun.security.util.DerValue signedDataSeq
        38: .line 561
            new sun.security.pkcs.ContentInfo
            dup
            getstatic sun.security.pkcs.ContentInfo.SIGNED_DATA_OID:Lsun/security/util/ObjectIdentifier;
        39: .line 562
            aload 3 /* signedDataSeq */
        40: .line 561
            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 565
            aload 4 /* block */
            aload 1 /* out */
            invokevirtual sun.security.pkcs.ContentInfo.encode:(Lsun/security/util/DerOutputStream;)V
        42: .line 566
            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 579
            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 593
            new java.util.Vector
            dup
            invokespecial java.util.Vector.<init>:()V
            astore 2 /* intResult */
        start local 2 // java.util.Vector intResult
         1: .line 594
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         2: goto 7
         3: .line 596
      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 597
            aload 4 /* signerInfo */
            ifnull 6
         5: .line 598
            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 594
      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 601
            aload 2 /* intResult */
            invokevirtual java.util.Vector.isEmpty:()Z
            ifne 12
         9: .line 603
            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 604
            aload 2 /* intResult */
            aload 3 /* result */
            invokevirtual java.util.Vector.copyInto:([Ljava/lang/Object;)V
        11: .line 605
            aload 3 /* result */
            areturn
        end local 3 // sun.security.pkcs.SignerInfo[] result
        12: .line 607
      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 618
            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 627
            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 636
            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 643
            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 652
            aload 0 /* this */
            getfield sun.security.pkcs.PKCS7.certificates:[Ljava/security/cert/X509Certificate;
            ifnull 2
         1: .line 653
            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 655
      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 664
            aload 0 /* this */
            getfield sun.security.pkcs.PKCS7.crls:[Ljava/security/cert/X509CRL;
            ifnull 2
         1: .line 665
            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 667
      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 676
            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 688
            aload 0 /* this */
            getfield sun.security.pkcs.PKCS7.certificates:[Ljava/security/cert/X509Certificate;
            ifnull 12
         1: .line 689
            aload 0 /* this */
            getfield sun.security.pkcs.PKCS7.certIssuerNames:[Ljava/security/Principal;
            ifnonnull 3
         2: .line 690
            aload 0 /* this */
            invokevirtual sun.security.pkcs.PKCS7.populateCertIssuerNames:()V
         3: .line 691
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         4: goto 11
         5: .line 692
      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 693
            aload 4 /* cert */
            invokevirtual java.security.cert.X509Certificate.getSerialNumber:()Ljava/math/BigInteger;
            astore 5 /* thisSerial */
        start local 5 // java.math.BigInteger thisSerial
         7: .line 694
            aload 1 /* serial */
            aload 5 /* thisSerial */
            invokevirtual java.math.BigInteger.equals:(Ljava/lang/Object;)Z
            ifeq 10
         8: .line 695
            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 697
            aload 4 /* cert */
            areturn
        end local 5 // java.math.BigInteger thisSerial
        end local 4 // java.security.cert.X509Certificate cert
        10: .line 691
      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 701
      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 709
            aload 0 /* this */
            getfield sun.security.pkcs.PKCS7.certificates:[Ljava/security/cert/X509Certificate;
            ifnonnull 2
         1: .line 710
            return
         2: .line 712
      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 713
            iconst_0
            istore 1 /* i */
        start local 1 // int i
         4: goto 16
         5: .line 714
      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 715
            aload 2 /* cert */
            invokevirtual java.security.cert.X509Certificate.getIssuerDN:()Ljava/security/Principal;
            astore 3 /* certIssuerName */
        start local 3 // java.security.Principal certIssuerName
         7: .line 716
            aload 3 /* certIssuerName */
            instanceof sun.security.x509.X500Name
            ifne 14
         8: .line 723
            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 722
            astore 4 /* tbsCert */
        start local 4 // sun.security.x509.X509CertInfo tbsCert
        10: .line 725
            aload 4 /* tbsCert */
            ldc "issuer.dname"
            invokevirtual sun.security.x509.X509CertInfo.get:(Ljava/lang/String;)Ljava/lang/Object;
        11: .line 724
            checkcast java.security.Principal
            astore 3 /* certIssuerName */
        end local 4 // sun.security.x509.X509CertInfo tbsCert
        12: .line 727
            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 732
      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 713
            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 734
            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 740
            ldc ""
            astore 1 /* out */
        start local 1 // java.lang.String out
         1: .line 742
            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 743
            aload 0 /* this */
            getfield sun.security.pkcs.PKCS7.version:Ljava/math/BigInteger;
            ifnull 4
         3: .line 744
            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 745
      StackMap locals: java.lang.String
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.pkcs.PKCS7.digestAlgorithmIds:[Lsun/security/x509/AlgorithmId;
            ifnull 11
         5: .line 746
            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 747
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         7: goto 10
         8: .line 748
      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 747
            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 750
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.pkcs.PKCS7.certificates:[Ljava/security/cert/X509Certificate;
            ifnull 18
        12: .line 751
            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 752
            iconst_0
            istore 2 /* i */
        start local 2 // int i
        14: goto 17
        15: .line 753
      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 752
            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 755
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.pkcs.PKCS7.crls:[Ljava/security/cert/X509CRL;
            ifnull 25
        19: .line 756
            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 757
            iconst_0
            istore 2 /* i */
        start local 2 // int i
        21: goto 24
        22: .line 758
      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 757
            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 760
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.pkcs.PKCS7.signerInfos:[Lsun/security/pkcs/SignerInfo;
            ifnull 32
        26: .line 761
            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 762
            iconst_0
            istore 2 /* i */
        start local 2 // int i
        28: goto 31
        29: .line 763
      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 762
            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 765
      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 773
            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 811
            aconst_null
            astore 7 /* unauthAttrs */
        start local 7 // sun.security.pkcs.PKCS9Attributes unauthAttrs
         1: .line 812
            aload 4 /* tsaURI */
            ifnull 12
         2: .line 814
            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 816
            aload 8 /* tsa */
            aload 5 /* tSAPolicyID */
            aload 6 /* tSADigestAlg */
            aload 0 /* signature */
         4: .line 815
            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 821
            new sun.security.pkcs.PKCS9Attributes
            dup
            iconst_1
            anewarray sun.security.pkcs.PKCS9Attribute
            dup
            iconst_0
         6: .line 822
            new sun.security.pkcs.PKCS9Attribute
            dup
         7: .line 823
            ldc "SignatureTimestampToken"
         8: .line 824
            aload 9 /* tsToken */
         9: .line 822
            invokespecial sun.security.pkcs.PKCS9Attribute.<init>:(Ljava/lang/String;Ljava/lang/Object;)V
            aastore
        10: .line 821
            invokespecial sun.security.pkcs.PKCS9Attributes.<init>:([Lsun/security/pkcs/PKCS9Attribute;)V
        11: .line 820
            astore 7 /* unauthAttrs */
        end local 9 // byte[] tsToken
        end local 8 // sun.security.timestamp.HttpTimestamper tsa
        12: .line 829
      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 828
            astore 8 /* issuerName */
        start local 8 // sun.security.x509.X500Name issuerName
        14: .line 830
            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 831
            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 832
            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 833
            new sun.security.pkcs.SignerInfo
            dup
            aload 8 /* issuerName */
            aload 9 /* serialNumber */
        18: .line 834
            aload 11 /* digAlg */
            invokestatic sun.security.x509.AlgorithmId.get:(Ljava/lang/String;)Lsun/security/x509/AlgorithmId;
            aconst_null
        19: .line 835
            aload 10 /* encAlg */
            invokestatic sun.security.x509.AlgorithmId.get:(Ljava/lang/String;)Lsun/security/x509/AlgorithmId;
        20: .line 836
            aload 0 /* signature */
            aload 7 /* unauthAttrs */
        21: .line 833
            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 839
            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 840
            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 842
            aload 2 /* content */
            ifnonnull 26
        25: .line 843
            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 844
      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 842
      StackMap locals:
      StackMap stack: sun.security.pkcs.ContentInfo
            astore 15 /* contentInfo */
        start local 15 // sun.security.pkcs.ContentInfo contentInfo
        28: .line 845
            new sun.security.pkcs.PKCS7
            dup
            aload 14 /* algorithms */
            aload 15 /* contentInfo */
        29: .line 846
            aload 1 /* signerChain */
            aload 13 /* signerInfos */
        30: .line 845
            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 847
            new java.io.ByteArrayOutputStream
            dup
            invokespecial java.io.ByteArrayOutputStream.<init>:()V
            astore 17 /* p7out */
        start local 17 // java.io.ByteArrayOutputStream p7out
        32: .line 848
            aload 16 /* pkcs7 */
            aload 17 /* p7out */
            invokevirtual sun.security.pkcs.PKCS7.encodeSignedData:(Ljava/io/OutputStream;)V
        33: .line 850
            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 879
            aconst_null
            astore 4 /* messageDigest */
        start local 4 // java.security.MessageDigest messageDigest
         1: .line 880
            aconst_null
            astore 5 /* tsQuery */
        start local 5 // sun.security.timestamp.TSRequest tsQuery
         2: .line 882
            aload 2 /* tSADigestAlg */
            invokestatic java.security.MessageDigest.getInstance:(Ljava/lang/String;)Ljava/security/MessageDigest;
            astore 4 /* messageDigest */
         3: .line 883
            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 884
            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 885
            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 889
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 6 /* nonce */
        start local 6 // java.math.BigInteger nonce
         8: .line 890
            getstatic sun.security.pkcs.PKCS7$SecureRandomHolder.RANDOM:Ljava/security/SecureRandom;
            ifnull 11
         9: .line 891
            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 892
            aload 5 /* tsQuery */
            aload 6 /* nonce */
            invokevirtual sun.security.timestamp.TSRequest.setNonce:(Ljava/math/BigInteger;)V
        11: .line 894
      StackMap locals: java.math.BigInteger
      StackMap stack:
            aload 5 /* tsQuery */
            iconst_1
            invokevirtual sun.security.timestamp.TSRequest.requestCertificate:(Z)V
        12: .line 896
            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 897
            aload 7 /* tsReply */
            invokevirtual sun.security.timestamp.TSResponse.getStatusCode:()I
            istore 8 /* status */
        start local 8 // int status
        14: .line 899
            iload 8 /* status */
            ifeq 19
            iload 8 /* status */
            iconst_1
            if_icmpeq 19
        15: .line 900
            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 901
            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 902
            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 900
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
        19: .line 905
      StackMap locals: sun.security.timestamp.TSResponse int
      StackMap stack:
            aload 1 /* tSAPolicyID */
            ifnull 22
        20: .line 906
            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 907
            new java.io.IOException
            dup
            ldc "TSAPolicyID changed in timestamp token"
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
        22: .line 910
      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 912
            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 914
            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 915
            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 916
            ldc "timestamp token"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        27: .line 915
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
        28: .line 918
      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 919
            new java.lang.IllegalArgumentException
            dup
            invokespecial java.lang.IllegalArgumentException.<init>:()V
            athrow
        30: .line 921
      StackMap locals:
      StackMap stack:
            aload 10 /* tst */
            invokevirtual sun.security.timestamp.TimestampToken.getHashedMessage:()[B
        31: .line 922
            aload 5 /* tsQuery */
            invokevirtual sun.security.timestamp.TSRequest.getHashedMessage:()[B
        32: .line 921
            invokestatic java.security.MessageDigest.isEqual:([B[B)Z
        33: .line 922
            ifne 35
        34: .line 923
            new java.io.IOException
            dup
            ldc "Digest octets changed in timestamp token"
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
        35: .line 926
      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 927
            aload 11 /* replyNonce */
            ifnonnull 38
            aload 6 /* nonce */
            ifnull 38
        37: .line 928
            new java.io.IOException
            dup
            ldc "Nonce missing in timestamp token"
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
        38: .line 930
      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 931
            new java.io.IOException
            dup
            ldc "Nonce changed in timestamp token"
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
        40: .line 935
      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 936
            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 937
            aload 16 /* cert */
            ifnonnull 47
        44: .line 939
            new java.security.cert.CertificateException
            dup
        45: .line 940
            ldc "Certificate not included in timestamp token"
        46: .line 939
            invokespecial java.security.cert.CertificateException.<init>:(Ljava/lang/String;)V
            athrow
        47: .line 942
      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 943
            ldc "2.5.29.37"
        49: .line 942
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
        50: .line 943
            ifne 54
        51: .line 944
            new java.security.cert.CertificateException
            dup
        52: .line 945
            ldc "Certificate is not valid for timestamping"
        53: .line 944
            invokespecial java.security.cert.CertificateException.<init>:(Ljava/lang/String;)V
            athrow
        54: .line 947
      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 948
            aload 17 /* keyPurposes */
            ifnull 57
        56: .line 949
            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 950
      StackMap locals: java.util.List
      StackMap stack:
            new java.security.cert.CertificateException
            dup
        58: .line 951
            ldc "Certificate is not valid for timestamping"
        59: .line 950
            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 935
      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 955
            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