You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
77 lines
2.5 KiB
77 lines
2.5 KiB
=pod |
|
|
|
=head1 NAME |
|
|
|
CMS_get0_type, CMS_set1_eContentType, CMS_get0_eContentType, CMS_get0_content - get and set CMS content types and content |
|
|
|
=head1 SYNOPSIS |
|
|
|
#include <openssl/cms.h> |
|
|
|
const ASN1_OBJECT *CMS_get0_type(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); |
|
|
|
=head1 DESCRIPTION |
|
|
|
CMS_get0_type() returns the content type of a CMS_ContentInfo structure as |
|
and 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 with the B<CMS_PARTIAL> |
|
flag and B<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 B<ASN1_OCTET_STRING> pointer |
|
containing the embedded content. |
|
|
|
=head1 NOTES |
|
|
|
As the B<0> implies CMS_get0_type(), CMS_get0_eContentType() and |
|
CMS_get0_content() return internal pointers which should B<not> be freed up. |
|
CMS_set1_eContentType() copies the supplied OID and it B<should> be freed up |
|
after use. |
|
|
|
The B<ASN1_OBJECT> values returned can be converted to an integer B<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 B<ASN1_OCTET_STRING> |
|
content pointer. That means that for example: |
|
|
|
ASN1_OCTET_STRING **pconf = CMS_get0_content(cms); |
|
|
|
B<*pconf> could be NULL if there is no embedded content. Applications can |
|
access, modify or create the embedded content in a B<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. |
|
|
|
=head1 RETURN VALUES |
|
|
|
CMS_get0_type() and CMS_get0_eContentType() return and 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). |
|
|
|
=head1 SEE ALSO |
|
|
|
L<ERR_get_error(3)|ERR_get_error(3)> |
|
|
|
=head1 HISTORY |
|
|
|
CMS_get0_type(), CMS_set1_eContentType() and CMS_get0_eContentType() were all |
|
first added to OpenSSL 0.9.8 |
|
|
|
=cut
|
|
|