|SMIME_READ_CMS(3)||Library Functions Manual||SMIME_READ_CMS(3)|
parse S/MIME message
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
CMS_DETACHED flag set. Otherwise,
*bcont is set to
NULL and the
type of the returned structure can be determined using
To support future functionality if bcont is
NULL, *bcont should be
NULL, for example:
BIO *cont = NULL; CMS_ContentInfo *cms = SMIME_read_CMS(in, &cont);
SMIME_read_CMS() returns a valid
CMS_ContentInfo structure or
NULL if an error occurred. The error can be obtained
SMIME_read_CMS() first appeared in OpenSSL
0.9.8h and has been available since OpenBSD 6.7.
The MIME parser used by
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||OpenBSD-current|