NOM¶
PKCS7_sign_add_signer - Ajouter un signataire à une structure
signée de données PKCS7
SYNOPSIS¶
#include <openssl/pkcs7.h>
PKCS7_SIGNER_INFO *
PKCS7_sign_add_signer(PKCS7 *
p7, X509
*
signcert, EVP_PKEY *
clé_privée, const EVP_MD
*
md, int <drapeaux>);
DESCRIPTION¶
PKCS7_sign_add_signer() ajoute un signataire avec certificat
signcert et une clé privée
clé_privée utilisant l'algorithme de signature de message
md à une structure signée de données PKCS#7
p7.
La structure
PKCS7 devrait être obtenue à partir d'un appel
initial à
PKCS7_sign() avec l'attribut
PKCS7_PARTIAL
défini, ou, dans le cas de resignature, d'une structure signée
valable de données PKCS#7.
Si le paramètre
md est
NULL, alors l'algorithme de
signature par défaut pour la clé publique sera utilisé.
À moins que l'attribut
PKCS7_REUSE_DIGEST ne soit défini,
la structure
PKCS7 renvoyée n'est pas terminée et doit
être finalisée soit par un flux (si possible), soit par un appel
à
PKCS7_final().
NOTES¶
Le but principal de cette fonction est de fournir un contrôle plus fin
sur une structure signée de données où les valeurs par
défaut de la fonction
PKCS7_sign() ne sont pas
appropriées. Par exemple, si plusieurs signataires ou algorithmes de
signatures non disponibles par défaut sont nécessaires.
N'importe lequel des attributs suivants (disjoints) peut être
passé dans le paramètre
drapeaux.
Si
PKCS7_REUSE_DIGEST est défini, alors une tentative de copie de
la valeur d'algorithme de signature du contenu de la structure
PKCS7
est effectuée pour ajouter un signataire à la structure
existante. Une erreur survient si une valeur d'algorithme de signature
correspondante est introuvable. La structure
PKCS7 renvoyée sera
valable et finalisée quand cet attribut est défini.
Si
PKCS7_PARTIAL est défini en plus de
PKCS7_REUSE_DIGEST,
alors la structure
PKCS7_SIGNER_INO ne sera pas finalisée pour
permettre d'ajouter des attributs supplémentaires. Dans ce cas, un
appel explicite de
PKCS7_SIGNER_INFO_sign() est nécessaire pour
la finaliser.
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é.
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.
PKCS7_sign_add_signers() renvoie un pointeur interne vers la structure
PKCS7_SIGNER_INFO qui vient d'être ajoutée, cela peut
être utilisé pour définir des attributs
supplémentaires avant qu'elle ne soit finalisée.
VALEURS DE RETOUR¶
PKCS7_sign_add_signers() renvoie un pointeur interne vers la structure
PKCS7_SIGNER_INFO qui vient d'être ajoutée ou
NULL
si une erreur survient.
VOIR AUSSI¶
ERR_get_error(3),
PKCS7_sign(3),
PKCS7_final(3)
HISTORIQUE¶
PPKCS7_sign_add_signer a été ajoutée 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.