Scroll to navigation

SMIME_WRITE_PKCS7(3SSL) OpenSSL SMIME_WRITE_PKCS7(3SSL)

NOM

SMIME_write_PKCS7 - Convertir une structure PKCS#7 au format S/MIME

SYNOPSIS

 #include <openssl/pkcs7.h>
 int SMIME_write_PKCS7(BIO *out, PKCS7 *p7, BIO *data, int flags);

DESCRIPTION

SMIME_write_PKCS7() ajoute les en-têtes MIME appropriés à une structure PKCS#7 pour produire un message S/MIME.

out est le BIO où écrire les données. p7 est la structure PKCS7 appropriée. Si le flux est activé, alors le contenu doit être fourni dans l'argument data. flags est un jeu d'attributs facultatif.

NOTES

Les attributs suivants peuvent être passés dans le paramètre flags.

Si PKCS7_DETACHED est défini, alors la signature en texte clair sera utilisée. Cette option n'a de sens que pour signedData, où PKCS7_DETACHED est aussi défini quand PKCS7_sign() est appelée.

Si l'attribut PKCS7_TEXT est défini, les en-têtes MIME pour le type text/plain sont ajoutés au contenu. Cela n'a de sens que si PKCS7_DETACHED est aussi défini.

Si l'attribut PKCS7_STREAM est défini, un flux est réalisé. Cet attribut ne devrait être défini que si PKCS7_STREAM était aussi défini dans l'appel précédent de PKCS7_sign() ou PKCS7_encrypt().

Si la signature en texte clair est utilisée et que PKCS7_STREAM n'est pas défini, alors les données doivent être lues deux fois : une fois pour calculer la signature dans PKCS7_sign(), et une fois pour afficher le message S/MIME.

Si un flux est réalisé, le contenu est affiché au format BER en utilisant un encodage construit de taille indéfinie, sauf dans le cas de données signées avec contenu détaché où le contenu est absent et alors le format DER est utilisé.

BOGUES

SMIME_write_PKCS7() encode toujours en base64 les structures PKCS#7, il devrait y avoir une option permettant de désactiver cela.

VALEURS RENVOYÉES

SMIME_write_PKCS7() renvoie 1 en cas de réussite et 0 en cas d'échec.

VOIR AUSSI

ERR_get_error(3), PKCS7_sign(3), PKCS7_verify(3), PKCS7_encrypt(3) PKCS7_decrypt(3)

COPYRIGHT

Copyright 2002-2016 Les auteurs du projet OpenSSL. Tous droits réservés.

Sous licence Apache 2.0 (la « Licence »). Vous ne pouvez utiliser ce fichier que conformément à la Licence. Vous trouverez une copie dans le fichier LICENSE de la distribution du source ou à l'adresse <https://www.openssl.org/source/license.html>.

TRADUCTION

La traduction française de cette page de manuel a été créée par David Prévot <david@tilapin.org>

Cette traduction est une documentation libre ; veuillez vous reporter à la GNU General Public License version 3 concernant les conditions de copie et de distribution. Il n'y a aucune RESPONSABILITÉ LÉGALE.

Si vous découvrez un bogue dans la traduction de cette page de manuel, veuillez envoyer un message à debian-l10n-french@lists.debian.org.

29 septembre 2026 3.6.5