Provided by: manpages-fr-extra_20151231_all bug

NOM

       PKCS7_sign - Créer une structure PKCS#7 signedData

SYNOPSIS

       #include <openssl/pkcs7.h>

       PKCS7 *PKCS7_sign(X509 *signcert, EVP_PKEY *clé_privée, STACK_OF(X509) *certs, BIO
       *données, int drapeaux);

DESCRIPTION

       PKCS7_sign() crée et renvoie une structure PKCS#7 signedData. signcert est le certificat
       utilisé pour signer, clé_privée est la clé privée correspondante. certs est un ensemble
       supplémentaire et facultatif de certificats à inclure dans la structure PKCS7 (par
       exemple, les autorités de certification intermédiaires dans la chaîne).

       Les données à signer sont lues à partir du BIO données.

       drapeaux est un jeu facultatif d'attributs.

NOTES

       N'importe lequel des attributs suivants (disjoints) peut être passé dans le paramètre
       drapeaux.

       De nombreux clients S/MIME s'attendent à ce que le contenu signé inclut des en-tête MIME
       valables. 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.

       Si PKCS7_NOCERTS est défini, le certificat du signataire ne sera pas inclus dans la
       structure PKCS7, le certificat du signataire doit tout de même être fourni dans le
       paramètre signcert. Cela peut réduire la taille de la signature si le certificat du
       signataire peut être obtenu par d'autres moyens : par exemple un message précédemment
       signé.

       Les données en cours de signature sont incluses dans la structure PKCS7, sauf si
       PKCS7_DETACHED est défini, auquel cas elles sont omises. C'est utilisé pour les signatures
       détachées PKCS#7 qui sont utilisées dans les messages signés en texte S/MIME par exemple.

       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.

       La structure signedData contient plusieurs PKCS#7 autenticatedAttributes, y compris
       l'heure de signature, le type de contenu PKCS#7 et la liste d'algorithmes de signature
       pris en charge dans un attribut SMIMECapabilities. Si PKCS7_NOATTR est défini, alors aucun
       authenticatedAttributes ne sera utilisé. Si PKCS7_NOSMIMECAP est défini, alors seules les
       SMIMECapabilities sont omises.

       S'il existe, l'attribut SMIMECapabilities indique la prise en charge des algorithmes
       suivants : DES triple, RC2 128 bits, RC2 64 bits, DES et RC2 40 bits. Si un de ces
       algorithmes est désactivé, alors il ne sera pas inclus.

       Si l'attribut PKCS7_STREAM est défini, alors la structure PKCS7 renvoyée est simplement
       initialisée, prête à réaliser l'opération de signature. La signature n'est cependant pas
       réalisée et les données à signer ne sont pas lues à partir du paramètre données. La
       signature est reportée jusqu'après l'écriture des données. De cette façon, les données
       peuvent être signées en une seule passe.

       Si l'attribut PKCS7_PARTIAL est défini, une structure PKCS7 partielle est produite, à
       laquelle des signataires et des capacités supplémentaires peuvent être ajoutés avant la
       finalisation.

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().

       Si un signataire est indiqué, il utilisera l'algorithme de signature par défaut pour
       l'algorithme de signature. C'est SHA1 à la fois pour les clés RSA et DSA.

       Dans la version 1.0.0 d'OpenSSL, les paramètres certs, signcert et clé_privée peuvent tous
       être NULL si l'attribut PKCS7_PARTIAL est défini. Au moins un signataire peut être ajouté
       en utilisant la fonction PKCS7_sign_add_signer(). PKCS7_final() doit aussi être appelée
       pour finaliser la structure si le flux n'est pas activé. Des algorithmes de signatures
       alternatifs peuvent aussi être indiqués en utilisant cette méthode.

       Dans la version 1.0.0 d'OpenSSL, si signcert et clé_privée sont NULL, alors une structure
       PKCS7 de certificats seulement est produite.

       Avant la version 1.0.0 d'OpenSSL, les paramètres signcert et pkey ne doivent pas être
       NULL.

BOGUES

       Certains attributs avancés comme les contre-signatures ne sont pas pris en charge.

VALEURS DE RETOUR

       PKCS7_sign() renvoie soit une structure PKCS7 valable, 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_verify(3)

HISTORIQUE

       PKCS7_sign() a été ajoutée dans la version 0.9.5 d'OpenSSL

       L'attribut PKCS7_PARTIAL a été ajouté dans la version 1.0.0 d'OpenSSL.

       L'attribut PKCS7_STREAM a été ajouté 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.