Class AuthenticatedData

  • All Implemented Interfaces:
    org.bouncycastle.asn1.ASN1Encodable, org.bouncycastle.util.Encodable

    public class AuthenticatedData
    extends org.bouncycastle.asn1.ASN1Object
    RFC 5652 section 9.1: The AuthenticatedData carries AuthAttributes and other data which define what really is being signed.
     AuthenticatedData ::= SEQUENCE {
           version CMSVersion,
           originatorInfo [0] IMPLICIT OriginatorInfo OPTIONAL,
           recipientInfos RecipientInfos,
           macAlgorithm MessageAuthenticationCodeAlgorithm,
           digestAlgorithm [1] DigestAlgorithmIdentifier OPTIONAL,
           encapContentInfo EncapsulatedContentInfo,
           authAttrs [2] IMPLICIT AuthAttributes OPTIONAL,
           mac MessageAuthenticationCode,
           unauthAttrs [3] IMPLICIT UnauthAttributes OPTIONAL }
    
     AuthAttributes ::= SET SIZE (1..MAX) OF Attribute
    
     UnauthAttributes ::= SET SIZE (1..MAX) OF Attribute
    
     MessageAuthenticationCode ::= OCTET STRING
     
    • Constructor Detail

      • AuthenticatedData

        public AuthenticatedData​(OriginatorInfo originatorInfo,
                                 org.bouncycastle.asn1.ASN1Set recipientInfos,
                                 org.bouncycastle.asn1.x509.AlgorithmIdentifier macAlgorithm,
                                 org.bouncycastle.asn1.x509.AlgorithmIdentifier digestAlgorithm,
                                 ContentInfo encapsulatedContent,
                                 org.bouncycastle.asn1.ASN1Set authAttrs,
                                 org.bouncycastle.asn1.ASN1OctetString mac,
                                 org.bouncycastle.asn1.ASN1Set unauthAttrs)
    • Method Detail

      • getInstance

        public static AuthenticatedData getInstance​(org.bouncycastle.asn1.ASN1TaggedObject obj,
                                                    boolean explicit)
        Return an AuthenticatedData object from a tagged object.
        Parameters:
        obj - the tagged object holding the object we want.
        explicit - true if the object is meant to be explicitly tagged false otherwise.
        Returns:
        a reference that can be assigned to AuthenticatedData (may be null)
        Throws:
        java.lang.IllegalArgumentException - if the object held by the tagged object cannot be converted.
      • getInstance

        public static AuthenticatedData getInstance​(java.lang.Object obj)
        Return an AuthenticatedData object from the given object.

        Accepted inputs:

        • null → null
        • AuthenticatedData object
        • ASN1Sequence input formats with AuthenticatedData structure inside
        Parameters:
        obj - the object we want converted.
        Returns:
        a reference that can be assigned to AuthenticatedData (may be null)
        Throws:
        java.lang.IllegalArgumentException - if the object cannot be converted.
      • getVersion

        public org.bouncycastle.asn1.ASN1Integer getVersion()
      • getRecipientInfos

        public org.bouncycastle.asn1.ASN1Set getRecipientInfos()
      • getMacAlgorithm

        public org.bouncycastle.asn1.x509.AlgorithmIdentifier getMacAlgorithm()
      • getDigestAlgorithm

        public org.bouncycastle.asn1.x509.AlgorithmIdentifier getDigestAlgorithm()
      • getEncapsulatedContentInfo

        public ContentInfo getEncapsulatedContentInfo()
      • getAuthAttrs

        public org.bouncycastle.asn1.ASN1Set getAuthAttrs()
      • getMac

        public org.bouncycastle.asn1.ASN1OctetString getMac()
      • getUnauthAttrs

        public org.bouncycastle.asn1.ASN1Set getUnauthAttrs()
      • toASN1Primitive

        public org.bouncycastle.asn1.ASN1Primitive toASN1Primitive()
        Produce an object suitable for an ASN1OutputStream.
        Specified by:
        toASN1Primitive in interface org.bouncycastle.asn1.ASN1Encodable
        Specified by:
        toASN1Primitive in class org.bouncycastle.asn1.ASN1Object
      • calculateVersion

        public static int calculateVersion​(OriginatorInfo origInfo)