public class org.bouncycastle.cms.CMSAuthenticatedData implements org.bouncycastle.util.Encodable
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.bouncycastle.cms.CMSAuthenticatedData
  super_class: java.lang.Object
{
  org.bouncycastle.cms.RecipientInformationStore recipientInfoStore;
    descriptor: Lorg/bouncycastle/cms/RecipientInformationStore;
    flags: (0x0000) 

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

  private org.bouncycastle.asn1.x509.AlgorithmIdentifier macAlg;
    descriptor: Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;
    flags: (0x0002) ACC_PRIVATE

  private org.bouncycastle.asn1.ASN1Set authAttrs;
    descriptor: Lorg/bouncycastle/asn1/ASN1Set;
    flags: (0x0002) ACC_PRIVATE

  private org.bouncycastle.asn1.ASN1Set unauthAttrs;
    descriptor: Lorg/bouncycastle/asn1/ASN1Set;
    flags: (0x0002) ACC_PRIVATE

  private byte[] mac;
    descriptor: [B
    flags: (0x0002) ACC_PRIVATE

  private org.bouncycastle.cms.OriginatorInformation originatorInfo;
    descriptor: Lorg/bouncycastle/cms/OriginatorInformation;
    flags: (0x0002) ACC_PRIVATE

  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.CMSAuthenticatedData this
        start local 1 // byte[] authData
         0: .line 41
            aload 0 /* this */
            aload 1 /* authData */
            invokestatic org.bouncycastle.cms.CMSUtils.readContentInfo:([B)Lorg/bouncycastle/asn1/cms/ContentInfo;
            invokespecial org.bouncycastle.cms.CMSAuthenticatedData.<init>:(Lorg/bouncycastle/asn1/cms/ContentInfo;)V
         1: .line 42
            return
        end local 1 // byte[] authData
        end local 0 // org.bouncycastle.cms.CMSAuthenticatedData this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lorg/bouncycastle/cms/CMSAuthenticatedData;
            0    2     1  authData  [B
    Exceptions:
      throws org.bouncycastle.cms.CMSException
    MethodParameters:
          Name  Flags
      authData  

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

  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.CMSAuthenticatedData this
        start local 1 // java.io.InputStream authData
         0: .line 56
            aload 0 /* this */
            aload 1 /* authData */
            invokestatic org.bouncycastle.cms.CMSUtils.readContentInfo:(Ljava/io/InputStream;)Lorg/bouncycastle/asn1/cms/ContentInfo;
            invokespecial org.bouncycastle.cms.CMSAuthenticatedData.<init>:(Lorg/bouncycastle/asn1/cms/ContentInfo;)V
         1: .line 57
            return
        end local 1 // java.io.InputStream authData
        end local 0 // org.bouncycastle.cms.CMSAuthenticatedData this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lorg/bouncycastle/cms/CMSAuthenticatedData;
            0    2     1  authData  Ljava/io/InputStream;
    Exceptions:
      throws org.bouncycastle.cms.CMSException
    MethodParameters:
          Name  Flags
      authData  

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

  public void <init>(org.bouncycastle.asn1.cms.ContentInfo);
    descriptor: (Lorg/bouncycastle/asn1/cms/ContentInfo;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.bouncycastle.cms.CMSAuthenticatedData this
        start local 1 // org.bouncycastle.asn1.cms.ContentInfo contentInfo
         0: .line 71
            aload 0 /* this */
            aload 1 /* contentInfo */
            aconst_null
            invokespecial org.bouncycastle.cms.CMSAuthenticatedData.<init>:(Lorg/bouncycastle/asn1/cms/ContentInfo;Lorg/bouncycastle/operator/DigestCalculatorProvider;)V
         1: .line 72
            return
        end local 1 // org.bouncycastle.asn1.cms.ContentInfo contentInfo
        end local 0 // org.bouncycastle.cms.CMSAuthenticatedData this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    2     0         this  Lorg/bouncycastle/cms/CMSAuthenticatedData;
            0    2     1  contentInfo  Lorg/bouncycastle/asn1/cms/ContentInfo;
    Exceptions:
      throws org.bouncycastle.cms.CMSException
    MethodParameters:
             Name  Flags
      contentInfo  

  public void <init>(org.bouncycastle.asn1.cms.ContentInfo, org.bouncycastle.operator.DigestCalculatorProvider);
    descriptor: (Lorg/bouncycastle/asn1/cms/ContentInfo;Lorg/bouncycastle/operator/DigestCalculatorProvider;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=11, args_size=3
        start local 0 // org.bouncycastle.cms.CMSAuthenticatedData this
        start local 1 // org.bouncycastle.asn1.cms.ContentInfo contentInfo
        start local 2 // org.bouncycastle.operator.DigestCalculatorProvider digestCalculatorProvider
         0: .line 74
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 79
            aload 0 /* this */
            aload 1 /* contentInfo */
            putfield org.bouncycastle.cms.CMSAuthenticatedData.contentInfo:Lorg/bouncycastle/asn1/cms/ContentInfo;
         2: .line 81
            aload 1 /* contentInfo */
            invokevirtual org.bouncycastle.asn1.cms.ContentInfo.getContent:()Lorg/bouncycastle/asn1/ASN1Encodable;
            invokestatic org.bouncycastle.asn1.cms.AuthenticatedData.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/cms/AuthenticatedData;
            astore 3 /* authData */
        start local 3 // org.bouncycastle.asn1.cms.AuthenticatedData authData
         3: .line 83
            aload 3 /* authData */
            invokevirtual org.bouncycastle.asn1.cms.AuthenticatedData.getOriginatorInfo:()Lorg/bouncycastle/asn1/cms/OriginatorInfo;
            ifnull 5
         4: .line 85
            aload 0 /* this */
            new org.bouncycastle.cms.OriginatorInformation
            dup
            aload 3 /* authData */
            invokevirtual org.bouncycastle.asn1.cms.AuthenticatedData.getOriginatorInfo:()Lorg/bouncycastle/asn1/cms/OriginatorInfo;
            invokespecial org.bouncycastle.cms.OriginatorInformation.<init>:(Lorg/bouncycastle/asn1/cms/OriginatorInfo;)V
            putfield org.bouncycastle.cms.CMSAuthenticatedData.originatorInfo:Lorg/bouncycastle/cms/OriginatorInformation;
         5: .line 91
      StackMap locals: org.bouncycastle.cms.CMSAuthenticatedData org.bouncycastle.asn1.cms.ContentInfo org.bouncycastle.operator.DigestCalculatorProvider org.bouncycastle.asn1.cms.AuthenticatedData
      StackMap stack:
            aload 3 /* authData */
            invokevirtual org.bouncycastle.asn1.cms.AuthenticatedData.getRecipientInfos:()Lorg/bouncycastle/asn1/ASN1Set;
            astore 4 /* recipientInfos */
        start local 4 // org.bouncycastle.asn1.ASN1Set recipientInfos
         6: .line 93
            aload 0 /* this */
            aload 3 /* authData */
            invokevirtual org.bouncycastle.asn1.cms.AuthenticatedData.getMacAlgorithm:()Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;
            putfield org.bouncycastle.cms.CMSAuthenticatedData.macAlg:Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;
         7: .line 95
            aload 0 /* this */
            aload 3 /* authData */
            invokevirtual org.bouncycastle.asn1.cms.AuthenticatedData.getAuthAttrs:()Lorg/bouncycastle/asn1/ASN1Set;
            putfield org.bouncycastle.cms.CMSAuthenticatedData.authAttrs:Lorg/bouncycastle/asn1/ASN1Set;
         8: .line 96
            aload 0 /* this */
            aload 3 /* authData */
            invokevirtual org.bouncycastle.asn1.cms.AuthenticatedData.getMac:()Lorg/bouncycastle/asn1/ASN1OctetString;
            invokevirtual org.bouncycastle.asn1.ASN1OctetString.getOctets:()[B
            putfield org.bouncycastle.cms.CMSAuthenticatedData.mac:[B
         9: .line 97
            aload 0 /* this */
            aload 3 /* authData */
            invokevirtual org.bouncycastle.asn1.cms.AuthenticatedData.getUnauthAttrs:()Lorg/bouncycastle/asn1/ASN1Set;
            putfield org.bouncycastle.cms.CMSAuthenticatedData.unauthAttrs:Lorg/bouncycastle/asn1/ASN1Set;
        10: .line 102
            aload 3 /* authData */
            invokevirtual org.bouncycastle.asn1.cms.AuthenticatedData.getEncapsulatedContentInfo:()Lorg/bouncycastle/asn1/cms/ContentInfo;
            astore 5 /* encInfo */
        start local 5 // org.bouncycastle.asn1.cms.ContentInfo encInfo
        11: .line 103
            new org.bouncycastle.cms.CMSProcessableByteArray
            dup
        12: .line 104
            aload 5 /* encInfo */
            invokevirtual org.bouncycastle.asn1.cms.ContentInfo.getContent:()Lorg/bouncycastle/asn1/ASN1Encodable;
            invokestatic org.bouncycastle.asn1.ASN1OctetString.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/ASN1OctetString;
            invokevirtual org.bouncycastle.asn1.ASN1OctetString.getOctets:()[B
        13: .line 103
            invokespecial org.bouncycastle.cms.CMSProcessableByteArray.<init>:([B)V
            astore 6 /* readable */
        start local 6 // org.bouncycastle.cms.CMSReadable readable
        14: .line 109
            aload 0 /* this */
            getfield org.bouncycastle.cms.CMSAuthenticatedData.authAttrs:Lorg/bouncycastle/asn1/ASN1Set;
            ifnull 35
        15: .line 111
            aload 2 /* digestCalculatorProvider */
            ifnonnull 17
        16: .line 113
            new org.bouncycastle.cms.CMSException
            dup
            ldc "a digest calculator provider is required if authenticated attributes are present"
            invokespecial org.bouncycastle.cms.CMSException.<init>:(Ljava/lang/String;)V
            athrow
        17: .line 116
      StackMap locals: org.bouncycastle.asn1.ASN1Set org.bouncycastle.asn1.cms.ContentInfo org.bouncycastle.cms.CMSReadable
      StackMap stack:
            new org.bouncycastle.asn1.cms.AttributeTable
            dup
            aload 0 /* this */
            getfield org.bouncycastle.cms.CMSAuthenticatedData.authAttrs:Lorg/bouncycastle/asn1/ASN1Set;
            invokespecial org.bouncycastle.asn1.cms.AttributeTable.<init>:(Lorg/bouncycastle/asn1/ASN1Set;)V
            astore 7 /* table */
        start local 7 // org.bouncycastle.asn1.cms.AttributeTable table
        18: .line 118
            aload 7 /* table */
            getstatic org.bouncycastle.asn1.cms.CMSAttributes.cmsAlgorithmProtect:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
            invokevirtual org.bouncycastle.asn1.cms.AttributeTable.getAll:(Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;)Lorg/bouncycastle/asn1/ASN1EncodableVector;
            astore 8 /* protectionAttributes */
        start local 8 // org.bouncycastle.asn1.ASN1EncodableVector protectionAttributes
        19: .line 119
            aload 8 /* protectionAttributes */
            invokevirtual org.bouncycastle.asn1.ASN1EncodableVector.size:()I
            iconst_1
            if_icmple 21
        20: .line 121
            new org.bouncycastle.cms.CMSException
            dup
            ldc "Only one instance of a cmsAlgorithmProtect attribute can be present"
            invokespecial org.bouncycastle.cms.CMSException.<init>:(Ljava/lang/String;)V
            athrow
        21: .line 124
      StackMap locals: org.bouncycastle.asn1.cms.AttributeTable org.bouncycastle.asn1.ASN1EncodableVector
      StackMap stack:
            aload 8 /* protectionAttributes */
            invokevirtual org.bouncycastle.asn1.ASN1EncodableVector.size:()I
            ifle 30
        22: .line 126
            aload 8 /* protectionAttributes */
            iconst_0
            invokevirtual org.bouncycastle.asn1.ASN1EncodableVector.get:(I)Lorg/bouncycastle/asn1/ASN1Encodable;
            invokestatic org.bouncycastle.asn1.cms.Attribute.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/cms/Attribute;
            astore 9 /* attr */
        start local 9 // org.bouncycastle.asn1.cms.Attribute attr
        23: .line 127
            aload 9 /* attr */
            invokevirtual org.bouncycastle.asn1.cms.Attribute.getAttrValues:()Lorg/bouncycastle/asn1/ASN1Set;
            invokevirtual org.bouncycastle.asn1.ASN1Set.size:()I
            iconst_1
            if_icmpeq 25
        24: .line 129
            new org.bouncycastle.cms.CMSException
            dup
            ldc "A cmsAlgorithmProtect attribute MUST contain exactly one value"
            invokespecial org.bouncycastle.cms.CMSException.<init>:(Ljava/lang/String;)V
            athrow
        25: .line 132
      StackMap locals: org.bouncycastle.asn1.cms.Attribute
      StackMap stack:
            aload 9 /* attr */
            invokevirtual org.bouncycastle.asn1.cms.Attribute.getAttributeValues:()[Lorg/bouncycastle/asn1/ASN1Encodable;
            iconst_0
            aaload
            invokestatic org.bouncycastle.asn1.cms.CMSAlgorithmProtection.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/cms/CMSAlgorithmProtection;
            astore 10 /* algorithmProtection */
        start local 10 // org.bouncycastle.asn1.cms.CMSAlgorithmProtection algorithmProtection
        26: .line 134
            aload 10 /* algorithmProtection */
            invokevirtual org.bouncycastle.asn1.cms.CMSAlgorithmProtection.getDigestAlgorithm:()Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;
            aload 3 /* authData */
            invokevirtual org.bouncycastle.asn1.cms.AuthenticatedData.getDigestAlgorithm:()Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;
            invokestatic org.bouncycastle.cms.CMSUtils.isEquivalent:(Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;)Z
            ifne 28
        27: .line 136
            new org.bouncycastle.cms.CMSException
            dup
            ldc "CMS Algorithm Identifier Protection check failed for digestAlgorithm"
            invokespecial org.bouncycastle.cms.CMSException.<init>:(Ljava/lang/String;)V
            athrow
        28: .line 139
      StackMap locals: org.bouncycastle.asn1.cms.CMSAlgorithmProtection
      StackMap stack:
            aload 10 /* algorithmProtection */
            invokevirtual org.bouncycastle.asn1.cms.CMSAlgorithmProtection.getMacAlgorithm:()Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;
            aload 0 /* this */
            getfield org.bouncycastle.cms.CMSAuthenticatedData.macAlg:Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;
            invokestatic org.bouncycastle.cms.CMSUtils.isEquivalent:(Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;)Z
            ifne 30
        29: .line 141
            new org.bouncycastle.cms.CMSException
            dup
            ldc "CMS Algorithm Identifier Protection check failed for macAlgorithm"
            invokespecial org.bouncycastle.cms.CMSException.<init>:(Ljava/lang/String;)V
            athrow
        end local 10 // org.bouncycastle.asn1.cms.CMSAlgorithmProtection algorithmProtection
        end local 9 // org.bouncycastle.asn1.cms.Attribute attr
        30: .line 146
      StackMap locals:
      StackMap stack:
            new org.bouncycastle.cms.CMSEnvelopedHelper$CMSDigestAuthenticatedSecureReadable
            dup
            aload 2 /* digestCalculatorProvider */
            aload 3 /* authData */
            invokevirtual org.bouncycastle.asn1.cms.AuthenticatedData.getDigestAlgorithm:()Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;
            invokeinterface org.bouncycastle.operator.DigestCalculatorProvider.get:(Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;)Lorg/bouncycastle/operator/DigestCalculator;
            aload 6 /* readable */
            invokespecial org.bouncycastle.cms.CMSEnvelopedHelper$CMSDigestAuthenticatedSecureReadable.<init>:(Lorg/bouncycastle/operator/DigestCalculator;Lorg/bouncycastle/cms/CMSReadable;)V
            astore 9 /* secureReadable */
        start local 9 // org.bouncycastle.cms.CMSSecureReadable secureReadable
        31: .line 148
            aload 0 /* this */
            aload 4 /* recipientInfos */
            aload 0 /* this */
            getfield org.bouncycastle.cms.CMSAuthenticatedData.macAlg:Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;
            aload 9 /* secureReadable */
            new org.bouncycastle.cms.CMSAuthenticatedData$1
            dup
            aload 0 /* this */
            invokespecial org.bouncycastle.cms.CMSAuthenticatedData$1.<init>:(Lorg/bouncycastle/cms/CMSAuthenticatedData;)V
            invokestatic org.bouncycastle.cms.CMSEnvelopedHelper.buildRecipientInformationStore:(Lorg/bouncycastle/asn1/ASN1Set;Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;Lorg/bouncycastle/cms/CMSSecureReadable;Lorg/bouncycastle/cms/AuthAttributesProvider;)Lorg/bouncycastle/cms/RecipientInformationStore;
            putfield org.bouncycastle.cms.CMSAuthenticatedData.recipientInfoStore:Lorg/bouncycastle/cms/RecipientInformationStore;
        end local 9 // org.bouncycastle.cms.CMSSecureReadable secureReadable
        32: .line 155
            goto 37
        33: .line 156
      StackMap locals:
      StackMap stack: org.bouncycastle.operator.OperatorCreationException
            astore 9 /* e */
        start local 9 // org.bouncycastle.operator.OperatorCreationException e
        34: .line 158
            new org.bouncycastle.cms.CMSException
            dup
            new java.lang.StringBuilder
            dup
            ldc "unable to create digest calculator: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 9 /* 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 9 /* e */
            invokespecial org.bouncycastle.cms.CMSException.<init>:(Ljava/lang/String;Ljava/lang/Exception;)V
            athrow
        end local 9 // org.bouncycastle.operator.OperatorCreationException e
        end local 8 // org.bouncycastle.asn1.ASN1EncodableVector protectionAttributes
        end local 7 // org.bouncycastle.asn1.cms.AttributeTable table
        35: .line 163
      StackMap locals:
      StackMap stack:
            new org.bouncycastle.cms.CMSEnvelopedHelper$CMSAuthenticatedSecureReadable
            dup
            aload 0 /* this */
            getfield org.bouncycastle.cms.CMSAuthenticatedData.macAlg:Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;
            aload 6 /* readable */
            invokespecial org.bouncycastle.cms.CMSEnvelopedHelper$CMSAuthenticatedSecureReadable.<init>:(Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;Lorg/bouncycastle/cms/CMSReadable;)V
            astore 7 /* secureReadable */
        start local 7 // org.bouncycastle.cms.CMSSecureReadable secureReadable
        36: .line 165
            aload 0 /* this */
            aload 4 /* recipientInfos */
            aload 0 /* this */
            getfield org.bouncycastle.cms.CMSAuthenticatedData.macAlg:Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;
            aload 7 /* secureReadable */
            invokestatic org.bouncycastle.cms.CMSEnvelopedHelper.buildRecipientInformationStore:(Lorg/bouncycastle/asn1/ASN1Set;Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;Lorg/bouncycastle/cms/CMSSecureReadable;)Lorg/bouncycastle/cms/RecipientInformationStore;
            putfield org.bouncycastle.cms.CMSAuthenticatedData.recipientInfoStore:Lorg/bouncycastle/cms/RecipientInformationStore;
        end local 7 // org.bouncycastle.cms.CMSSecureReadable secureReadable
        37: .line 167
      StackMap locals:
      StackMap stack:
            return
        end local 6 // org.bouncycastle.cms.CMSReadable readable
        end local 5 // org.bouncycastle.asn1.cms.ContentInfo encInfo
        end local 4 // org.bouncycastle.asn1.ASN1Set recipientInfos
        end local 3 // org.bouncycastle.asn1.cms.AuthenticatedData authData
        end local 2 // org.bouncycastle.operator.DigestCalculatorProvider digestCalculatorProvider
        end local 1 // org.bouncycastle.asn1.cms.ContentInfo contentInfo
        end local 0 // org.bouncycastle.cms.CMSAuthenticatedData this
      LocalVariableTable:
        Start  End  Slot                      Name  Signature
            0   38     0                      this  Lorg/bouncycastle/cms/CMSAuthenticatedData;
            0   38     1               contentInfo  Lorg/bouncycastle/asn1/cms/ContentInfo;
            0   38     2  digestCalculatorProvider  Lorg/bouncycastle/operator/DigestCalculatorProvider;
            3   38     3                  authData  Lorg/bouncycastle/asn1/cms/AuthenticatedData;
            6   38     4            recipientInfos  Lorg/bouncycastle/asn1/ASN1Set;
           11   38     5                   encInfo  Lorg/bouncycastle/asn1/cms/ContentInfo;
           14   38     6                  readable  Lorg/bouncycastle/cms/CMSReadable;
           18   35     7                     table  Lorg/bouncycastle/asn1/cms/AttributeTable;
           19   35     8      protectionAttributes  Lorg/bouncycastle/asn1/ASN1EncodableVector;
           23   30     9                      attr  Lorg/bouncycastle/asn1/cms/Attribute;
           26   30    10       algorithmProtection  Lorg/bouncycastle/asn1/cms/CMSAlgorithmProtection;
           31   32     9            secureReadable  Lorg/bouncycastle/cms/CMSSecureReadable;
           34   35     9                         e  Lorg/bouncycastle/operator/OperatorCreationException;
           36   37     7            secureReadable  Lorg/bouncycastle/cms/CMSSecureReadable;
      Exception table:
        from    to  target  type
          30    32      33  Class org.bouncycastle.operator.OperatorCreationException
    Exceptions:
      throws org.bouncycastle.cms.CMSException
    MethodParameters:
                          Name  Flags
      contentInfo               
      digestCalculatorProvider  

  public org.bouncycastle.cms.OriginatorInformation getOriginatorInfo();
    descriptor: ()Lorg/bouncycastle/cms/OriginatorInformation;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.bouncycastle.cms.CMSAuthenticatedData this
         0: .line 176
            aload 0 /* this */
            getfield org.bouncycastle.cms.CMSAuthenticatedData.originatorInfo:Lorg/bouncycastle/cms/OriginatorInformation;
            areturn
        end local 0 // org.bouncycastle.cms.CMSAuthenticatedData this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/bouncycastle/cms/CMSAuthenticatedData;

  public byte[] getMac();
    descriptor: ()[B
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.bouncycastle.cms.CMSAuthenticatedData this
         0: .line 181
            aload 0 /* this */
            getfield org.bouncycastle.cms.CMSAuthenticatedData.mac:[B
            invokestatic org.bouncycastle.util.Arrays.clone:([B)[B
            areturn
        end local 0 // org.bouncycastle.cms.CMSAuthenticatedData this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/bouncycastle/cms/CMSAuthenticatedData;

  private byte[] encodeObj(org.bouncycastle.asn1.ASN1Encodable);
    descriptor: (Lorg/bouncycastle/asn1/ASN1Encodable;)[B
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // org.bouncycastle.cms.CMSAuthenticatedData this
        start local 1 // org.bouncycastle.asn1.ASN1Encodable obj
         0: .line 188
            aload 1 /* obj */
            ifnull 2
         1: .line 190
            aload 1 /* obj */
            invokeinterface org.bouncycastle.asn1.ASN1Encodable.toASN1Primitive:()Lorg/bouncycastle/asn1/ASN1Primitive;
            invokevirtual org.bouncycastle.asn1.ASN1Primitive.getEncoded:()[B
            areturn
         2: .line 193
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 1 // org.bouncycastle.asn1.ASN1Encodable obj
        end local 0 // org.bouncycastle.cms.CMSAuthenticatedData this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/bouncycastle/cms/CMSAuthenticatedData;
            0    3     1   obj  Lorg/bouncycastle/asn1/ASN1Encodable;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      obj   

  public org.bouncycastle.asn1.x509.AlgorithmIdentifier getMacAlgorithm();
    descriptor: ()Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.bouncycastle.cms.CMSAuthenticatedData this
         0: .line 203
            aload 0 /* this */
            getfield org.bouncycastle.cms.CMSAuthenticatedData.macAlg:Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;
            areturn
        end local 0 // org.bouncycastle.cms.CMSAuthenticatedData this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/bouncycastle/cms/CMSAuthenticatedData;

  public java.lang.String getMacAlgOID();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.bouncycastle.cms.CMSAuthenticatedData this
         0: .line 211
            aload 0 /* this */
            getfield org.bouncycastle.cms.CMSAuthenticatedData.macAlg: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;
            areturn
        end local 0 // org.bouncycastle.cms.CMSAuthenticatedData this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/bouncycastle/cms/CMSAuthenticatedData;

  public byte[] getMacAlgParams();
    descriptor: ()[B
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=1
        start local 0 // org.bouncycastle.cms.CMSAuthenticatedData this
         0: .line 222
            aload 0 /* this */
            aload 0 /* this */
            getfield org.bouncycastle.cms.CMSAuthenticatedData.macAlg:Lorg/bouncycastle/asn1/x509/AlgorithmIdentifier;
            invokevirtual org.bouncycastle.asn1.x509.AlgorithmIdentifier.getParameters:()Lorg/bouncycastle/asn1/ASN1Encodable;
            invokevirtual org.bouncycastle.cms.CMSAuthenticatedData.encodeObj:(Lorg/bouncycastle/asn1/ASN1Encodable;)[B
         1: areturn
         2: .line 224
      StackMap locals:
      StackMap stack: java.lang.Exception
            astore 1 /* e */
        start local 1 // java.lang.Exception e
         3: .line 226
            new java.lang.RuntimeException
            dup
            new java.lang.StringBuilder
            dup
            ldc "exception getting encryption parameters "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* e */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
            athrow
        end local 1 // java.lang.Exception e
        end local 0 // org.bouncycastle.cms.CMSAuthenticatedData this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lorg/bouncycastle/cms/CMSAuthenticatedData;
            3    4     1     e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           0     1       2  Class java.lang.Exception

  public org.bouncycastle.cms.RecipientInformationStore getRecipientInfos();
    descriptor: ()Lorg/bouncycastle/cms/RecipientInformationStore;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.bouncycastle.cms.CMSAuthenticatedData this
         0: .line 235
            aload 0 /* this */
            getfield org.bouncycastle.cms.CMSAuthenticatedData.recipientInfoStore:Lorg/bouncycastle/cms/RecipientInformationStore;
            areturn
        end local 0 // org.bouncycastle.cms.CMSAuthenticatedData this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/bouncycastle/cms/CMSAuthenticatedData;

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

  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.CMSAuthenticatedData this
         0: .line 252
            aload 0 /* this */
            getfield org.bouncycastle.cms.CMSAuthenticatedData.contentInfo:Lorg/bouncycastle/asn1/cms/ContentInfo;
            areturn
        end local 0 // org.bouncycastle.cms.CMSAuthenticatedData this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/bouncycastle/cms/CMSAuthenticatedData;

  public org.bouncycastle.asn1.cms.AttributeTable getAuthAttrs();
    descriptor: ()Lorg/bouncycastle/asn1/cms/AttributeTable;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.bouncycastle.cms.CMSAuthenticatedData this
         0: .line 261
            aload 0 /* this */
            getfield org.bouncycastle.cms.CMSAuthenticatedData.authAttrs:Lorg/bouncycastle/asn1/ASN1Set;
            ifnonnull 2
         1: .line 263
            aconst_null
            areturn
         2: .line 266
      StackMap locals:
      StackMap stack:
            new org.bouncycastle.asn1.cms.AttributeTable
            dup
            aload 0 /* this */
            getfield org.bouncycastle.cms.CMSAuthenticatedData.authAttrs:Lorg/bouncycastle/asn1/ASN1Set;
            invokespecial org.bouncycastle.asn1.cms.AttributeTable.<init>:(Lorg/bouncycastle/asn1/ASN1Set;)V
            areturn
        end local 0 // org.bouncycastle.cms.CMSAuthenticatedData this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/bouncycastle/cms/CMSAuthenticatedData;

  public org.bouncycastle.asn1.cms.AttributeTable getUnauthAttrs();
    descriptor: ()Lorg/bouncycastle/asn1/cms/AttributeTable;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.bouncycastle.cms.CMSAuthenticatedData this
         0: .line 275
            aload 0 /* this */
            getfield org.bouncycastle.cms.CMSAuthenticatedData.unauthAttrs:Lorg/bouncycastle/asn1/ASN1Set;
            ifnonnull 2
         1: .line 277
            aconst_null
            areturn
         2: .line 280
      StackMap locals:
      StackMap stack:
            new org.bouncycastle.asn1.cms.AttributeTable
            dup
            aload 0 /* this */
            getfield org.bouncycastle.cms.CMSAuthenticatedData.unauthAttrs:Lorg/bouncycastle/asn1/ASN1Set;
            invokespecial org.bouncycastle.asn1.cms.AttributeTable.<init>:(Lorg/bouncycastle/asn1/ASN1Set;)V
            areturn
        end local 0 // org.bouncycastle.cms.CMSAuthenticatedData this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/bouncycastle/cms/CMSAuthenticatedData;

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

  public byte[] getContentDigest();
    descriptor: ()[B
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // org.bouncycastle.cms.CMSAuthenticatedData this
         0: .line 294
            aload 0 /* this */
            getfield org.bouncycastle.cms.CMSAuthenticatedData.authAttrs:Lorg/bouncycastle/asn1/ASN1Set;
            ifnull 2
         1: .line 296
            aload 0 /* this */
            invokevirtual org.bouncycastle.cms.CMSAuthenticatedData.getAuthAttrs:()Lorg/bouncycastle/asn1/cms/AttributeTable;
            getstatic org.bouncycastle.asn1.cms.CMSAttributes.messageDigest:Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;
            invokevirtual org.bouncycastle.asn1.cms.AttributeTable.get:(Lorg/bouncycastle/asn1/ASN1ObjectIdentifier;)Lorg/bouncycastle/asn1/cms/Attribute;
            invokevirtual org.bouncycastle.asn1.cms.Attribute.getAttrValues:()Lorg/bouncycastle/asn1/ASN1Set;
            iconst_0
            invokevirtual org.bouncycastle.asn1.ASN1Set.getObjectAt:(I)Lorg/bouncycastle/asn1/ASN1Encodable;
            invokestatic org.bouncycastle.asn1.ASN1OctetString.getInstance:(Ljava/lang/Object;)Lorg/bouncycastle/asn1/ASN1OctetString;
            invokevirtual org.bouncycastle.asn1.ASN1OctetString.getOctets:()[B
            areturn
         2: .line 299
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 0 // org.bouncycastle.cms.CMSAuthenticatedData this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/bouncycastle/cms/CMSAuthenticatedData;
}
SourceFile: "CMSAuthenticatedData.java"
NestMembers:
  org.bouncycastle.cms.CMSAuthenticatedData$1
InnerClasses:
  org.bouncycastle.cms.CMSAuthenticatedData$1
  CMSAuthenticatedSecureReadable = org.bouncycastle.cms.CMSEnvelopedHelper$CMSAuthenticatedSecureReadable of org.bouncycastle.cms.CMSEnvelopedHelper
  CMSDigestAuthenticatedSecureReadable = org.bouncycastle.cms.CMSEnvelopedHelper$CMSDigestAuthenticatedSecureReadable of org.bouncycastle.cms.CMSEnvelopedHelper