Sortix nightly manual
This manual documents Sortix nightly, a development build that has not been officially released. You can instead view this document in the latest official manual.
CMS_GET0_TYPE(3) | Library Functions Manual | CMS_GET0_TYPE(3) |
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
the ContentInfo structure
cms. The
ASN1_OBJECT value returned can be converted
to an integer NID value using
OBJ_obj2nid(3).
The following content types are identified by the following NIDs:
SignedData | NID_pkcs7_signed |
EnvelopedData | NID_pkcs7_enveloped |
DigestedData | NID_pkcs7_digest |
EncryptedData | NID_pkcs7_encrypted |
AuthenticatedData | NID_id_smime_ct_authData |
CompressedData | NID_id_smime_ct_compressedData |
arbitrary data | NID_pkcs7_data |
CMS_set1_eContentType
(), to be
called on cms structures returned from
functions such as
CMS_sign(3) or
CMS_encrypt(3)
with the CMS_PARTIAL
flag set and
before the structure is finalised; otherwise the
results are undefined.
CMS_set1_eContentType
() copies the supplied
oid, so it should be freed up after use.
CMS_get0_eContentType
() returns the type of
the embedded content.
CMS_get0_content
() returns a pointer to the
storage location where the pointer to the embedded content is stored. That
means that for example after
ASN1_OCTET_STRING **pconf =
CMS_get0_content(cms);
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 internal
pointers to OBJECT IDENTIFIER structures.
CMS_get0_content
() returns an internal
pointer to the storage location where the pointer to the embedded content is
stored.
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
CMS_ContentInfo_new(3), d2i_CMS_ContentInfo(3), SMIME_read_CMS(3)STANDARDS
RFC 5652: Cryptographic Message Syntax RFC 3274: Compressed Data Content Type for Cryptographic Message Syntax (CMS)HISTORY
These functions first appeared in OpenSSL 0.9.8h and have been available since OpenBSD 6.7.November 2, 2019 | Debian |