Provided by: libssl-doc_3.0.13-0ubuntu3.5_all bug

NAME

       CMS_get0_type, CMS_set1_eContentType, CMS_get0_eContentType, CMS_get0_content - get and set CMS content
       types and content

SYNOPSIS

        #include <openssl/cms.h>

        const ASN1_OBJECT *CMS_get0_type(const CMS_ContentInfo *cms);
        int CMS_set1_eContentType(CMS_ContentInfo *cms, const ASN1_OBJECT *oid);
        const ASN1_OBJECT *CMS_get0_eContentType(CMS_ContentInfo *cms);
        ASN1_OCTET_STRING **CMS_get0_content(CMS_ContentInfo *cms);

DESCRIPTION

       CMS_get0_type() returns the content type of a CMS_ContentInfo structure as an ASN1_OBJECT pointer. An
       application can then decide how to process the CMS_ContentInfo structure based on this value.

       CMS_set1_eContentType() sets the embedded content type of a CMS_ContentInfo structure. It should be
       called with CMS functions (such as CMS_sign(3), CMS_encrypt(3)) with the CMS_PARTIAL flag and before the
       structure is finalised, otherwise the results are undefined.

       ASN1_OBJECT *CMS_get0_eContentType() returns a pointer to the embedded content type.

       CMS_get0_content() returns a pointer to the ASN1_OCTET_STRING pointer containing the embedded content.

NOTES

       As the 0 implies CMS_get0_type(), CMS_get0_eContentType() and CMS_get0_content() return internal pointers
       which should not be freed up.  CMS_set1_eContentType() copies the supplied OID and it should be freed up
       after use.

       The ASN1_OBJECT values returned can be converted to an integer NID value using OBJ_obj2nid(). For the
       currently supported content types the following values are returned:

        NID_pkcs7_data
        NID_pkcs7_signed
        NID_pkcs7_digest
        NID_id_smime_ct_compressedData:
        NID_pkcs7_encrypted
        NID_pkcs7_enveloped

       The return value of CMS_get0_content() is a pointer to the ASN1_OCTET_STRING content pointer. That means
       that for example:

        ASN1_OCTET_STRING **pconf = CMS_get0_content(cms);

       *pconf could be NULL if there is no embedded content. Applications can access, modify or create the
       embedded content in a CMS_ContentInfo structure using this function. Applications usually will not need
       to modify the embedded content as it is normally set by higher level functions.

RETURN VALUES

       CMS_get0_type() and CMS_get0_eContentType() return an ASN1_OBJECT structure.

       CMS_set1_eContentType() returns 1 for success or 0 if an error occurred.  The error can be obtained from
       ERR_get_error(3).

SEE ALSO

       ERR_get_error(3)

COPYRIGHT

       Copyright 2008-2016 The OpenSSL Project Authors. All Rights Reserved.

       Licensed under the Apache License 2.0 (the "License").  You may not use this file except in compliance
       with the License.  You can obtain a copy in the file LICENSE in the source distribution or at
       <https://www.openssl.org/source/license.html>.