Provided by: manpages-fr-extra_20151231_all 

NOM
PKCS7_encrypt - Créer une structure PKCS#7 envelopedData
SYNOPSIS
#include <openssl/pkcs7.h>
PKCS7 *PKCS7_encrypt(STACK_OF(X509) *certs, BIO *in, const EVP_CIPHER *cipher, int drapeaux);
DESCRIPTION
PKCS7_encrypt() crée et renvoie une structure PKCS#7 envelopedData. certs est une liste de certificats de
destinataire. in est le contenu à chiffrer. cipher est l'algorithme de chiffrement symétrique à utiliser.
drapeaux est un ensemble facultatif d'attributs.
NOTES
Seules les clés RSA sont prises en charge dans PKCS7 et envelopedData, donc les certificats de
destinataire fournis à cette fonction doivent tous contenir des clés publiques RSA, mais ils n'ont pas
besoin d'être signés en utilisant l'algorithme RSA.
EVP_des_ede3_cbc() (DES triple) est l'algorithme de choix pour l'utilisation de S/MIME parce que la
plupart des clients l'accepteront.
Certains vieux clients autorisés à l'exportation (« export grade ») pourraient ne permettre qu'un
chiffrement faible utilisant RC2 en 40 ou 64 bits. Ils peuvent être utilisés en passant respectivement
EVP_rc2_40_cbc() et EVP_rc2_64_cbc().
L'algorithme passé dans le paramètre cipher doit permettre l'encodage ASN1 de ses paramètres.
De nombreux navigateurs implémentent une option pour « signer et chiffrer » qui est simplement une S/MIME
envelopedData contenant un message signé S/MIME. Cela peut être facilement produit en stockant le message
signé S/MIME dans un BIO mémoire et en le passant à PKCS7_encrypt().
Les attributs suivants peuvent être passés dans le paramètre drapeaux.
Si l'attribut PKCS7_TEXT est défini, les données sont précédées des en-têtes MIME pour le type
text/plain.
Normalement, le contenu fourni est traduit en format canonique MIME (comme exigé par les spécifications
S/MIME) ; si PKCS7_BINARY est défini, aucune traduction n'est effectuée. Cette option devrait être
utilisée si les données fournies sont en format binaire, sinon la traduction va les corrompre. Si
PKCS7_BINARY est défini, alors PKCS7_TEXT est ignoré.
Si l'attribut PKCS7_STREAM est défini, une structure PKCS7 partielle est produite, appropriée pour les
entrées et sorties en flux : aucune donnée n'est lue du BIO in.
NOTES
Si l'attribut PKCS7_STREAM est défini, la structure PKCS7 renvoyée n'est pas terminée, et afficher son
contenu par l'intermédiaire d'une fonction qui ne finalise pas correctement la structure PKCS7 produira
des résultats imprévisibles.
Plusieurs fonctions, y compris SMIME_write_PKCS7(), i2d_PKCS7_bio_stream() et
PEM_write_bio_PKCS7_stream(), finalisent la structure. Sinon, la finalisation peut être réalisée en
obtenant directement le BIO de flux ASN1 avec BIO_new_PKCS7().
VALEURS DE RETOUR
PKCS7_encrypt() renvoie soit une structure PKCS7, soit NULL en cas d'erreur. L'erreur peut être obtenue à
l'aide de ERR_get_error(3).
VOIR AUSSI
ERR_get_error(3), PKCS7_decrypt(3)
HISTORIQUE
PKCS7_decrypt() a été ajoutée dans la version 0.9.5 d'OpenSSL. L'attribut PKCS7_STREAM a été pris en
charge la première fois dans la version 1.0.0 d'OpenSSL.
TRADUCTION
La traduction de cette page de manuel est maintenue par les membres de la liste <debian-l10n-french AT
lists DOT debian DOT org>. Veuillez signaler toute erreur de traduction par un rapport de bogue sur le
paquet manpages-fr-extra.
1.0.2a 1.0.2c 2015-12-31 fr::crypto::PKCS7_encrypt(3SSL)