Sortix 1.1dev nightly manual
This manual documents Sortix 1.1dev nightly, a development build that has not been officially released. You can instead view this document in the latest official manual.
SMIME_READ_CMS(3) | Library Functions Manual | SMIME_READ_CMS(3) |
NAME
SMIME_read_CMS
—
parse S/MIME message
SYNOPSIS
#include
<openssl/cms.h>
CMS_ContentInfo *
SMIME_read_CMS
(BIO
*in, BIO **bcont);
DESCRIPTION
SMIME_read_CMS
() parses a message in S/MIME
format from in.
If the message uses cleartext signing, the content is saved in a memory BIO
which is written to *bcont and which can then
be passed to
CMS_verify(3)
with the CMS_DETACHED
flag set. Otherwise,
*bcont is set to
NULL
and the type of the returned structure
can be determined using
CMS_get0_type(3).
To support future functionality if bcont is not
NULL
,
*bcont should be initialized to
NULL
, for example:
BIO *cont = NULL; CMS_ContentInfo *cms = SMIME_read_CMS(in, &cont);
RETURN VALUES
SMIME_read_CMS
() returns a valid
CMS_ContentInfo structure or
NULL
if an error occurred. The error can be
obtained from
ERR_get_error(3).
SEE ALSO
CMS_ContentInfo_new(3), CMS_decrypt(3), CMS_get0_type(3), CMS_verify(3), d2i_CMS_ContentInfo(3), SMIME_write_CMS(3)HISTORY
SMIME_read_CMS
() first appeared in OpenSSL
0.9.8h and has been available since OpenBSD 6.7.
BUGS
The MIME parser used bySMIME_read_CMS
() is
somewhat primitive. While it will handle most S/MIME messages, more complex
compound formats may not work.
The parser assumes that the CMS_ContentInfo
structure is always base64 encoded and will not handle the case where it is in
binary format or uses quoted printable format.
The use of a memory BIO to hold the signed content limits the size of the
message which can be processed due to memory restraints: a streaming single
pass option should be available.November 2, 2019 | Debian |