public class org.bouncycastle.cms.CMSSignedData implements org.bouncycastle.util.Encodable
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.bouncycastle.cms.CMSSignedData
  super_class: java.lang.Object
{
  private static final org.bouncycastle.cms.CMSSignedHelper HELPER;
    descriptor: Lorg/bouncycastle/cms/CMSSignedHelper;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  org.bouncycastle.asn1.cms.SignedData signedData;
    descriptor: Lorg/bouncycastle/asn1/cms/SignedData;
    flags: (0x0000) 

  org.bouncycastle.asn1.cms.ContentInfo contentInfo;
    descriptor: Lorg/bouncycastle/asn1/cms/ContentInfo;
    flags: (0x0000) 

  org.bouncycastle.cms.CMSTypedData signedContent;
    descriptor: Lorg/bouncycastle/cms/CMSTypedData;
    flags: (0x0000) 

  org.bouncycastle.cms.SignerInformationStore signerInfoStore;
    descriptor: Lorg/bouncycastle/cms/SignerInformationStore;
    flags: (0x0000) 

  private java.util.Map hashes;
    descriptor: Ljava/util/Map;
    flags: (0x0002) ACC_PRIVATE

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 67
            getstatic org.bouncycastle.cms.CMSSignedHelper.INSTANCE:Lorg/bouncycastle/cms/CMSSignedHelper;
            putstatic org.bouncycastle.cms.CMSSignedData.HELPER:Lorg/bouncycastle/cms/CMSSignedHelper;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private void <init>(org.bouncycastle.cms.CMSSignedData);
    descriptor: (Lorg/bouncycastle/cms/CMSSignedData;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.bouncycastle.cms.CMSSignedData this
        start local 1 // org.bouncycastle.cms.CMSSignedData c
         0: .line 76
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 79
            aload 0 /* this */
            aload 1 /* c */
            getfield org.bouncycastle.cms.CMSSignedData.signedData:Lorg/bouncycastle/asn1/cms/SignedData;
            putfield org.bouncycastle.cms.CMSSignedData.signedData:Lorg/bouncycastle/asn1/cms/SignedData;
         2: .line 80
            aload 0 /* this */
            aload 1 /* c */
            getfield org.bouncycastle.cms.CMSSignedData.contentInfo:Lorg/bouncycastle/asn1/cms/ContentInfo;
            putfield org.bouncycastle.cms.CMSSignedData.contentInfo:Lorg/bouncycastle/asn1/cms/ContentInfo;
         3: .line 81
            aload 0 /* this */
            aload 1 /* c */
            getfield org.bouncycastle.cms.CMSSignedData.signedContent:Lorg/bouncycastle/cms/CMSTypedData;
            putfield org.bouncycastle.cms.CMSSignedData.signedContent:Lorg/bouncycastle/cms/CMSTypedData;
         4: .line 82
            aload 0 /* this */
            aload 1 /* c */
            getfield org.bouncycastle.cms.CMSSignedData.signerInfoStore:Lorg/bouncycastle/cms/SignerInformationStore;
            putfield org.bouncycastle.cms.CMSSignedData.signerInfoStore:Lorg/bouncycastle/cms/SignerInformationStore;
         5: .line 83
            return
        end local 1 // org.bouncycastle.cms.CMSSignedData c
        end local 0 // org.bouncycastle.cms.CMSSignedData this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lorg/bouncycastle/cms/CMSSignedData;
            0    6     1     c  Lorg/bouncycastle/cms/CMSSignedData;
    MethodParameters:
      Name  Flags
      c     

  public void <init>(byte[]);
    descriptor: ([B)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.bouncycastle.cms.CMSSignedData this
        start local 1 // byte[] sigBlock
         0: .line 89
            aload 0 /* this */
            aload 1 /* sigBlock */
            invokestatic org.bouncycastle.cms.CMSUtils.readContentInfo:([B)Lorg/bouncycastle/asn1/cms/ContentInfo;
            invokespecial org.bouncycastle.cms.CMSSignedData.<init>:(Lorg/bouncycastle/asn1/cms/ContentInfo;)V
         1: .line 90
            return
        end local 1 // byte[] sigBlock
        end local 0 // org.bouncycastle.cms.CMSSignedData this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lorg/bouncycastle/cms/CMSSignedData;
            0    2     1  sigBlock  [B
    Exceptions:
      throws org.bouncycastle.cms.CMSException
    MethodParameters:
          Name  Flags
      sigBlock  

  public void <init>(org.bouncycastle.cms.CMSProcessable, byte[]);
    descriptor: (Lorg/bouncycastle/cms/CMSProcessable;[B)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.bouncycastle.cms.CMSSignedData this
        start local 1 // org.bouncycastle.cms.CMSProcessable signedContent
        start local 2 // byte[] sigBlock
         0: .line 97
            aload 0 /* this */
            aload 1 /* signedContent */
            aload 2 /* sigBlock */
            invokestatic org.bouncycastle.cms.CMSUtils.readContentInfo:([B)Lorg/bouncycastle/asn1/cms/ContentInfo;
            invokespecial org.bouncycastle.cms.CMSSignedData.<init>:(Lorg/bouncycastle/cms/CMSProcessable;Lorg/bouncycastle/asn1/cms/ContentInfo;)V
         1: .line 98
            return
        end local 2 // byte[] sigBlock
        end local 1 // org.bouncycastle.cms.CMSProcessable signedContent
        end local 0 // org.bouncycastle.cms.CMSSignedData this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    2     0           this  Lorg/bouncycastle/cms/CMSSignedData;
            0    2     1  signedContent  Lorg/bouncycastle/cms/CMSProcessable;
            0    2     2       sigBlock  [B
    Exceptions:
      throws org.bouncycastle.cms.CMSException
    MethodParameters:
               Name  Flags
      signedContent  
      sigBlock       

  public void <init>(java.util.Map, byte[]);
    descriptor: (Ljava/util/Map;[B)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.bouncycastle.cms.CMSSignedData this
        start local 1 // java.util.Map hashes
        start local 2 // byte[] sigBlock
         0: .line 111
            aload 0 /* this */
            aload 1 /* hashes */
            aload 2 /* sigBlock */
            invokestatic org.bouncycastle.cms.CMSUtils.readContentInfo:([B)Lorg/bouncycastle/asn1/cms/ContentInfo;
            invokespecial org.bouncycastle.cms.CMSSignedData.<init>:(Ljava/util/Map;Lorg/bouncycastle/asn1/cms/ContentInfo;)V
         1: .line 112
            return
        end local 2 // byte[] sigBlock
        end local 1 // java.util.Map hashes
        end local 0 // org.bouncycastle.cms.CMSSignedData this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lorg/bouncycastle/cms/CMSSignedData;
            0    2     1    hashes  Ljava/util/Map;
            0    2     2  sigBlock  [B
    Exceptions:
      throws org.bouncycastle.cms.CMSException
    MethodParameters:
          Name  Flags
      hashes    
      sigBlock  

  public void <init>(org.bouncycastle.cms.CMSProcessable, java.io.InputStream);
    descriptor: (Lorg/bouncycastle/cms/CMSProcessable;Ljava/io/InputStream;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // org.bouncycastle.cms.CMSSignedData this
        start local 1 // org.bouncycastle.cms.CMSProcessable signedContent
        start local 2 // java.io.InputStream sigData
         0: .line 125
            aload 0 /* this */
            aload 1 /* signedContent */
            new org.bouncycastle.asn1.ASN1InputStream
            dup
            aload 2 /* sigData */
            invokespecial org.bouncycastle.asn1.ASN1InputStream.<init>:(Ljava/io/InputStream;)V
            invokestatic org.bouncycastle.cms.CMSUtils.readContentInfo:(Ljava/io/InputStream;)Lorg/bouncycastle/asn1/cms/ContentInfo;
            invokespecial org.bouncycastle.cms.CMSSignedData.<init>:(Lorg/bouncycastle/cms/CMSProcessable;Lorg/bouncycastle/asn1/cms/ContentInfo;)V
         1: .line 126
            return
        end local 2 // java.io.InputStream sigData
        end local 1 // org.bouncycastle.cms.CMSProcessable signedContent
        end local 0 // org.bouncycastle.cms.CMSSignedData this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    2     0           this  Lorg/bouncycastle/cms/CMSSignedData;
            0    2     1  signedContent  Lorg/bouncycastle/cms/CMSProcessable;
            0    2     2        sigData  Ljava/io/InputStream;
    Exceptions:
      throws org.bouncycastle.cms.CMSException
    MethodParameters:
               Name  Flags
      signedContent  
      sigData        

  public void <init>(java.io.InputStream);
    descriptor: (Ljava/io/InputStream;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.bouncycastle.cms.CMSSignedData this
        start local 1 // java.io.InputStream sigData
         0: .line 135
            aload 0 /* this */
            aload 1 /* sigData */
            invokestatic org.bouncycastle.cms.CMSUtils.readContentInfo:(Ljava/io/InputStream;)Lorg/bouncycastle/asn1/cms/ContentInfo;
            invokespecial org.bouncycastle.cms.CMSSignedData.<init>:(Lorg/bouncycastle/asn1/cms/ContentInfo;)V
         1: .line 136
            return
        end local 1 // java.io.InputStream sigData
        end local 0 // org.bouncycastle.cms.CMSSignedData this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lorg/bouncycastle/cms/CMSSignedData;
            0    2     1  sigData  Ljava/io/InputStream;
    Exceptions:
      throws org.bouncycastle.cms.CMSException
    MethodParameters:
         Name  Flags
      sigData  

  public void <init>(org.bouncycastle.cms.CMSProcessable, org.bouncycastle.asn1.cms.ContentInfo);
    descriptor: (Lorg/bouncycastle/cms/CMSProcessable;Lorg/bouncycastle/asn1/cms/ContentInfo;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // org.bouncycastle.cms.CMSSignedData this
        start local 1 // org.bouncycastle.cms.CMSProcessable signedContent
        start local 2 // org.bouncycastle.asn1.cms.ContentInfo sigData
         0: .line 138
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 143
            aload 1 /* signedContent */
            instanceof org.bouncycastle.cms.CMSTypedData
            ifeq 4
         2: .line 145
            aload 0 /* this */
            aload 1 /* signedContent */
            checkcast org.bouncycastle.cms.CMSTypedData
            putfield org.bouncycastle.cms.CMSSignedData.signedContent:Lorg/bouncycastle/cms/CMSTypedData;
         3: .line 146
            goto 5
         4: .line 149
      StackMap locals: org.bouncycastle.cms.CMSSignedData org.bouncycastle.cms.CMSProcessable org.bouncycastle.asn1.cms.ContentInfo
      StackMap stack:
            aload 0 /* this */
            new org.bouncycastle.cms.CMSSignedData$1
            dup
            aload 0 /* this */
            aload 1 /* signedContent */
            invokespecial org.bouncycastle.cms.CMSSignedData$1.<init>:(Lorg/bouncycastle/cms/CMSSignedData;Lorg/bouncycastle/cms/CMSProcessable;)V
            putfield org.bouncycastle.cms.CMSSignedData.signedContent:Lorg/bouncycastle/cms/CMSTypedData;
         5: .line 169
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* sigData */
            putfield org.bouncycastle.cms.CMSSignedData.contentInfo:Lorg/bouncycastle/asn1/cms/ContentInfo;
         6: .line 170
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual org.bouncycastle.cms.CMSSignedData.getSignedData:()Lorg/bouncycastle/asn1/cms/SignedData;
            putfield org.bouncycastle.cms.CMSSignedData.signedData:Lorg/bouncycastle/asn1/cms/SignedData;
         7: .line 171
            return
        end local 2 // org.bouncycastle.asn1.cms.ContentInfo sigData
        end local 1 // org.bouncycastle.cms.CMSProcessable signedContent
        end local 0 // org.bouncycastle.cms.CMSSignedData this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    8     0           this  Lorg/bouncycastle/cms/CMSSignedData;
            0    8     1  signedContent  Lorg/bouncycastle/cms/CMSProcessable;
            0    8     2        sigData  Lorg/bouncycastle/asn1/cms/ContentInfo;
    Exceptions:
      throws org.bouncycastle.cms.CMSException
    MethodParameters:
               Name  Flags
      signedContent  final
      sigData        

  public void <init>(java.util.Map, org.bouncycastle.asn1.cms.ContentInfo);
    descriptor: (Ljava/util/Map;Lorg/bouncycastle/asn1/cms/ContentInfo;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // org.bouncycastle.cms.CMSSignedData this
        start local 1 // java.util.Map hashes
        start local 2 // org.bouncycastle.asn1.cms.ContentInfo sigData
         0: .line 173
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 178
            aload 0 /* this */
            aload 1 /* hashes */
            putfield org.bouncycastle.cms.CMSSignedData.hashes:Ljava/util/Map;
         2: .line 179
            aload 0 /* this */
            aload 2 /* sigData */
            putfield org.bouncycastle.cms.CMSSignedData.contentInfo:Lorg/bouncycastle/asn1/cms/ContentInfo;
         3: .line 180
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual org.bouncycastle.cms.CMSSignedData.getSignedData:()Lorg/bouncycastle/asn1/cms/SignedData;
            putfield org.bouncycastle.cms.CMSSignedData.signedData:Lorg/bouncycastle/asn1/cms/SignedData;
         4: .line 181
            return
        end local 2 // org.bouncycastle.asn1.cms.ContentInfo sigData
        end local 1 // java.util.Map hashes
        end local 0 // org.bouncycastle.cms.CMSSignedData this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    5     0     this  Lorg/bouncycastle/cms/CMSSignedData;
            0    5     1   hashes  Ljava/util/Map;
            0    5     2  sigData  Lorg/bouncycastle/asn1/cms/ContentInfo;
    Exceptions:
      throws org.bouncycastle.cms.CMSException
    MethodParameters:
         Name  Flags
      hashes   
      sigData  

  public void <init>(org.bouncycastle.asn1.cms.ContentInfo);
    descriptor: (Lorg/bouncycastle/asn1/cms/ContentInfo;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // org.bouncycastle.cms.CMSSignedData this
        start local 1 // org.bouncycastle.asn1.cms.ContentInfo sigData
         0: .line 183
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 187
            aload 0 /* this */
            aload 1 /* sigData */
            putfield org.bouncycastle.cms.CMSSignedData.contentInfo:Lorg/bouncycastle/asn1/cms/ContentInfo;
         2: .line 188
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual org.bouncycastle.cms.CMSSignedData.getSignedData:()Lorg/bouncycastle/asn1/cms/SignedData;
            putfield org.bouncycastle.cms.CMSSignedData.signedData:Lorg/bouncycastle/asn1/cms/SignedData;
         3: .line 194
            aload 0 /* this */
            getfield org.bouncycastle.cms.CMSSignedData.signedData:Lorg/bouncycastle/asn1/cms/SignedData;
            invokevirtual org.bouncycastle.asn1.cms.SignedData.getEncapContentInfo:()Lorg/bouncycastle/asn1/cms/ContentInfo;
            invokevirtual org.bouncycastle.asn1.cms.ContentInfo.getContent:()Lorg/bouncycastle/asn1/ASN1Encodable;
            astore 2 /* content */
        start local 2 // org.bouncycastle.asn1.ASN1Encodable content
         4: .line 195
            aload 2 /* content */
            ifnull 12
         5: .line 197
            aload 2 /* content */
            instanceof org.bouncycastle.asn1.ASN1OctetString
            ifeq 10
         6: .line 199
            aload 0 /* this */
            new org.bouncycastle.cms.CMSProcessableByteArray
            dup
            aload 0 /* this */
            getfield org.bouncycastle.cms.CMSSignedData.signedData:Lorg/bouncycastle/asn1/cms/SignedData;
            invokevirtual org.bouncycastle.asn1.cms.SignedData.getEncapContentInfo:()Lorg/bouncycastle/asn1/cms/ContentInfo;
            invokevirtual org.bouncycastle.asn1.cms.ContentInfo.getContentType:()Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
         7: .line 200
            aload 2 /* content */
            checkcast org.bouncycastle.asn1.ASN1OctetString
            invokevirtual org.bouncycastle.asn1.ASN1OctetString.getOctets:()[B
            invokespecial org.bouncycastle.cms.CMSProcessableByteArray.<init>:(Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;[B)V
         8: .line 199
            putfield org.bouncycastle.cms.CMSSignedData.signedContent:Lorg/bouncycastle/cms/CMSTypedData;
         9: .line 201
            goto 13
        10: .line 204
      StackMap locals: org.bouncycastle.cms.CMSSignedData org.bouncycastle.asn1.cms.ContentInfo org.bouncycastle.asn1.ASN1Encodable
      StackMap stack:
            aload 0 /* this */
            new org.bouncycastle.cms.PKCS7ProcessableObject
            dup
            aload 0 /* this */
            getfield org.bouncycastle.cms.CMSSignedData.signedData:Lorg/bouncycastle/asn1/cms/SignedData;
            invokevirtual org.bouncycastle.asn1.cms.SignedData.getEncapContentInfo:()Lorg/bouncycastle/asn1/cms/ContentInfo;
            invokevirtual org.bouncycastle.asn1.cms.ContentInfo.getContentType:()Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
            aload 2 /* content */
            invokespecial org.bouncycastle.cms.PKCS7ProcessableObject.<init>:(Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;Lorg/bouncycastle/asn1/ASN1Encodable;)V
            putfield org.bouncycastle.cms.CMSSignedData.signedContent:Lorg/bouncycastle/cms/CMSTypedData;
        11: .line 206
            goto 13
        12: .line 209
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aconst_null
            putfield org.bouncycastle.cms.CMSSignedData.signedContent:Lorg/bouncycastle/cms/CMSTypedData;
        13: .line 211
      StackMap locals:
      StackMap stack:
            return
        end local 2 // org.bouncycastle.asn1.ASN1Encodable content
        end local 1 // org.bouncycastle.asn1.cms.ContentInfo sigData
        end local 0 // org.bouncycastle.cms.CMSSignedData this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   14     0     this  Lorg/bouncycastle/cms/CMSSignedData;
            0   14     1  sigData  Lorg/bouncycastle/asn1/cms/ContentInfo;
            4   14     2  content  Lorg/bouncycastle/asn1/ASN1Encodable;
    Exceptions:
      throws org.bouncycastle.cms.CMSException
    MethodParameters:
         Name  Flags
      sigData  

  private org.bouncycastle.asn1.cms.SignedData getSignedData();
    descriptor: ()Lorg/bouncycastle/asn1/cms/SignedData;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // org.bouncycastle.cms.CMSSignedData this
         0: .line 218
            aload 0 /* this */
            getfield org.bouncycastle.cms.CMSSignedData.contentInfo:Lorg/bouncycastle/asn1/cms/ContentInfo;
            invokevirtual org.bouncycastle.asn1.cms.ContentInfo.getContent:()Lorg/bouncycastle/asn1/ASN1Encodable;
            invokestatic org.bouncycastle.asn1.cms.SignedData.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/cms/SignedData;
         1: areturn
         2: .line 220
      StackMap locals:
      StackMap stack: java.lang.ClassCastException
            astore 1 /* e */
        start local 1 // java.lang.ClassCastException e
         3: .line 222
            new org.bouncycastle.cms.CMSException
            dup
            ldc "Malformed content."
            aload 1 /* e */
            invokespecial org.bouncycastle.cms.CMSException.<init>:(Ljava/lang/String;Ljava/lang/Exception;)V
            athrow
        end local 1 // java.lang.ClassCastException e
         4: .line 224
      StackMap locals:
      StackMap stack: java.lang.IllegalArgumentException
            astore 1 /* e */
        start local 1 // java.lang.IllegalArgumentException e
         5: .line 226
            new org.bouncycastle.cms.CMSException
            dup
            ldc "Malformed content."
            aload 1 /* e */
            invokespecial org.bouncycastle.cms.CMSException.<init>:(Ljava/lang/String;Ljava/lang/Exception;)V
            athrow
        end local 1 // java.lang.IllegalArgumentException e
        end local 0 // org.bouncycastle.cms.CMSSignedData this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lorg/bouncycastle/cms/CMSSignedData;
            3    4     1     e  Ljava/lang/ClassCastException;
            5    6     1     e  Ljava/lang/IllegalArgumentException;
      Exception table:
        from    to  target  type
           0     1       2  Class java.lang.ClassCastException
           0     1       4  Class java.lang.IllegalArgumentException
    Exceptions:
      throws org.bouncycastle.cms.CMSException

  public int getVersion();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.bouncycastle.cms.CMSSignedData this
         0: .line 235
            aload 0 /* this */
            getfield org.bouncycastle.cms.CMSSignedData.signedData:Lorg/bouncycastle/asn1/cms/SignedData;
            invokevirtual org.bouncycastle.asn1.cms.SignedData.getVersion:()Lorg/bouncycastle/asn1/ASN1Integer;
            invokevirtual org.bouncycastle.asn1.ASN1Integer.getValue:()Ljava/math/BigInteger;
            invokevirtual java.math.BigInteger.intValue:()I
            ireturn
        end local 0 // org.bouncycastle.cms.CMSSignedData this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/bouncycastle/cms/CMSSignedData;

  public org.bouncycastle.cms.SignerInformationStore getSignerInfos();
    descriptor: ()Lorg/bouncycastle/cms/SignerInformationStore;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=8, args_size=1
        start local 0 // org.bouncycastle.cms.CMSSignedData this
         0: .line 244
            aload 0 /* this */
            getfield org.bouncycastle.cms.CMSSignedData.signerInfoStore:Lorg/bouncycastle/cms/SignerInformationStore;
            ifnonnull 18
         1: .line 246
            aload 0 /* this */
            getfield org.bouncycastle.cms.CMSSignedData.signedData:Lorg/bouncycastle/asn1/cms/SignedData;
            invokevirtual org.bouncycastle.asn1.cms.SignedData.getSignerInfos:()Lorg/bouncycastle/asn1/ASN1Set;
            astore 1 /* s */
        start local 1 // org.bouncycastle.asn1.ASN1Set s
         2: .line 247
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 2 /* signerInfos */
        start local 2 // java.util.List signerInfos
         3: .line 249
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         4: goto 16
         5: .line 251
      StackMap locals: org.bouncycastle.asn1.ASN1Set java.util.List int
      StackMap stack:
            aload 1 /* s */
            iload 3 /* i */
            invokevirtual org.bouncycastle.asn1.ASN1Set.getObjectAt:(I)Lorg/bouncycastle/asn1/ASN1Encodable;
            invokestatic org.bouncycastle.asn1.cms.SignerInfo.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/cms/SignerInfo;
            astore 4 /* info */
        start local 4 // org.bouncycastle.asn1.cms.SignerInfo info
         6: .line 252
            aload 0 /* this */
            getfield org.bouncycastle.cms.CMSSignedData.signedData:Lorg/bouncycastle/asn1/cms/SignedData;
            invokevirtual org.bouncycastle.asn1.cms.SignedData.getEncapContentInfo:()Lorg/bouncycastle/asn1/cms/ContentInfo;
            invokevirtual org.bouncycastle.asn1.cms.ContentInfo.getContentType:()Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
            astore 5 /* contentType */
        start local 5 // org.bouncycastle.asn1.ASN1ObjectIdentifier contentType
         7: .line 254
            aload 0 /* this */
            getfield org.bouncycastle.cms.CMSSignedData.hashes:Ljava/util/Map;
            ifnonnull 10
         8: .line 256
            aload 2 /* signerInfos */
            new org.bouncycastle.cms.SignerInformation
            dup
            aload 4 /* info */
            aload 5 /* contentType */
            aload 0 /* this */
            getfield org.bouncycastle.cms.CMSSignedData.signedContent:Lorg/bouncycastle/cms/CMSTypedData;
            aconst_null
            invokespecial org.bouncycastle.cms.SignerInformation.<init>:(Lorg/bouncycastle/asn1/cms/SignerInfo;Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;Lorg/bouncycastle/cms/CMSProcessable;[B)V
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         9: .line 257
            goto 15
        10: .line 260
      StackMap locals: org.bouncycastle.asn1.cms.SignerInfo org.bouncycastle.asn1.ASN1ObjectIdentifier
      StackMap stack:
            aload 0 /* this */
            getfield org.bouncycastle.cms.CMSSignedData.hashes:Ljava/util/Map;
            invokeinterface java.util.Map.keySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            astore 6 /* obj */
        start local 6 // java.lang.Object obj
        11: .line 261
            aload 6 /* obj */
            instanceof java.lang.String
            ifeq 12
            aload 0 /* this */
            getfield org.bouncycastle.cms.CMSSignedData.hashes:Ljava/util/Map;
            aload 4 /* info */
            invokevirtual org.bouncycastle.asn1.cms.SignerInfo.getDigestAlgorithm:()Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;
            invokevirtual org.bouncycastle.asn1.x509.AlgorithmIdentifier.getAlgorithm:()Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
            invokevirtual org.bouncycastle.asn1.ASN1ObjectIdentifier.getId:()Ljava/lang/String;
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast byte[]
            goto 13
      StackMap locals: java.lang.Object
      StackMap stack:
        12: aload 0 /* this */
            getfield org.bouncycastle.cms.CMSSignedData.hashes:Ljava/util/Map;
            aload 4 /* info */
            invokevirtual org.bouncycastle.asn1.cms.SignerInfo.getDigestAlgorithm:()Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;
            invokevirtual org.bouncycastle.asn1.x509.AlgorithmIdentifier.getAlgorithm:()Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast byte[]
      StackMap locals:
      StackMap stack: byte[]
        13: astore 7 /* hash */
        start local 7 // byte[] hash
        14: .line 263
            aload 2 /* signerInfos */
            new org.bouncycastle.cms.SignerInformation
            dup
            aload 4 /* info */
            aload 5 /* contentType */
            aconst_null
            aload 7 /* hash */
            invokespecial org.bouncycastle.cms.SignerInformation.<init>:(Lorg/bouncycastle/asn1/cms/SignerInfo;Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;Lorg/bouncycastle/cms/CMSProcessable;[B)V
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 7 // byte[] hash
        end local 6 // java.lang.Object obj
        end local 5 // org.bouncycastle.asn1.ASN1ObjectIdentifier contentType
        end local 4 // org.bouncycastle.asn1.cms.SignerInfo info
        15: .line 249
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        16: iload 3 /* i */
            aload 1 /* s */
            invokevirtual org.bouncycastle.asn1.ASN1Set.size:()I
            if_icmpne 5
        end local 3 // int i
        17: .line 267
            aload 0 /* this */
            new org.bouncycastle.cms.SignerInformationStore
            dup
            aload 2 /* signerInfos */
            invokespecial org.bouncycastle.cms.SignerInformationStore.<init>:(Ljava/util/Collection;)V
            putfield org.bouncycastle.cms.CMSSignedData.signerInfoStore:Lorg/bouncycastle/cms/SignerInformationStore;
        end local 2 // java.util.List signerInfos
        end local 1 // org.bouncycastle.asn1.ASN1Set s
        18: .line 270
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.bouncycastle.cms.CMSSignedData.signerInfoStore:Lorg/bouncycastle/cms/SignerInformationStore;
            areturn
        end local 0 // org.bouncycastle.cms.CMSSignedData this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   19     0         this  Lorg/bouncycastle/cms/CMSSignedData;
            2   18     1            s  Lorg/bouncycastle/asn1/ASN1Set;
            3   18     2  signerInfos  Ljava/util/List;
            4   17     3            i  I
            6   15     4         info  Lorg/bouncycastle/asn1/cms/SignerInfo;
            7   15     5  contentType  Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
           11   15     6          obj  Ljava/lang/Object;
           14   15     7         hash  [B

  public boolean isDetachedSignature();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.bouncycastle.cms.CMSSignedData this
         0: .line 280
            aload 0 /* this */
            getfield org.bouncycastle.cms.CMSSignedData.signedData:Lorg/bouncycastle/asn1/cms/SignedData;
            invokevirtual org.bouncycastle.asn1.cms.SignedData.getEncapContentInfo:()Lorg/bouncycastle/asn1/cms/ContentInfo;
            invokevirtual org.bouncycastle.asn1.cms.ContentInfo.getContent:()Lorg/bouncycastle/asn1/ASN1Encodable;
            ifnonnull 1
            aload 0 /* this */
            getfield org.bouncycastle.cms.CMSSignedData.signedData:Lorg/bouncycastle/asn1/cms/SignedData;
            invokevirtual org.bouncycastle.asn1.cms.SignedData.getSignerInfos:()Lorg/bouncycastle/asn1/ASN1Set;
            invokevirtual org.bouncycastle.asn1.ASN1Set.size:()I
            ifle 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // org.bouncycastle.cms.CMSSignedData this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/bouncycastle/cms/CMSSignedData;

  public boolean isCertificateManagementMessage();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.bouncycastle.cms.CMSSignedData this
         0: .line 290
            aload 0 /* this */
            getfield org.bouncycastle.cms.CMSSignedData.signedData:Lorg/bouncycastle/asn1/cms/SignedData;
            invokevirtual org.bouncycastle.asn1.cms.SignedData.getEncapContentInfo:()Lorg/bouncycastle/asn1/cms/ContentInfo;
            invokevirtual org.bouncycastle.asn1.cms.ContentInfo.getContent:()Lorg/bouncycastle/asn1/ASN1Encodable;
            ifnonnull 1
            aload 0 /* this */
            getfield org.bouncycastle.cms.CMSSignedData.signedData:Lorg/bouncycastle/asn1/cms/SignedData;
            invokevirtual org.bouncycastle.asn1.cms.SignedData.getSignerInfos:()Lorg/bouncycastle/asn1/ASN1Set;
            invokevirtual org.bouncycastle.asn1.ASN1Set.size:()I
            ifne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // org.bouncycastle.cms.CMSSignedData this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/bouncycastle/cms/CMSSignedData;

  public org.bouncycastle.util.Store<org.bouncycastle.cert.X509CertificateHolder> getCertificates();
    descriptor: ()Lorg/bouncycastle/util/Store;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.bouncycastle.cms.CMSSignedData this
         0: .line 300
            getstatic org.bouncycastle.cms.CMSSignedData.HELPER:Lorg/bouncycastle/cms/CMSSignedHelper;
            aload 0 /* this */
            getfield org.bouncycastle.cms.CMSSignedData.signedData:Lorg/bouncycastle/asn1/cms/SignedData;
            invokevirtual org.bouncycastle.asn1.cms.SignedData.getCertificates:()Lorg/bouncycastle/asn1/ASN1Set;
            invokevirtual org.bouncycastle.cms.CMSSignedHelper.getCertificates:(Lorg/bouncycastle/asn1/ASN1Set;)Lorg/bouncycastle/util/Store;
            areturn
        end local 0 // org.bouncycastle.cms.CMSSignedData this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/bouncycastle/cms/CMSSignedData;
    Signature: ()Lorg/bouncycastle/util/Store<Lorg/bouncycastle/cert/X509CertificateHolder;>;

  public org.bouncycastle.util.Store<org.bouncycastle.cert.X509CRLHolder> getCRLs();
    descriptor: ()Lorg/bouncycastle/util/Store;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.bouncycastle.cms.CMSSignedData this
         0: .line 310
            getstatic org.bouncycastle.cms.CMSSignedData.HELPER:Lorg/bouncycastle/cms/CMSSignedHelper;
            aload 0 /* this */
            getfield org.bouncycastle.cms.CMSSignedData.signedData:Lorg/bouncycastle/asn1/cms/SignedData;
            invokevirtual org.bouncycastle.asn1.cms.SignedData.getCRLs:()Lorg/bouncycastle/asn1/ASN1Set;
            invokevirtual org.bouncycastle.cms.CMSSignedHelper.getCRLs:(Lorg/bouncycastle/asn1/ASN1Set;)Lorg/bouncycastle/util/Store;
            areturn
        end local 0 // org.bouncycastle.cms.CMSSignedData this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/bouncycastle/cms/CMSSignedData;
    Signature: ()Lorg/bouncycastle/util/Store<Lorg/bouncycastle/cert/X509CRLHolder;>;

  public org.bouncycastle.util.Store<org.bouncycastle.cert.X509AttributeCertificateHolder> getAttributeCertificates();
    descriptor: ()Lorg/bouncycastle/util/Store;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.bouncycastle.cms.CMSSignedData this
         0: .line 320
            getstatic org.bouncycastle.cms.CMSSignedData.HELPER:Lorg/bouncycastle/cms/CMSSignedHelper;
            aload 0 /* this */
            getfield org.bouncycastle.cms.CMSSignedData.signedData:Lorg/bouncycastle/asn1/cms/SignedData;
            invokevirtual org.bouncycastle.asn1.cms.SignedData.getCertificates:()Lorg/bouncycastle/asn1/ASN1Set;
            invokevirtual org.bouncycastle.cms.CMSSignedHelper.getAttributeCertificates:(Lorg/bouncycastle/asn1/ASN1Set;)Lorg/bouncycastle/util/Store;
            areturn
        end local 0 // org.bouncycastle.cms.CMSSignedData this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/bouncycastle/cms/CMSSignedData;
    Signature: ()Lorg/bouncycastle/util/Store<Lorg/bouncycastle/cert/X509AttributeCertificateHolder;>;

  public org.bouncycastle.util.Store getOtherRevocationInfo(org.bouncycastle.asn1.ASN1ObjectIdentifier);
    descriptor: (Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;)Lorg/bouncycastle/util/Store;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.bouncycastle.cms.CMSSignedData this
        start local 1 // org.bouncycastle.asn1.ASN1ObjectIdentifier otherRevocationInfoFormat
         0: .line 333
            getstatic org.bouncycastle.cms.CMSSignedData.HELPER:Lorg/bouncycastle/cms/CMSSignedHelper;
            aload 1 /* otherRevocationInfoFormat */
            aload 0 /* this */
            getfield org.bouncycastle.cms.CMSSignedData.signedData:Lorg/bouncycastle/asn1/cms/SignedData;
            invokevirtual org.bouncycastle.asn1.cms.SignedData.getCRLs:()Lorg/bouncycastle/asn1/ASN1Set;
            invokevirtual org.bouncycastle.cms.CMSSignedHelper.getOtherRevocationInfo:(Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;Lorg/bouncycastle/asn1/ASN1Set;)Lorg/bouncycastle/util/Store;
            areturn
        end local 1 // org.bouncycastle.asn1.ASN1ObjectIdentifier otherRevocationInfoFormat
        end local 0 // org.bouncycastle.cms.CMSSignedData this
      LocalVariableTable:
        Start  End  Slot                       Name  Signature
            0    1     0                       this  Lorg/bouncycastle/cms/CMSSignedData;
            0    1     1  otherRevocationInfoFormat  Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
    MethodParameters:
                           Name  Flags
      otherRevocationInfoFormat  

  public java.util.Set<org.bouncycastle.asn1.x509.AlgorithmIdentifier> getDigestAlgorithmIDs();
    descriptor: ()Ljava/util/Set;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // org.bouncycastle.cms.CMSSignedData this
         0: .line 343
            new java.util.HashSet
            dup
            aload 0 /* this */
            getfield org.bouncycastle.cms.CMSSignedData.signedData:Lorg/bouncycastle/asn1/cms/SignedData;
            invokevirtual org.bouncycastle.asn1.cms.SignedData.getDigestAlgorithms:()Lorg/bouncycastle/asn1/ASN1Set;
            invokevirtual org.bouncycastle.asn1.ASN1Set.size:()I
            invokespecial java.util.HashSet.<init>:(I)V
            astore 1 /* digests */
        start local 1 // java.util.Set digests
         1: .line 345
            aload 0 /* this */
            getfield org.bouncycastle.cms.CMSSignedData.signedData:Lorg/bouncycastle/asn1/cms/SignedData;
            invokevirtual org.bouncycastle.asn1.cms.SignedData.getDigestAlgorithms:()Lorg/bouncycastle/asn1/ASN1Set;
            invokevirtual org.bouncycastle.asn1.ASN1Set.getObjects:()Ljava/util/Enumeration;
            astore 2 /* en */
        start local 2 // java.util.Enumeration en
         2: goto 4
         3: .line 347
      StackMap locals: java.util.Set java.util.Enumeration
      StackMap stack:
            aload 1 /* digests */
            aload 2 /* en */
            invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
            invokestatic org.bouncycastle.asn1.x509.AlgorithmIdentifier.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
         4: .line 345
      StackMap locals:
      StackMap stack:
            aload 2 /* en */
            invokeinterface java.util.Enumeration.hasMoreElements:()Z
            ifne 3
        end local 2 // java.util.Enumeration en
         5: .line 350
            aload 1 /* digests */
            invokestatic java.util.Collections.unmodifiableSet:(Ljava/util/Set;)Ljava/util/Set;
            areturn
        end local 1 // java.util.Set digests
        end local 0 // org.bouncycastle.cms.CMSSignedData this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    6     0     this  Lorg/bouncycastle/cms/CMSSignedData;
            1    6     1  digests  Ljava/util/Set<Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;>;
            2    5     2       en  Ljava/util/Enumeration;
    Signature: ()Ljava/util/Set<Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;>;

  public java.lang.String getSignedContentTypeOID();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.bouncycastle.cms.CMSSignedData this
         0: .line 361
            aload 0 /* this */
            getfield org.bouncycastle.cms.CMSSignedData.signedData:Lorg/bouncycastle/asn1/cms/SignedData;
            invokevirtual org.bouncycastle.asn1.cms.SignedData.getEncapContentInfo:()Lorg/bouncycastle/asn1/cms/ContentInfo;
            invokevirtual org.bouncycastle.asn1.cms.ContentInfo.getContentType:()Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
            invokevirtual org.bouncycastle.asn1.ASN1ObjectIdentifier.getId:()Ljava/lang/String;
            areturn
        end local 0 // org.bouncycastle.cms.CMSSignedData this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/bouncycastle/cms/CMSSignedData;

  public org.bouncycastle.cms.CMSTypedData getSignedContent();
    descriptor: ()Lorg/bouncycastle/cms/CMSTypedData;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.bouncycastle.cms.CMSSignedData this
         0: .line 366
            aload 0 /* this */
            getfield org.bouncycastle.cms.CMSSignedData.signedContent:Lorg/bouncycastle/cms/CMSTypedData;
            areturn
        end local 0 // org.bouncycastle.cms.CMSSignedData this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/bouncycastle/cms/CMSSignedData;

  public org.bouncycastle.asn1.cms.ContentInfo toASN1Structure();
    descriptor: ()Lorg/bouncycastle/asn1/cms/ContentInfo;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.bouncycastle.cms.CMSSignedData this
         0: .line 374
            aload 0 /* this */
            getfield org.bouncycastle.cms.CMSSignedData.contentInfo:Lorg/bouncycastle/asn1/cms/ContentInfo;
            areturn
        end local 0 // org.bouncycastle.cms.CMSSignedData this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/bouncycastle/cms/CMSSignedData;

  public byte[] getEncoded();
    descriptor: ()[B
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.bouncycastle.cms.CMSSignedData this
         0: .line 383
            aload 0 /* this */
            getfield org.bouncycastle.cms.CMSSignedData.contentInfo:Lorg/bouncycastle/asn1/cms/ContentInfo;
            invokevirtual org.bouncycastle.asn1.cms.ContentInfo.getEncoded:()[B
            areturn
        end local 0 // org.bouncycastle.cms.CMSSignedData this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/bouncycastle/cms/CMSSignedData;
    Exceptions:
      throws java.io.IOException

  public boolean verifySignatures(org.bouncycastle.cms.SignerInformationVerifierProvider);
    descriptor: (Lorg/bouncycastle/cms/SignerInformationVerifierProvider;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.bouncycastle.cms.CMSSignedData this
        start local 1 // org.bouncycastle.cms.SignerInformationVerifierProvider verifierProvider
         0: .line 397
            aload 0 /* this */
            aload 1 /* verifierProvider */
            iconst_0
            invokevirtual org.bouncycastle.cms.CMSSignedData.verifySignatures:(Lorg/bouncycastle/cms/SignerInformationVerifierProvider;Z)Z
            ireturn
        end local 1 // org.bouncycastle.cms.SignerInformationVerifierProvider verifierProvider
        end local 0 // org.bouncycastle.cms.CMSSignedData this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    1     0              this  Lorg/bouncycastle/cms/CMSSignedData;
            0    1     1  verifierProvider  Lorg/bouncycastle/cms/SignerInformationVerifierProvider;
    Exceptions:
      throws org.bouncycastle.cms.CMSException
    MethodParameters:
                  Name  Flags
      verifierProvider  

  public boolean verifySignatures(org.bouncycastle.cms.SignerInformationVerifierProvider, boolean);
    descriptor: (Lorg/bouncycastle/cms/SignerInformationVerifierProvider;Z)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=9, args_size=3
        start local 0 // org.bouncycastle.cms.CMSSignedData this
        start local 1 // org.bouncycastle.cms.SignerInformationVerifierProvider verifierProvider
        start local 2 // boolean ignoreCounterSignatures
         0: .line 412
            aload 0 /* this */
            invokevirtual org.bouncycastle.cms.CMSSignedData.getSignerInfos:()Lorg/bouncycastle/cms/SignerInformationStore;
            invokevirtual org.bouncycastle.cms.SignerInformationStore.getSigners:()Ljava/util/Collection;
            astore 3 /* signers */
        start local 3 // java.util.Collection signers
         1: .line 414
            aload 3 /* signers */
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 4 /* it */
        start local 4 // java.util.Iterator it
         2: goto 17
         3: .line 416
      StackMap locals: java.util.Collection java.util.Iterator
      StackMap stack:
            aload 4 /* it */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.bouncycastle.cms.SignerInformation
            astore 5 /* signer */
        start local 5 // org.bouncycastle.cms.SignerInformation signer
         4: .line 420
            aload 1 /* verifierProvider */
            aload 5 /* signer */
            invokevirtual org.bouncycastle.cms.SignerInformation.getSID:()Lorg/bouncycastle/cms/SignerId;
            invokeinterface org.bouncycastle.cms.SignerInformationVerifierProvider.get:(Lorg/bouncycastle/cms/SignerId;)Lorg/bouncycastle/cms/SignerInformationVerifier;
            astore 6 /* verifier */
        start local 6 // org.bouncycastle.cms.SignerInformationVerifier verifier
         5: .line 422
            aload 5 /* signer */
            aload 6 /* verifier */
            invokevirtual org.bouncycastle.cms.SignerInformation.verify:(Lorg/bouncycastle/cms/SignerInformationVerifier;)Z
            ifne 7
         6: .line 424
            iconst_0
            ireturn
         7: .line 427
      StackMap locals: org.bouncycastle.cms.SignerInformation org.bouncycastle.cms.SignerInformationVerifier
      StackMap stack:
            iload 2 /* ignoreCounterSignatures */
            ifne 17
         8: .line 429
            aload 5 /* signer */
            invokevirtual org.bouncycastle.cms.SignerInformation.getCounterSignatures:()Lorg/bouncycastle/cms/SignerInformationStore;
            invokevirtual org.bouncycastle.cms.SignerInformationStore.getSigners:()Ljava/util/Collection;
            astore 7 /* counterSigners */
        start local 7 // java.util.Collection counterSigners
         9: .line 431
            aload 7 /* counterSigners */
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 8 /* cIt */
        start local 8 // java.util.Iterator cIt
        10: goto 13
        11: .line 433
      StackMap locals: java.util.Collection java.util.Iterator
      StackMap stack:
            aload 0 /* this */
            aload 8 /* cIt */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.bouncycastle.cms.SignerInformation
            aload 1 /* verifierProvider */
            invokevirtual org.bouncycastle.cms.CMSSignedData.verifyCounterSignature:(Lorg/bouncycastle/cms/SignerInformation;Lorg/bouncycastle/cms/SignerInformationVerifierProvider;)Z
            ifne 13
        12: .line 435
            iconst_0
            ireturn
        13: .line 431
      StackMap locals:
      StackMap stack:
            aload 8 /* cIt */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 11
        end local 8 // java.util.Iterator cIt
        end local 7 // java.util.Collection counterSigners
        end local 6 // org.bouncycastle.cms.SignerInformationVerifier verifier
        14: .line 439
            goto 17
        15: .line 440
      StackMap locals: org.bouncycastle.cms.CMSSignedData org.bouncycastle.cms.SignerInformationVerifierProvider int java.util.Collection java.util.Iterator org.bouncycastle.cms.SignerInformation
      StackMap stack: org.bouncycastle.operator.OperatorCreationException
            astore 6 /* e */
        start local 6 // org.bouncycastle.operator.OperatorCreationException e
        16: .line 442
            new org.bouncycastle.cms.CMSException
            dup
            new java.lang.StringBuilder
            dup
            ldc "failure in verifier provider: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 6 /* e */
            invokevirtual org.bouncycastle.operator.OperatorCreationException.getMessage:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 6 /* e */
            invokespecial org.bouncycastle.cms.CMSException.<init>:(Ljava/lang/String;Ljava/lang/Exception;)V
            athrow
        end local 6 // org.bouncycastle.operator.OperatorCreationException e
        end local 5 // org.bouncycastle.cms.SignerInformation signer
        17: .line 414
      StackMap locals:
      StackMap stack:
            aload 4 /* it */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
        end local 4 // java.util.Iterator it
        18: .line 446
            iconst_1
            ireturn
        end local 3 // java.util.Collection signers
        end local 2 // boolean ignoreCounterSignatures
        end local 1 // org.bouncycastle.cms.SignerInformationVerifierProvider verifierProvider
        end local 0 // org.bouncycastle.cms.CMSSignedData this
      LocalVariableTable:
        Start  End  Slot                     Name  Signature
            0   19     0                     this  Lorg/bouncycastle/cms/CMSSignedData;
            0   19     1         verifierProvider  Lorg/bouncycastle/cms/SignerInformationVerifierProvider;
            0   19     2  ignoreCounterSignatures  Z
            1   19     3                  signers  Ljava/util/Collection;
            2   18     4                       it  Ljava/util/Iterator;
            4   17     5                   signer  Lorg/bouncycastle/cms/SignerInformation;
            5   14     6                 verifier  Lorg/bouncycastle/cms/SignerInformationVerifier;
            9   14     7           counterSigners  Ljava/util/Collection;
           10   14     8                      cIt  Ljava/util/Iterator;
           16   17     6                        e  Lorg/bouncycastle/operator/OperatorCreationException;
      Exception table:
        from    to  target  type
           4     6      15  Class org.bouncycastle.operator.OperatorCreationException
           7    12      15  Class org.bouncycastle.operator.OperatorCreationException
          13    14      15  Class org.bouncycastle.operator.OperatorCreationException
    Exceptions:
      throws org.bouncycastle.cms.CMSException
    MethodParameters:
                         Name  Flags
      verifierProvider         
      ignoreCounterSignatures  

  private boolean verifyCounterSignature(org.bouncycastle.cms.SignerInformation, org.bouncycastle.cms.SignerInformationVerifierProvider);
    descriptor: (Lorg/bouncycastle/cms/SignerInformation;Lorg/bouncycastle/cms/SignerInformationVerifierProvider;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=6, args_size=3
        start local 0 // org.bouncycastle.cms.CMSSignedData this
        start local 1 // org.bouncycastle.cms.SignerInformation counterSigner
        start local 2 // org.bouncycastle.cms.SignerInformationVerifierProvider verifierProvider
         0: .line 452
            aload 2 /* verifierProvider */
            aload 1 /* counterSigner */
            invokevirtual org.bouncycastle.cms.SignerInformation.getSID:()Lorg/bouncycastle/cms/SignerId;
            invokeinterface org.bouncycastle.cms.SignerInformationVerifierProvider.get:(Lorg/bouncycastle/cms/SignerId;)Lorg/bouncycastle/cms/SignerInformationVerifier;
            astore 3 /* counterVerifier */
        start local 3 // org.bouncycastle.cms.SignerInformationVerifier counterVerifier
         1: .line 454
            aload 1 /* counterSigner */
            aload 3 /* counterVerifier */
            invokevirtual org.bouncycastle.cms.SignerInformation.verify:(Lorg/bouncycastle/cms/SignerInformationVerifier;)Z
            ifne 3
         2: .line 456
            iconst_0
            ireturn
         3: .line 459
      StackMap locals: org.bouncycastle.cms.SignerInformationVerifier
      StackMap stack:
            aload 1 /* counterSigner */
            invokevirtual org.bouncycastle.cms.SignerInformation.getCounterSignatures:()Lorg/bouncycastle/cms/SignerInformationStore;
            invokevirtual org.bouncycastle.cms.SignerInformationStore.getSigners:()Ljava/util/Collection;
            astore 4 /* counterSigners */
        start local 4 // java.util.Collection counterSigners
         4: .line 460
            aload 4 /* counterSigners */
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 5 /* cIt */
        start local 5 // java.util.Iterator cIt
         5: goto 8
         6: .line 462
      StackMap locals: java.util.Collection java.util.Iterator
      StackMap stack:
            aload 0 /* this */
            aload 5 /* cIt */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.bouncycastle.cms.SignerInformation
            aload 2 /* verifierProvider */
            invokevirtual org.bouncycastle.cms.CMSSignedData.verifyCounterSignature:(Lorg/bouncycastle/cms/SignerInformation;Lorg/bouncycastle/cms/SignerInformationVerifierProvider;)Z
            ifne 8
         7: .line 464
            iconst_0
            ireturn
         8: .line 460
      StackMap locals:
      StackMap stack:
            aload 5 /* cIt */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 6
        end local 5 // java.util.Iterator cIt
         9: .line 468
            iconst_1
            ireturn
        end local 4 // java.util.Collection counterSigners
        end local 3 // org.bouncycastle.cms.SignerInformationVerifier counterVerifier
        end local 2 // org.bouncycastle.cms.SignerInformationVerifierProvider verifierProvider
        end local 1 // org.bouncycastle.cms.SignerInformation counterSigner
        end local 0 // org.bouncycastle.cms.CMSSignedData this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   10     0              this  Lorg/bouncycastle/cms/CMSSignedData;
            0   10     1     counterSigner  Lorg/bouncycastle/cms/SignerInformation;
            0   10     2  verifierProvider  Lorg/bouncycastle/cms/SignerInformationVerifierProvider;
            1   10     3   counterVerifier  Lorg/bouncycastle/cms/SignerInformationVerifier;
            4   10     4    counterSigners  Ljava/util/Collection;
            5    9     5               cIt  Ljava/util/Iterator;
    Exceptions:
      throws org.bouncycastle.operator.OperatorCreationException, org.bouncycastle.cms.CMSException
    MethodParameters:
                  Name  Flags
      counterSigner     
      verifierProvider  

  public static org.bouncycastle.cms.CMSSignedData replaceSigners(org.bouncycastle.cms.CMSSignedData, org.bouncycastle.cms.SignerInformationStore);
    descriptor: (Lorg/bouncycastle/cms/CMSSignedData;Lorg/bouncycastle/cms/SignerInformationStore;)Lorg/bouncycastle/cms/CMSSignedData;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=10, args_size=2
        start local 0 // org.bouncycastle.cms.CMSSignedData signedData
        start local 1 // org.bouncycastle.cms.SignerInformationStore signerInformationStore
         0: .line 488
            new org.bouncycastle.cms.CMSSignedData
            dup
            aload 0 /* signedData */
            invokespecial org.bouncycastle.cms.CMSSignedData.<init>:(Lorg/bouncycastle/cms/CMSSignedData;)V
            astore 2 /* cms */
        start local 2 // org.bouncycastle.cms.CMSSignedData cms
         1: .line 493
            aload 2 /* cms */
            aload 1 /* signerInformationStore */
            putfield org.bouncycastle.cms.CMSSignedData.signerInfoStore:Lorg/bouncycastle/cms/SignerInformationStore;
         2: .line 498
            new org.bouncycastle.asn1.ASN1EncodableVector
            dup
            invokespecial org.bouncycastle.asn1.ASN1EncodableVector.<init>:()V
            astore 3 /* digestAlgs */
        start local 3 // org.bouncycastle.asn1.ASN1EncodableVector digestAlgs
         3: .line 499
            new org.bouncycastle.asn1.ASN1EncodableVector
            dup
            invokespecial org.bouncycastle.asn1.ASN1EncodableVector.<init>:()V
            astore 4 /* vec */
        start local 4 // org.bouncycastle.asn1.ASN1EncodableVector vec
         4: .line 501
            aload 1 /* signerInformationStore */
            invokevirtual org.bouncycastle.cms.SignerInformationStore.getSigners:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 5 /* it */
        start local 5 // java.util.Iterator it
         5: .line 502
            goto 9
         6: .line 504
      StackMap locals: org.bouncycastle.cms.CMSSignedData org.bouncycastle.cms.SignerInformationStore org.bouncycastle.cms.CMSSignedData org.bouncycastle.asn1.ASN1EncodableVector org.bouncycastle.asn1.ASN1EncodableVector java.util.Iterator
      StackMap stack:
            aload 5 /* it */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast org.bouncycastle.cms.SignerInformation
            astore 6 /* signer */
        start local 6 // org.bouncycastle.cms.SignerInformation signer
         7: .line 505
            aload 3 /* digestAlgs */
            getstatic org.bouncycastle.cms.CMSSignedHelper.INSTANCE:Lorg/bouncycastle/cms/CMSSignedHelper;
            aload 6 /* signer */
            invokevirtual org.bouncycastle.cms.SignerInformation.getDigestAlgorithmID:()Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;
            invokevirtual org.bouncycastle.cms.CMSSignedHelper.fixAlgID:(Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;)Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;
            invokevirtual org.bouncycastle.asn1.ASN1EncodableVector.add:(Lorg/bouncycastle/asn1/ASN1Encodable;)V
         8: .line 506
            aload 4 /* vec */
            aload 6 /* signer */
            invokevirtual org.bouncycastle.cms.SignerInformation.toASN1Structure:()Lorg/bouncycastle/asn1/cms/SignerInfo;
            invokevirtual org.bouncycastle.asn1.ASN1EncodableVector.add:(Lorg/bouncycastle/asn1/ASN1Encodable;)V
        end local 6 // org.bouncycastle.cms.SignerInformation signer
         9: .line 502
      StackMap locals:
      StackMap stack:
            aload 5 /* it */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 6
        10: .line 509
            new org.bouncycastle.asn1.DERSet
            dup
            aload 3 /* digestAlgs */
            invokespecial org.bouncycastle.asn1.DERSet.<init>:(Lorg/bouncycastle/asn1/ASN1EncodableVector;)V
            astore 6 /* digests */
        start local 6 // org.bouncycastle.asn1.ASN1Set digests
        11: .line 510
            new org.bouncycastle.asn1.DERSet
            dup
            aload 4 /* vec */
            invokespecial org.bouncycastle.asn1.DERSet.<init>:(Lorg/bouncycastle/asn1/ASN1EncodableVector;)V
            astore 7 /* signers */
        start local 7 // org.bouncycastle.asn1.ASN1Set signers
        12: .line 511
            aload 0 /* signedData */
            getfield org.bouncycastle.cms.CMSSignedData.signedData:Lorg/bouncycastle/asn1/cms/SignedData;
            invokevirtual org.bouncycastle.asn1.cms.SignedData.toASN1Primitive:()Lorg/bouncycastle/asn1/ASN1Primitive;
            checkcast org.bouncycastle.asn1.ASN1Sequence
            astore 8 /* sD */
        start local 8 // org.bouncycastle.asn1.ASN1Sequence sD
        13: .line 513
            new org.bouncycastle.asn1.ASN1EncodableVector
            dup
            invokespecial org.bouncycastle.asn1.ASN1EncodableVector.<init>:()V
            astore 4 /* vec */
        14: .line 518
            aload 4 /* vec */
            aload 8 /* sD */
            iconst_0
            invokevirtual org.bouncycastle.asn1.ASN1Sequence.getObjectAt:(I)Lorg/bouncycastle/asn1/ASN1Encodable;
            invokevirtual org.bouncycastle.asn1.ASN1EncodableVector.add:(Lorg/bouncycastle/asn1/ASN1Encodable;)V
        15: .line 519
            aload 4 /* vec */
            aload 6 /* digests */
            invokevirtual org.bouncycastle.asn1.ASN1EncodableVector.add:(Lorg/bouncycastle/asn1/ASN1Encodable;)V
        16: .line 521
            iconst_2
            istore 9 /* i */
        start local 9 // int i
        17: goto 20
        18: .line 523
      StackMap locals: org.bouncycastle.cms.CMSSignedData org.bouncycastle.cms.SignerInformationStore org.bouncycastle.cms.CMSSignedData org.bouncycastle.asn1.ASN1EncodableVector org.bouncycastle.asn1.ASN1EncodableVector java.util.Iterator org.bouncycastle.asn1.ASN1Set org.bouncycastle.asn1.ASN1Set org.bouncycastle.asn1.ASN1Sequence int
      StackMap stack:
            aload 4 /* vec */
            aload 8 /* sD */
            iload 9 /* i */
            invokevirtual org.bouncycastle.asn1.ASN1Sequence.getObjectAt:(I)Lorg/bouncycastle/asn1/ASN1Encodable;
            invokevirtual org.bouncycastle.asn1.ASN1EncodableVector.add:(Lorg/bouncycastle/asn1/ASN1Encodable;)V
        19: .line 521
            iinc 9 /* i */ 1
      StackMap locals:
      StackMap stack:
        20: iload 9 /* i */
            aload 8 /* sD */
            invokevirtual org.bouncycastle.asn1.ASN1Sequence.size:()I
            iconst_1
            isub
            if_icmpne 18
        end local 9 // int i
        21: .line 526
            aload 4 /* vec */
            aload 7 /* signers */
            invokevirtual org.bouncycastle.asn1.ASN1EncodableVector.add:(Lorg/bouncycastle/asn1/ASN1Encodable;)V
        22: .line 528
            aload 2 /* cms */
            new org.bouncycastle.asn1.BERSequence
            dup
            aload 4 /* vec */
            invokespecial org.bouncycastle.asn1.BERSequence.<init>:(Lorg/bouncycastle/asn1/ASN1EncodableVector;)V
            invokestatic org.bouncycastle.asn1.cms.SignedData.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/cms/SignedData;
            putfield org.bouncycastle.cms.CMSSignedData.signedData:Lorg/bouncycastle/asn1/cms/SignedData;
        23: .line 533
            aload 2 /* cms */
            new org.bouncycastle.asn1.cms.ContentInfo
            dup
            aload 2 /* cms */
            getfield org.bouncycastle.cms.CMSSignedData.contentInfo:Lorg/bouncycastle/asn1/cms/ContentInfo;
            invokevirtual org.bouncycastle.asn1.cms.ContentInfo.getContentType:()Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
            aload 2 /* cms */
            getfield org.bouncycastle.cms.CMSSignedData.signedData:Lorg/bouncycastle/asn1/cms/SignedData;
            invokespecial org.bouncycastle.asn1.cms.ContentInfo.<init>:(Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;Lorg/bouncycastle/asn1/ASN1Encodable;)V
            putfield org.bouncycastle.cms.CMSSignedData.contentInfo:Lorg/bouncycastle/asn1/cms/ContentInfo;
        24: .line 535
            aload 2 /* cms */
            areturn
        end local 8 // org.bouncycastle.asn1.ASN1Sequence sD
        end local 7 // org.bouncycastle.asn1.ASN1Set signers
        end local 6 // org.bouncycastle.asn1.ASN1Set digests
        end local 5 // java.util.Iterator it
        end local 4 // org.bouncycastle.asn1.ASN1EncodableVector vec
        end local 3 // org.bouncycastle.asn1.ASN1EncodableVector digestAlgs
        end local 2 // org.bouncycastle.cms.CMSSignedData cms
        end local 1 // org.bouncycastle.cms.SignerInformationStore signerInformationStore
        end local 0 // org.bouncycastle.cms.CMSSignedData signedData
      LocalVariableTable:
        Start  End  Slot                    Name  Signature
            0   25     0              signedData  Lorg/bouncycastle/cms/CMSSignedData;
            0   25     1  signerInformationStore  Lorg/bouncycastle/cms/SignerInformationStore;
            1   25     2                     cms  Lorg/bouncycastle/cms/CMSSignedData;
            3   25     3              digestAlgs  Lorg/bouncycastle/asn1/ASN1EncodableVector;
            4   25     4                     vec  Lorg/bouncycastle/asn1/ASN1EncodableVector;
            5   25     5                      it  Ljava/util/Iterator;
            7    9     6                  signer  Lorg/bouncycastle/cms/SignerInformation;
           11   25     6                 digests  Lorg/bouncycastle/asn1/ASN1Set;
           12   25     7                 signers  Lorg/bouncycastle/asn1/ASN1Set;
           13   25     8                      sD  Lorg/bouncycastle/asn1/ASN1Sequence;
           17   21     9                       i  I
    MethodParameters:
                        Name  Flags
      signedData              
      signerInformationStore  

  public static org.bouncycastle.cms.CMSSignedData replaceCertificatesAndCRLs(org.bouncycastle.cms.CMSSignedData, org.bouncycastle.util.Store, org.bouncycastle.util.Store, org.bouncycastle.util.Store);
    descriptor: (Lorg/bouncycastle/cms/CMSSignedData;Lorg/bouncycastle/util/Store;Lorg/bouncycastle/util/Store;Lorg/bouncycastle/util/Store;)Lorg/bouncycastle/cms/CMSSignedData;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=8, locals=9, args_size=4
        start local 0 // org.bouncycastle.cms.CMSSignedData signedData
        start local 1 // org.bouncycastle.util.Store certificates
        start local 2 // org.bouncycastle.util.Store attrCerts
        start local 3 // org.bouncycastle.util.Store revocations
         0: .line 559
            new org.bouncycastle.cms.CMSSignedData
            dup
            aload 0 /* signedData */
            invokespecial org.bouncycastle.cms.CMSSignedData.<init>:(Lorg/bouncycastle/cms/CMSSignedData;)V
            astore 4 /* cms */
        start local 4 // org.bouncycastle.cms.CMSSignedData cms
         1: .line 564
            aconst_null
            astore 5 /* certSet */
        start local 5 // org.bouncycastle.asn1.ASN1Set certSet
         2: .line 565
            aconst_null
            astore 6 /* crlSet */
        start local 6 // org.bouncycastle.asn1.ASN1Set crlSet
         3: .line 567
            aload 1 /* certificates */
            ifnonnull 4
            aload 2 /* attrCerts */
            ifnull 12
         4: .line 569
      StackMap locals: org.bouncycastle.cms.CMSSignedData org.bouncycastle.asn1.ASN1Set org.bouncycastle.asn1.ASN1Set
      StackMap stack:
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 7 /* certs */
        start local 7 // java.util.List certs
         5: .line 571
            aload 1 /* certificates */
            ifnull 7
         6: .line 573
            aload 7 /* certs */
            aload 1 /* certificates */
            invokestatic org.bouncycastle.cms.CMSUtils.getCertificatesFromStore:(Lorg/bouncycastle/util/Store;)Ljava/util/List;
            invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
            pop
         7: .line 575
      StackMap locals: java.util.List
      StackMap stack:
            aload 2 /* attrCerts */
            ifnull 9
         8: .line 577
            aload 7 /* certs */
            aload 2 /* attrCerts */
            invokestatic org.bouncycastle.cms.CMSUtils.getAttributeCertificatesFromStore:(Lorg/bouncycastle/util/Store;)Ljava/util/List;
            invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
            pop
         9: .line 580
      StackMap locals:
      StackMap stack:
            aload 7 /* certs */
            invokestatic org.bouncycastle.cms.CMSUtils.createBerSetFromList:(Ljava/util/List;)Lorg/bouncycastle/asn1/ASN1Set;
            astore 8 /* set */
        start local 8 // org.bouncycastle.asn1.ASN1Set set
        10: .line 582
            aload 8 /* set */
            invokevirtual org.bouncycastle.asn1.ASN1Set.size:()I
            ifeq 12
        11: .line 584
            aload 8 /* set */
            astore 5 /* certSet */
        end local 8 // org.bouncycastle.asn1.ASN1Set set
        end local 7 // java.util.List certs
        12: .line 588
      StackMap locals:
      StackMap stack:
            aload 3 /* revocations */
            ifnull 16
        13: .line 590
            aload 3 /* revocations */
            invokestatic org.bouncycastle.cms.CMSUtils.getCRLsFromStore:(Lorg/bouncycastle/util/Store;)Ljava/util/List;
            invokestatic org.bouncycastle.cms.CMSUtils.createBerSetFromList:(Ljava/util/List;)Lorg/bouncycastle/asn1/ASN1Set;
            astore 7 /* set */
        start local 7 // org.bouncycastle.asn1.ASN1Set set
        14: .line 592
            aload 7 /* set */
            invokevirtual org.bouncycastle.asn1.ASN1Set.size:()I
            ifeq 16
        15: .line 594
            aload 7 /* set */
            astore 6 /* crlSet */
        end local 7 // org.bouncycastle.asn1.ASN1Set set
        16: .line 601
      StackMap locals:
      StackMap stack:
            aload 4 /* cms */
            new org.bouncycastle.asn1.cms.SignedData
            dup
            aload 0 /* signedData */
            getfield org.bouncycastle.cms.CMSSignedData.signedData:Lorg/bouncycastle/asn1/cms/SignedData;
            invokevirtual org.bouncycastle.asn1.cms.SignedData.getDigestAlgorithms:()Lorg/bouncycastle/asn1/ASN1Set;
        17: .line 602
            aload 0 /* signedData */
            getfield org.bouncycastle.cms.CMSSignedData.signedData:Lorg/bouncycastle/asn1/cms/SignedData;
            invokevirtual org.bouncycastle.asn1.cms.SignedData.getEncapContentInfo:()Lorg/bouncycastle/asn1/cms/ContentInfo;
        18: .line 603
            aload 5 /* certSet */
        19: .line 604
            aload 6 /* crlSet */
        20: .line 605
            aload 0 /* signedData */
            getfield org.bouncycastle.cms.CMSSignedData.signedData:Lorg/bouncycastle/asn1/cms/SignedData;
            invokevirtual org.bouncycastle.asn1.cms.SignedData.getSignerInfos:()Lorg/bouncycastle/asn1/ASN1Set;
            invokespecial org.bouncycastle.asn1.cms.SignedData.<init>:(Lorg/bouncycastle/asn1/ASN1Set;Lorg/bouncycastle/asn1/cms/ContentInfo;Lorg/bouncycastle/asn1/ASN1Set;Lorg/bouncycastle/asn1/ASN1Set;Lorg/bouncycastle/asn1/ASN1Set;)V
        21: .line 601
            putfield org.bouncycastle.cms.CMSSignedData.signedData:Lorg/bouncycastle/asn1/cms/SignedData;
        22: .line 610
            aload 4 /* cms */
            new org.bouncycastle.asn1.cms.ContentInfo
            dup
            aload 4 /* cms */
            getfield org.bouncycastle.cms.CMSSignedData.contentInfo:Lorg/bouncycastle/asn1/cms/ContentInfo;
            invokevirtual org.bouncycastle.asn1.cms.ContentInfo.getContentType:()Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
            aload 4 /* cms */
            getfield org.bouncycastle.cms.CMSSignedData.signedData:Lorg/bouncycastle/asn1/cms/SignedData;
            invokespecial org.bouncycastle.asn1.cms.ContentInfo.<init>:(Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;Lorg/bouncycastle/asn1/ASN1Encodable;)V
            putfield org.bouncycastle.cms.CMSSignedData.contentInfo:Lorg/bouncycastle/asn1/cms/ContentInfo;
        23: .line 612
            aload 4 /* cms */
            areturn
        end local 6 // org.bouncycastle.asn1.ASN1Set crlSet
        end local 5 // org.bouncycastle.asn1.ASN1Set certSet
        end local 4 // org.bouncycastle.cms.CMSSignedData cms
        end local 3 // org.bouncycastle.util.Store revocations
        end local 2 // org.bouncycastle.util.Store attrCerts
        end local 1 // org.bouncycastle.util.Store certificates
        end local 0 // org.bouncycastle.cms.CMSSignedData signedData
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   24     0    signedData  Lorg/bouncycastle/cms/CMSSignedData;
            0   24     1  certificates  Lorg/bouncycastle/util/Store;
            0   24     2     attrCerts  Lorg/bouncycastle/util/Store;
            0   24     3   revocations  Lorg/bouncycastle/util/Store;
            1   24     4           cms  Lorg/bouncycastle/cms/CMSSignedData;
            2   24     5       certSet  Lorg/bouncycastle/asn1/ASN1Set;
            3   24     6        crlSet  Lorg/bouncycastle/asn1/ASN1Set;
            5   12     7         certs  Ljava/util/List;
           10   12     8           set  Lorg/bouncycastle/asn1/ASN1Set;
           14   16     7           set  Lorg/bouncycastle/asn1/ASN1Set;
    Exceptions:
      throws org.bouncycastle.cms.CMSException
    MethodParameters:
              Name  Flags
      signedData    
      certificates  
      attrCerts     
      revocations   
}
SourceFile: "CMSSignedData.java"
NestMembers:
  org.bouncycastle.cms.CMSSignedData$1
InnerClasses:
  org.bouncycastle.cms.CMSSignedData$1