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.
| SMIME_WRITE_ASN1(3) | Library Functions Manual | SMIME_WRITE_ASN1(3) | 
NAME
SMIME_write_ASN1 —
    generate an S/MIME message
SYNOPSIS
#include
    <openssl/asn1.h>
int
  
  SMIME_write_ASN1(BIO *out_bio,
    ASN1_VALUE *val_in, BIO *in_bio,
    int flags, int ctype_nid,
    int econt_nid, STACK_OF(X509_ALGOR)
    *micalg, const ASN1_ITEM *it);
DESCRIPTION
SMIME_write_ASN1()
    generates an S/MIME message on out_bio by writing MIME
    1.0 headers followed by a BER- and base64-encoded serialization of
    val_in, which can be of the type
    CMS_ContentInfo or PKCS7 and has
    to match the it argument.
The flags can be the logical OR of zero or more of the following bits:
- PKCS7_REUSE_DIGEST
- Skip the calls to
      PKCS7_dataInit(3)
      and
      PKCS7_dataFinal(3).
      This flag has no effect unless SMIME_DETACHEDis also set. It is normally used if out_bio is already set up to calculate and finalize the digest when written through.
- SMIME_BINARY
- If specified, this flag is passed through to SMIME_crlf_copy(3).
- SMIME_CRLFEOL
- End MIME header lines with pairs of carriage return and newline characters. By default, no carriage return characters are written and header lines are ended with newline characters only.
- SMIME_DETACHED
- Use cleartext signing. Generate a "multipart/signed" S/MIME
      message using the micalg argument and ignoring the
      ctype_nid and econt_nid
      arguments. The content is read from in_bio. If
      in_bio is a NULLpointer, this flag is ignored.If this flag is ignored or not specified, the smime-type is chosen according to ctype_nid instead: - NID_pkcs7_enveloped
- "enveloped-data"
- NID_pkcs7_signed
- "signed-receipt" if econt_nid is
          NID_id_smime_ct_receipt
 "signed-data" if micalg is not empty
 "certs-only" if micalg is empty
- NID_id_smime_ct_compressedData
- "compressed-data"
 
- SMIME_OLDMIME
- In Content-Type headers, use "application/x-pkcs7-mime" or "application/x-pkcs7-signature". By default, "application/pkcs7-mime" or "application/pkcs7-signature" are used instead.
- SMIME_STREAM
- Perform streaming by reading the content from
      in_bio. This only works if
      SMIME_DETACHEDis not specified.
- SMIME_TEXT
- Prepend the line "Content-Type: text/plain" to the content. This
      only makes sense if SMIME_DETACHEDis also set. It is ignored if the flagSMIME_BINARYis also set.
RETURN VALUES
SMIME_write_ASN1() is intended to return 1
    on success or 0 on failure.
SEE ALSO
ASN1_item_i2d_bio(3), BIO_f_base64(3), BIO_new(3), SMIME_crlf_copy(3), SMIME_write_CMS(3), SMIME_write_PKCS7(3), X509_ALGOR_new(3)
HISTORY
SMIME_write_ASN1() first appeared in
    OpenSSL 1.0.0 and has been available since OpenBSD
    4.9.
BUGS
SMIME_write_ASN1() ignores most errors and
    is likely to return 1 even after producing corrupt or incomplete output.
| May 1, 2023 | Sortix 1.1.0-dev | 
