DOC HOME SITE MAP MAN PAGES GNU INFO SEARCH PRINT BOOK
 

SMIME_read_CMS(3)




SMIME_read_CMS(3)            OpenSSL            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.

     in is a BIO to read the message from.

     If cleartext signing is used then the content is saved in a
     memory bio which is written to *bcont, otherwise *bcont is
     set to NULL.

     The parsed CMS_ContentInfo structure is returned or NULL if
     an error occurred.


NOTES

     If *bcont is not NULL then the message is clear text signed.
     *bcont can then be passed to CMS_verify() with the
     CMS_DETACHED flag set.

     Otherwise the type of the returned structure can be
     determined using CMS_get0_type().

     To support future functionality if bcont is not NULL *bcont
     should be initialized to NULL. For example:

      BIO *cont = NULL;
      CMS_ContentInfo *cms;

      cms = SMIME_read_CMS(in, &cont);


BUGS

     The MIME parser used by SMIME_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 message which can be processed due to memory
     restraints: a streaming single pass option should be
     available.


RETURN VALUES

     SMIME_read_CMS() returns a valid CMS_ContentInfo structure

1.0.2t               Last change: 2019-09-10                    1

SMIME_read_CMS(3)            OpenSSL            SMIME_read_CMS(3)

     or NULL if an error occurred. The error can be obtained from
     ERR_get_error(3).


SEE ALSO

     ERR_get_error(3), CMS_type(3) SMIME_read_CMS(3),
     CMS_sign(3), CMS_verify(3), CMS_encrypt(3) CMS_decrypt(3)


HISTORY

     SMIME_read_CMS() was added to OpenSSL 0.9.8

1.0.2t               Last change: 2019-09-10                    2


Man(1) output converted with man2html