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 *pkey, const EVP_MD *md, int flags);
DESCRIPTION¶
PKCS7_sign_add_signer() ajoute un signataire avec certificat
signcert et une clef privée
pkey utilisant l'algorithme de
signature de message
md à une structure signée de
données PKCS7
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 PKCS7.
Si le paramètre
md est
NULL, alors l'algorithme de signature
par défaut pour la clef 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
flags.
Si
PKCS7_REUSE_DIGEST est défini, alors une tentative de copie de la
valeur d'algorithme de signature du contenu de la struture 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 à 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 algorithme 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
OpenSSL 1.0.0
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.