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 15
      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 15
      StackMap locals:
      StackMap stack:
         9: aload 0 /* this */
            getfield sun.security.pkcs.PKCS7.contentType:Lsun/security/util/ObjectIdentifier;
            getstatic sun.security.pkcs.ContentInfo.NETSCAPE_CERT_SEQUENCE_OID:Lsun/security/util/ObjectIdentifier;
            invokevirtual sun.security.util.ObjectIdentifier.equals:(Ljava/lang/Object;)Z
            ifeq 12
        10: .line 191
            aload 0 /* this */
            aload 3 /* content */
            invokevirtual sun.security.pkcs.PKCS7.parseNetscapeCertChain:(Lsun/security/util/DerValue;)V
        11: .line 192
            goto 15
        12: .line 193
      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;
        13: .line 194
            ldc " not supported."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        14: .line 193
            invokespecial sun.security.pkcs.ParsingException.<init>:(Ljava/lang/String;)V
            athrow
        15: .line 196
      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   16     0      this  Lsun/security/pkcs/PKCS7;
            0   16     1     derin  Lsun/security/util/DerInputStream;
            0   16     2  oldStyle  Z
            3   16     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 207
            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 213
            aload 0 /* this */
            getstatic java.math.BigInteger.ONE:Ljava/math/BigInteger;
            putfield sun.security.pkcs.PKCS7.version:Ljava/math/BigInteger;
         9: .line 214
            aload 0 /* this */
            aload 1 /* digestAlgorithmIds */
            putfield sun.security.pkcs.PKCS7.digestAlgorithmIds:[Lsun/security/x509/AlgorithmId;
        10: .line 215
            aload 0 /* this */
            aload 2 /* contentInfo */
            putfield sun.security.pkcs.PKCS7.contentInfo:Lsun/security/pkcs/ContentInfo;
        11: .line 216
            aload 0 /* this */
            aload 3 /* certificates */
            putfield sun.security.pkcs.PKCS7.certificates:[Ljava/security/cert/X509Certificate;
        12: .line 217
            aload 0 /* this */
            aload 4 /* crls */
            putfield sun.security.pkcs.PKCS7.crls:[Ljava/security/cert/X509CRL;
        13: .line 218
            aload 0 /* this */
            aload 5 /* signerInfos */
            putfield sun.security.pkcs.PKCS7.signerInfos:[Lsun/security/pkcs/SignerInfo;
        14: .line 219
            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 225
            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 226
            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 230
            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 231
            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 232
            aload 0 /* this */
            aload 3 /* contents */
            arraylength
            anewarray java.security.cert.X509Certificate
            putfield sun.security.pkcs.PKCS7.certificates:[Ljava/security/cert/X509Certificate;
         3: .line 234
            aconst_null
            astore 4 /* certfac */
        start local 4 // java.security.cert.CertificateFactory certfac
         4: .line 236
            ldc "X.509"
            invokestatic java.security.cert.CertificateFactory.getInstance:(Ljava/lang/String;)Ljava/security/cert/CertificateFactory;
            astore 4 /* certfac */
         5: .line 237
            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 241
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         8: goto 35
         9: .line 242
      StackMap locals: int
      StackMap stack:
            aconst_null
            astore 6 /* bais */
        start local 6 // java.io.ByteArrayInputStream bais
        10: .line 244
            aload 4 /* certfac */
            ifnonnull 12
        11: .line 245
            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 247
      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 248
            new java.io.ByteArrayInputStream
            dup
            aload 7 /* encoded */
            invokespecial java.io.ByteArrayInputStream.<init>:([B)V
            astore 6 /* bais */
        14: .line 249
            aload 0 /* this */
            getfield sun.security.pkcs.PKCS7.certificates:[Ljava/security/cert/X509Certificate;
            iload 5 /* i */
        15: .line 250
            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 249
            aastore
        17: .line 251
            aload 6 /* bais */
            invokevirtual java.io.ByteArrayInputStream.close:()V
        18: .line 252
            aconst_null
            astore 6 /* bais */
        end local 7 // byte[] encoded
        19: .line 254
            goto 32
      StackMap locals:
      StackMap stack: java.security.cert.CertificateException
        20: astore 7 /* ce */
        start local 7 // java.security.cert.CertificateException ce
        21: .line 255
            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 256
            aload 8 /* pe */
            aload 7 /* ce */
            invokevirtual sun.security.pkcs.ParsingException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            pop
        23: .line 257
            aload 8 /* pe */
            athrow
        end local 8 // sun.security.pkcs.ParsingException pe
        end local 7 // java.security.cert.CertificateException ce
        24: .line 258
      StackMap locals:
      StackMap stack: java.io.IOException
            astore 7 /* ioe */
        start local 7 // java.io.IOException ioe
        25: .line 259
            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 260
            aload 8 /* pe */
            aload 7 /* ioe */
            invokevirtual sun.security.pkcs.ParsingException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            pop
        27: .line 261
            aload 8 /* pe */
            athrow
        end local 8 // sun.security.pkcs.ParsingException pe
        end local 7 // java.io.IOException ioe
        28: .line 262
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 9
        29: .line 263
            aload 6 /* bais */
            ifnull 31
        30: .line 264
            aload 6 /* bais */
            invokevirtual java.io.ByteArrayInputStream.close:()V
        31: .line 265
      StackMap locals: sun.security.pkcs.PKCS7 sun.security.util.DerValue sun.security.util.DerInputStream sun.security.util.DerValue[] java.security.cert.CertificateFactory int java.io.ByteArrayInputStream top top java.lang.Throwable
      StackMap stack:
            aload 9
            athrow
        32: .line 263
      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 264
            aload 6 /* bais */
            invokevirtual java.io.ByteArrayInputStream.close:()V
        end local 6 // java.io.ByteArrayInputStream bais
        34: .line 241
      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 267
            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 272
            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 275
            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 278
            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 279
            aload 3 /* digestAlgorithmIdVals */
            arraylength
            istore 4 /* len */
        start local 4 // int len
         4: .line 280
            aload 0 /* this */
            iload 4 /* len */
            anewarray sun.security.x509.AlgorithmId
            putfield sun.security.pkcs.PKCS7.digestAlgorithmIds:[Lsun/security/x509/AlgorithmId;
         5: .line 282
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         6: goto 10
         7: .line 283
      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 284
            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 282
            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 287
            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 289
            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 290
            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 289
            invokespecial sun.security.pkcs.ParsingException.<init>:(Ljava/lang/String;)V
        16: .line 288
            astore 6 /* pe */
        start local 6 // sun.security.pkcs.ParsingException pe
        17: .line 291
            aload 6 /* pe */
            aload 5 /* e */
            invokevirtual sun.security.pkcs.ParsingException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            pop
        18: .line 292
            aload 6 /* pe */
            athrow
        end local 6 // sun.security.pkcs.ParsingException pe
        end local 5 // java.io.IOException e
        19: .line 295
      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 297
            aconst_null
            astore 5 /* certfac */
        start local 5 // java.security.cert.CertificateFactory certfac
        21: .line 299
            ldc "X.509"
            invokestatic java.security.cert.CertificateFactory.getInstance:(Ljava/lang/String;)Ljava/security/cert/CertificateFactory;
            astore 5 /* certfac */
        22: .line 300
            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 308
      StackMap locals:
      StackMap stack:
            aload 2 /* dis */
            invokevirtual sun.security.util.DerInputStream.peekByte:()I
            i2b
            bipush -96
            if_icmpne 64
        25: .line 309
            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 311
            aload 6 /* certVals */
            arraylength
            istore 4 /* len */
        27: .line 312
            aload 0 /* this */
            iload 4 /* len */
            anewarray java.security.cert.X509Certificate
            putfield sun.security.pkcs.PKCS7.certificates:[Ljava/security/cert/X509Certificate;
        28: .line 313
            iconst_0
            istore 7 /* count */
        start local 7 // int count
        29: .line 315
            iconst_0
            istore 8 /* i */
        start local 8 // int i
        30: goto 61
        31: .line 316
      StackMap locals: sun.security.util.DerValue[] int int
      StackMap stack:
            aconst_null
            astore 9 /* bais */
        start local 9 // java.io.ByteArrayInputStream bais
        32: .line 318
            aload 6 /* certVals */
            iload 8 /* i */
            aaload
            invokevirtual sun.security.util.DerValue.getTag:()B
            istore 10 /* tag */
        start local 10 // byte tag
        33: .line 321
            iload 10 /* tag */
            bipush 48
            if_icmpne 58
        34: .line 322
            aload 5 /* certfac */
            ifnonnull 37
        35: .line 323
            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 324
            goto 44
        37: .line 325
      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 326
            new java.io.ByteArrayInputStream
            dup
            aload 11 /* encoded */
            invokespecial java.io.ByteArrayInputStream.<init>:([B)V
            astore 9 /* bais */
        39: .line 327
            aload 0 /* this */
            getfield sun.security.pkcs.PKCS7.certificates:[Ljava/security/cert/X509Certificate;
            iload 7 /* count */
        40: .line 328
            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 327
            aastore
        42: .line 329
            aload 9 /* bais */
            invokevirtual java.io.ByteArrayInputStream.close:()V
        43: .line 330
            aconst_null
            astore 9 /* bais */
        end local 11 // byte[] encoded
        44: .line 332
      StackMap locals:
      StackMap stack:
            iinc 7 /* count */ 1
        end local 10 // byte tag
        45: .line 334
            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 335
            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 336
            aload 11 /* pe */
            aload 10 /* ce */
            invokevirtual sun.security.pkcs.ParsingException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            pop
        49: .line 337
            aload 11 /* pe */
            athrow
        end local 11 // sun.security.pkcs.ParsingException pe
        end local 10 // java.security.cert.CertificateException ce
        50: .line 338
      StackMap locals:
      StackMap stack: java.io.IOException
            astore 10 /* ioe */
        start local 10 // java.io.IOException ioe
        51: .line 339
            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 340
            aload 11 /* pe */
            aload 10 /* ioe */
            invokevirtual sun.security.pkcs.ParsingException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            pop
        53: .line 341
            aload 11 /* pe */
            athrow
        end local 11 // sun.security.pkcs.ParsingException pe
        end local 10 // java.io.IOException ioe
        54: .line 342
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 12
        55: .line 343
            aload 9 /* bais */
            ifnull 57
        56: .line 344
            aload 9 /* bais */
            invokevirtual java.io.ByteArrayInputStream.close:()V
        57: .line 345
      StackMap locals: sun.security.pkcs.PKCS7 sun.security.util.DerValue sun.security.util.DerInputStream sun.security.util.DerValue[] int java.security.cert.CertificateFactory sun.security.util.DerValue[] int int java.io.ByteArrayInputStream top top java.lang.Throwable
      StackMap stack:
            aload 12
            athrow
        58: .line 343
      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 344
            aload 9 /* bais */
            invokevirtual java.io.ByteArrayInputStream.close:()V
        end local 9 // java.io.ByteArrayInputStream bais
        60: .line 315
      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 347
            iload 7 /* count */
            iload 4 /* len */
            if_icmpeq 64
        63: .line 348
            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 353
      StackMap locals:
      StackMap stack:
            aload 2 /* dis */
            invokevirtual sun.security.util.DerInputStream.peekByte:()I
            i2b
            bipush -95
            if_icmpne 92
        65: .line 354
            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 356
            aload 6 /* crlVals */
            arraylength
            istore 4 /* len */
        67: .line 357
            aload 0 /* this */
            iload 4 /* len */
            anewarray java.security.cert.X509CRL
            putfield sun.security.pkcs.PKCS7.crls:[Ljava/security/cert/X509CRL;
        68: .line 359
            iconst_0
            istore 7 /* i */
        start local 7 // int i
        69: goto 91
        70: .line 360
      StackMap locals: sun.security.util.DerValue[] int
      StackMap stack:
            aconst_null
            astore 8 /* bais */
        start local 8 // java.io.ByteArrayInputStream bais
        71: .line 362
            aload 5 /* certfac */
            ifnonnull 73
        72: .line 363
            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 365
      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 366
            new java.io.ByteArrayInputStream
            dup
            aload 9 /* encoded */
            invokespecial java.io.ByteArrayInputStream.<init>:([B)V
            astore 8 /* bais */
        75: .line 367
            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 368
            aload 8 /* bais */
            invokevirtual java.io.ByteArrayInputStream.close:()V
        77: .line 369
            aconst_null
            astore 8 /* bais */
        end local 9 // byte[] encoded
        78: .line 371
            goto 88
      StackMap locals:
      StackMap stack: java.security.cert.CRLException
        79: astore 9 /* e */
        start local 9 // java.security.cert.CRLException e
        80: .line 373
            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 372
            astore 10 /* pe */
        start local 10 // sun.security.pkcs.ParsingException pe
        82: .line 374
            aload 10 /* pe */
            aload 9 /* e */
            invokevirtual sun.security.pkcs.ParsingException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            pop
        83: .line 375
            aload 10 /* pe */
            athrow
        end local 10 // sun.security.pkcs.ParsingException pe
        end local 9 // java.security.cert.CRLException e
        84: .line 376
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 11
        85: .line 377
            aload 8 /* bais */
            ifnull 87
        86: .line 378
            aload 8 /* bais */
            invokevirtual java.io.ByteArrayInputStream.close:()V
        87: .line 379
      StackMap locals: sun.security.pkcs.PKCS7 sun.security.util.DerValue sun.security.util.DerInputStream sun.security.util.DerValue[] int java.security.cert.CertificateFactory sun.security.util.DerValue[] int java.io.ByteArrayInputStream top top java.lang.Throwable
      StackMap stack:
            aload 11
            athrow
        88: .line 377
      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 378
            aload 8 /* bais */
            invokevirtual java.io.ByteArrayInputStream.close:()V
        end local 8 // java.io.ByteArrayInputStream bais
        90: .line 359
      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 384
      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 386
            aload 6 /* signerInfoVals */
            arraylength
            istore 4 /* len */
        94: .line 387
            aload 0 /* this */
            iload 4 /* len */
            anewarray sun.security.pkcs.SignerInfo
            putfield sun.security.pkcs.PKCS7.signerInfos:[Lsun/security/pkcs/SignerInfo;
        95: .line 389
            iconst_0
            istore 7 /* i */
        start local 7 // int i
        96: goto 100
        97: .line 390
      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 391
            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 389
            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 393
            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 402
            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 405
            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 408
            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 409
            aload 3 /* digestAlgorithmIdVals */
            arraylength
            istore 4 /* len */
        start local 4 // int len
         4: .line 411
            aload 0 /* this */
            iload 4 /* len */
            anewarray sun.security.x509.AlgorithmId
            putfield sun.security.pkcs.PKCS7.digestAlgorithmIds:[Lsun/security/x509/AlgorithmId;
         5: .line 413
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         6: goto 10
         7: .line 414
      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 415
            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 413
            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 417
            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 418
            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 422
      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 425
            aconst_null
            astore 5 /* certfac */
        start local 5 // java.security.cert.CertificateFactory certfac
        16: .line 427
            ldc "X.509"
            invokestatic java.security.cert.CertificateFactory.getInstance:(Ljava/lang/String;)Ljava/security/cert/CertificateFactory;
            astore 5 /* certfac */
        17: .line 428
            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 431
      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 432
            aload 6 /* certVals */
            arraylength
            istore 4 /* len */
        21: .line 433
            aload 0 /* this */
            iload 4 /* len */
            anewarray java.security.cert.X509Certificate
            putfield sun.security.pkcs.PKCS7.certificates:[Ljava/security/cert/X509Certificate;
        22: .line 435
            iconst_0
            istore 7 /* i */
        start local 7 // int i
        23: goto 50
        24: .line 436
      StackMap locals: sun.security.util.DerValue[] int
      StackMap stack:
            aconst_null
            astore 8 /* bais */
        start local 8 // java.io.ByteArrayInputStream bais
        25: .line 438
            aload 5 /* certfac */
            ifnonnull 27
        26: .line 439
            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 441
      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 442
            new java.io.ByteArrayInputStream
            dup
            aload 9 /* encoded */
            invokespecial java.io.ByteArrayInputStream.<init>:([B)V
            astore 8 /* bais */
        29: .line 443
            aload 0 /* this */
            getfield sun.security.pkcs.PKCS7.certificates:[Ljava/security/cert/X509Certificate;
            iload 7 /* i */
        30: .line 444
            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 443
            aastore
        32: .line 445
            aload 8 /* bais */
            invokevirtual java.io.ByteArrayInputStream.close:()V
        33: .line 446
            aconst_null
            astore 8 /* bais */
        end local 9 // byte[] encoded
        34: .line 448
            goto 47
      StackMap locals:
      StackMap stack: java.security.cert.CertificateException
        35: astore 9 /* ce */
        start local 9 // java.security.cert.CertificateException ce
        36: .line 449
            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 450
            aload 10 /* pe */
            aload 9 /* ce */
            invokevirtual sun.security.pkcs.ParsingException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            pop
        38: .line 451
            aload 10 /* pe */
            athrow
        end local 10 // sun.security.pkcs.ParsingException pe
        end local 9 // java.security.cert.CertificateException ce
        39: .line 452
      StackMap locals:
      StackMap stack: java.io.IOException
            astore 9 /* ioe */
        start local 9 // java.io.IOException ioe
        40: .line 453
            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 454
            aload 10 /* pe */
            aload 9 /* ioe */
            invokevirtual sun.security.pkcs.ParsingException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            pop
        42: .line 455
            aload 10 /* pe */
            athrow
        end local 10 // sun.security.pkcs.ParsingException pe
        end local 9 // java.io.IOException ioe
        43: .line 456
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 11
        44: .line 457
            aload 8 /* bais */
            ifnull 46
        45: .line 458
            aload 8 /* bais */
            invokevirtual java.io.ByteArrayInputStream.close:()V
        46: .line 459
      StackMap locals: sun.security.pkcs.PKCS7 sun.security.util.DerValue sun.security.util.DerInputStream sun.security.util.DerValue[] int java.security.cert.CertificateFactory sun.security.util.DerValue[] int java.io.ByteArrayInputStream top top java.lang.Throwable
      StackMap stack:
            aload 11
            athrow
        47: .line 457
      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 458
            aload 8 /* bais */
            invokevirtual java.io.ByteArrayInputStream.close:()V
        end local 8 // java.io.ByteArrayInputStream bais
        49: .line 435
      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 463
            aload 2 /* dis */
            iconst_0
            invokevirtual sun.security.util.DerInputStream.getSet:(I)[Lsun/security/util/DerValue;
            pop
        52: .line 466
            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 467
            aload 7 /* signerInfoVals */
            arraylength
            istore 4 /* len */
        54: .line 468
            aload 0 /* this */
            iload 4 /* len */
            anewarray sun.security.pkcs.SignerInfo
            putfield sun.security.pkcs.PKCS7.signerInfos:[Lsun/security/pkcs/SignerInfo;
        55: .line 469
            iconst_0
            istore 8 /* i */
        start local 8 // int i
        56: goto 60
        57: .line 470
      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 471
            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 469
            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 473
            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 482
            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 483
            aload 0 /* this */
            aload 2 /* derout */
            invokevirtual sun.security.pkcs.PKCS7.encodeSignedData:(Lsun/security/util/DerOutputStream;)V
         2: .line 484
            aload 1 /* out */
            aload 2 /* derout */
            invokevirtual sun.security.util.DerOutputStream.toByteArray:()[B
            invokevirtual java.io.OutputStream.write:([B)V
         3: .line 485
            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 496
            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 499
            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 502
            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 505
            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 508
            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 510
            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 511
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         7: goto 16
         8: .line 512
      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 513
            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 516
      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 517
            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 518
            goto 15
      StackMap locals:
      StackMap stack: java.security.cert.CertificateException
        13: astore 5 /* ce */
        start local 5 // java.security.cert.CertificateException ce
        14: .line 519
            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 511
      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 526
            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 530
      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 532
            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 533
            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 534
            aload 4 /* crl */
            instanceof sun.security.x509.X509CRLImpl
            ifeq 24
        23: .line 535
            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 538
      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 539
            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 540
            goto 29
      StackMap locals:
      StackMap stack: java.security.cert.CRLException
        27: astore 8 /* ce */
        start local 8 // java.security.cert.CRLException ce
        28: .line 541
            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 533
      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 548
            aload 2 /* signedData */
            bipush -95
        32: .line 549
            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 548
            invokevirtual sun.security.util.DerOutputStream.putOrderedSetOf:(B[Lsun/security/util/DerEncoder;)V
        end local 3 // java.util.Set implCRLs
        34: .line 553
      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 556
            new sun.security.util.DerValue
            dup
            bipush 48
        36: .line 557
            aload 2 /* signedData */
            invokevirtual sun.security.util.DerOutputStream.toByteArray:()[B
        37: .line 556
            invokespecial sun.security.util.DerValue.<init>:(B[B)V
            astore 3 /* signedDataSeq */
        start local 3 // sun.security.util.DerValue signedDataSeq
        38: .line 560
            new sun.security.pkcs.ContentInfo
            dup
            getstatic sun.security.pkcs.ContentInfo.SIGNED_DATA_OID:Lsun/security/util/ObjectIdentifier;
        39: .line 561
            aload 3 /* signedDataSeq */
        40: .line 560
            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 564
            aload 4 /* block */
            aload 1 /* out */
            invokevirtual sun.security.pkcs.ContentInfo.encode:(Lsun/security/util/DerOutputStream;)V
        42: .line 565
            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 578
            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 592
            new java.util.Vector
            dup
            invokespecial java.util.Vector.<init>:()V
            astore 2 /* intResult */
        start local 2 // java.util.Vector intResult
         1: .line 593
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         2: goto 7
         3: .line 595
      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 596
            aload 4 /* signerInfo */
            ifnull 6
         5: .line 597
            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 593
      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 600
            aload 2 /* intResult */
            invokevirtual java.util.Vector.isEmpty:()Z
            ifne 12
         9: .line 602
            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 603
            aload 2 /* intResult */
            aload 3 /* result */
            invokevirtual java.util.Vector.copyInto:([Ljava/lang/Object;)V
        11: .line 604
            aload 3 /* result */
            areturn
        end local 3 // sun.security.pkcs.SignerInfo[] result
        12: .line 606
      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 617
            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 626
            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 635
            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 642
            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 651
            aload 0 /* this */
            getfield sun.security.pkcs.PKCS7.certificates:[Ljava/security/cert/X509Certificate;
            ifnull 2
         1: .line 652
            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 654
      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 663
            aload 0 /* this */
            getfield sun.security.pkcs.PKCS7.crls:[Ljava/security/cert/X509CRL;
            ifnull 2
         1: .line 664
            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 666
      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 675
            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 687
            aload 0 /* this */
            getfield sun.security.pkcs.PKCS7.certificates:[Ljava/security/cert/X509Certificate;
            ifnull 12
         1: .line 688
            aload 0 /* this */
            getfield sun.security.pkcs.PKCS7.certIssuerNames:[Ljava/security/Principal;
            ifnonnull 3
         2: .line 689
            aload 0 /* this */
            invokevirtual sun.security.pkcs.PKCS7.populateCertIssuerNames:()V
         3: .line 690
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         4: goto 11
         5: .line 691
      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 692
            aload 4 /* cert */
            invokevirtual java.security.cert.X509Certificate.getSerialNumber:()Ljava/math/BigInteger;
            astore 5 /* thisSerial */
        start local 5 // java.math.BigInteger thisSerial
         7: .line 693
            aload 1 /* serial */
            aload 5 /* thisSerial */
            invokevirtual java.math.BigInteger.equals:(Ljava/lang/Object;)Z
            ifeq 10
         8: .line 694
            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 696
            aload 4 /* cert */
            areturn
        end local 5 // java.math.BigInteger thisSerial
        end local 4 // java.security.cert.X509Certificate cert
        10: .line 690
      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 700
      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 708
            aload 0 /* this */
            getfield sun.security.pkcs.PKCS7.certificates:[Ljava/security/cert/X509Certificate;
            ifnonnull 2
         1: .line 709
            return
         2: .line 711
      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 712
            iconst_0
            istore 1 /* i */
        start local 1 // int i
         4: goto 16
         5: .line 713
      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 714
            aload 2 /* cert */
            invokevirtual java.security.cert.X509Certificate.getIssuerDN:()Ljava/security/Principal;
            astore 3 /* certIssuerName */
        start local 3 // java.security.Principal certIssuerName
         7: .line 715
            aload 3 /* certIssuerName */
            instanceof sun.security.x509.X500Name
            ifne 14
         8: .line 722
            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 721
            astore 4 /* tbsCert */
        start local 4 // sun.security.x509.X509CertInfo tbsCert
        10: .line 724
            aload 4 /* tbsCert */
            ldc "issuer.dname"
            invokevirtual sun.security.x509.X509CertInfo.get:(Ljava/lang/String;)Ljava/lang/Object;
        11: .line 723
            checkcast java.security.Principal
            astore 3 /* certIssuerName */
        end local 4 // sun.security.x509.X509CertInfo tbsCert
        12: .line 726
            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 731
      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 712
            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 733
            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 739
            ldc ""
            astore 1 /* out */
        start local 1 // java.lang.String out
         1: .line 741
            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 742
            aload 0 /* this */
            getfield sun.security.pkcs.PKCS7.version:Ljava/math/BigInteger;
            ifnull 4
         3: .line 743
            new java.lang.StringBuilder
            dup
            aload 1 /* out */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            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 744
      StackMap locals: java.lang.String
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.pkcs.PKCS7.digestAlgorithmIds:[Lsun/security/x509/AlgorithmId;
            ifnull 11
         5: .line 745
            new java.lang.StringBuilder
            dup
            aload 1 /* out */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "PKCS7 :: 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 746
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         7: goto 10
         8: .line 747
      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 746
            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 749
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.pkcs.PKCS7.certificates:[Ljava/security/cert/X509Certificate;
            ifnull 18
        12: .line 750
            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 751
            iconst_0
            istore 2 /* i */
        start local 2 // int i
        14: goto 17
        15: .line 752
      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 751
            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 754
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.pkcs.PKCS7.crls:[Ljava/security/cert/X509CRL;
            ifnull 25
        19: .line 755
            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 756
            iconst_0
            istore 2 /* i */
        start local 2 // int i
        21: goto 24
        22: .line 757
      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 756
            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 759
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.pkcs.PKCS7.signerInfos:[Lsun/security/pkcs/SignerInfo;
            ifnull 32
        26: .line 760
            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 761
            iconst_0
            istore 2 /* i */
        start local 2 // int i
        28: goto 31
        29: .line 762
      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 761
            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 764
      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 772
            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 810
            aconst_null
            astore 7 /* unauthAttrs */
        start local 7 // sun.security.pkcs.PKCS9Attributes unauthAttrs
         1: .line 811
            aload 4 /* tsaURI */
            ifnull 12
         2: .line 813
            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 815
            aload 8 /* tsa */
            aload 5 /* tSAPolicyID */
            aload 6 /* tSADigestAlg */
            aload 0 /* signature */
         4: .line 814
            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 820
            new sun.security.pkcs.PKCS9Attributes
            dup
            iconst_1
            anewarray sun.security.pkcs.PKCS9Attribute
            dup
            iconst_0
         6: .line 821
            new sun.security.pkcs.PKCS9Attribute
            dup
         7: .line 822
            getstatic sun.security.pkcs.PKCS9Attribute.SIGNATURE_TIMESTAMP_TOKEN_OID:Lsun/security/util/ObjectIdentifier;
         8: .line 823
            aload 9 /* tsToken */
         9: .line 821
            invokespecial sun.security.pkcs.PKCS9Attribute.<init>:(Lsun/security/util/ObjectIdentifier;Ljava/lang/Object;)V
            aastore
        10: .line 820
            invokespecial sun.security.pkcs.PKCS9Attributes.<init>:([Lsun/security/pkcs/PKCS9Attribute;)V
        11: .line 819
            astore 7 /* unauthAttrs */
        end local 9 // byte[] tsToken
        end local 8 // sun.security.timestamp.HttpTimestamper tsa
        12: .line 828
      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 827
            astore 8 /* issuerName */
        start local 8 // sun.security.x509.X500Name issuerName
        14: .line 829
            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 830
            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 831
            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 832
            aload 11 /* digAlg */
            ifnonnull 19
        18: .line 833
            new java.lang.UnsupportedOperationException
            dup
            ldc "Unable to determine the digest algorithm from the signature algorithm."
            invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
            athrow
        19: .line 836
      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
      StackMap stack:
            new sun.security.pkcs.SignerInfo
            dup
            aload 8 /* issuerName */
            aload 9 /* serialNumber */
        20: .line 837
            aload 11 /* digAlg */
            invokestatic sun.security.x509.AlgorithmId.get:(Ljava/lang/String;)Lsun/security/x509/AlgorithmId;
            aconst_null
        21: .line 838
            aload 10 /* encAlg */
            invokestatic sun.security.x509.AlgorithmId.get:(Ljava/lang/String;)Lsun/security/x509/AlgorithmId;
        22: .line 839
            aload 0 /* signature */
            aload 7 /* unauthAttrs */
        23: .line 836
            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
        24: .line 842
            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
        25: .line 843
            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
        26: .line 845
            aload 2 /* content */
            ifnonnull 28
        27: .line 846
            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 29
        28: .line 847
      StackMap locals: 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
        29: .line 845
      StackMap locals:
      StackMap stack: sun.security.pkcs.ContentInfo
            astore 15 /* contentInfo */
        start local 15 // sun.security.pkcs.ContentInfo contentInfo
        30: .line 848
            new sun.security.pkcs.PKCS7
            dup
            aload 14 /* algorithms */
            aload 15 /* contentInfo */
        31: .line 849
            aload 1 /* signerChain */
            aload 13 /* signerInfos */
        32: .line 848
            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
        33: .line 850
            new java.io.ByteArrayOutputStream
            dup
            invokespecial java.io.ByteArrayOutputStream.<init>:()V
            astore 17 /* p7out */
        start local 17 // java.io.ByteArrayOutputStream p7out
        34: .line 851
            aload 16 /* pkcs7 */
            aload 17 /* p7out */
            invokevirtual sun.security.pkcs.PKCS7.encodeSignedData:(Ljava/io/OutputStream;)V
        35: .line 853
            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   36     0           signature  [B
            0   36     1         signerChain  [Ljava/security/cert/X509Certificate;
            0   36     2             content  [B
            0   36     3  signatureAlgorithm  Ljava/lang/String;
            0   36     4              tsaURI  Ljava/net/URI;
            0   36     5         tSAPolicyID  Ljava/lang/String;
            0   36     6        tSADigestAlg  Ljava/lang/String;
            1   36     7         unauthAttrs  Lsun/security/pkcs/PKCS9Attributes;
            3   12     8                 tsa  Lsun/security/timestamp/HttpTimestamper;
            5   12     9             tsToken  [B
           14   36     8          issuerName  Lsun/security/x509/X500Name;
           15   36     9        serialNumber  Ljava/math/BigInteger;
           16   36    10              encAlg  Ljava/lang/String;
           17   36    11              digAlg  Ljava/lang/String;
           24   36    12          signerInfo  Lsun/security/pkcs/SignerInfo;
           25   36    13         signerInfos  [Lsun/security/pkcs/SignerInfo;
           26   36    14          algorithms  [Lsun/security/x509/AlgorithmId;
           30   36    15         contentInfo  Lsun/security/pkcs/ContentInfo;
           33   36    16               pkcs7  Lsun/security/pkcs/PKCS7;
           34   36    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 882
            aconst_null
            astore 4 /* messageDigest */
        start local 4 // java.security.MessageDigest messageDigest
         1: .line 883
            aconst_null
            astore 5 /* tsQuery */
        start local 5 // sun.security.timestamp.TSRequest tsQuery
         2: .line 885
            aload 2 /* tSADigestAlg */
            invokestatic java.security.MessageDigest.getInstance:(Ljava/lang/String;)Ljava/security/MessageDigest;
            astore 4 /* messageDigest */
         3: .line 886
            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 887
            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 888
            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 892
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 6 /* nonce */
        start local 6 // java.math.BigInteger nonce
         8: .line 893
            getstatic sun.security.pkcs.PKCS7$SecureRandomHolder.RANDOM:Ljava/security/SecureRandom;
            ifnull 11
         9: .line 894
            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 895
            aload 5 /* tsQuery */
            aload 6 /* nonce */
            invokevirtual sun.security.timestamp.TSRequest.setNonce:(Ljava/math/BigInteger;)V
        11: .line 897
      StackMap locals: java.math.BigInteger
      StackMap stack:
            aload 5 /* tsQuery */
            iconst_1
            invokevirtual sun.security.timestamp.TSRequest.requestCertificate:(Z)V
        12: .line 899
            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 900
            aload 7 /* tsReply */
            invokevirtual sun.security.timestamp.TSResponse.getStatusCode:()I
            istore 8 /* status */
        start local 8 // int status
        14: .line 902
            iload 8 /* status */
            ifeq 19
            iload 8 /* status */
            iconst_1
            if_icmpeq 19
        15: .line 903
            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 904
            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 905
            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 903
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
        19: .line 908
      StackMap locals: sun.security.timestamp.TSResponse int
      StackMap stack:
            aload 1 /* tSAPolicyID */
            ifnull 22
        20: .line 909
            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 910
            new java.io.IOException
            dup
            ldc "TSAPolicyID changed in timestamp token"
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
        22: .line 913
      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 915
            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 917
            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 918
            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 919
            ldc "timestamp token"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        27: .line 918
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
        28: .line 921
      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 922
            new java.lang.IllegalArgumentException
            dup
            invokespecial java.lang.IllegalArgumentException.<init>:()V
            athrow
        30: .line 924
      StackMap locals:
      StackMap stack:
            aload 10 /* tst */
            invokevirtual sun.security.timestamp.TimestampToken.getHashedMessage:()[B
        31: .line 925
            aload 5 /* tsQuery */
            invokevirtual sun.security.timestamp.TSRequest.getHashedMessage:()[B
        32: .line 924
            invokestatic java.security.MessageDigest.isEqual:([B[B)Z
        33: .line 925
            ifne 35
        34: .line 926
            new java.io.IOException
            dup
            ldc "Digest octets changed in timestamp token"
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
        35: .line 929
      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 930
            aload 11 /* replyNonce */
            ifnonnull 38
            aload 6 /* nonce */
            ifnull 38
        37: .line 931
            new java.io.IOException
            dup
            ldc "Nonce missing in timestamp token"
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
        38: .line 933
      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 934
            new java.io.IOException
            dup
            ldc "Nonce changed in timestamp token"
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
        40: .line 938
      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 939
            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 940
            aload 16 /* cert */
            ifnonnull 47
        44: .line 942
            new java.security.cert.CertificateException
            dup
        45: .line 943
            ldc "Certificate not included in timestamp token"
        46: .line 942
            invokespecial java.security.cert.CertificateException.<init>:(Ljava/lang/String;)V
            athrow
        47: .line 945
      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 946
            ldc "2.5.29.37"
        49: .line 945
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
        50: .line 946
            ifne 54
        51: .line 947
            new java.security.cert.CertificateException
            dup
        52: .line 948
            ldc "Certificate is not valid for timestamping"
        53: .line 947
            invokespecial java.security.cert.CertificateException.<init>:(Ljava/lang/String;)V
            athrow
        54: .line 950
      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 951
            aload 17 /* keyPurposes */
            ifnull 57
        56: .line 952
            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 953
      StackMap locals: java.util.List
      StackMap stack:
            new java.security.cert.CertificateException
            dup
        58: .line 954
            ldc "Certificate is not valid for timestamping"
        59: .line 953
            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 938
      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 958
            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