Provided by: manpages-fr-extra_20151231_all 

NOM
EVP_DigestVerifyInit, EVP_DigestVerifyUpdate, EVP_DigestVerifyFinal - Fonctions EVP de vérification de
signature
SYNOPSIS
#include <openssl/evp.h>
int EVP_DigestVerifyInit(EVP_MD_CTX *ctx, EVP_PKEY_CTX **pctx,
const EVP_MD *type, ENGINE *e, EVP_PKEY *pkey);
int EVP_DigestVerifyUpdate(EVP_MD_CTX *ctx, const void *d, unsigned int cnt);
int EVP_DigestVerifyFinal(EVP_MD_CTX *ctx, const unsigned char *sig, size_t siglen);
DESCRIPTION
Les routines de signature EVP constituent une interface de haut niveau pour les signatures numériques.
EVP_DigestVerifyInit() définit le contexte de vérification ctx pour le condensé de message de type à
partir de l’ENGINE impl et de la clef publique pkey. ctx doit être initialisé avec EVP_MD_CTX_init()
avant d’appeler cette fonction. Si pctx n’est pas NULL, EVP_PKEY_CTX de l’opération de vérification sera
écrite dans *pctx : cela peut être utilisé pour définir des options alternatives de vérification.
EVP_DigestVerifyUpdate() produit un hachage de cnt octets de données vers d dans le contexte de
vérification ctx. Cette fonction peut être appelée plusieurs fois sur le même ctx pour intégrer des
données additionnelles. Cette fonction est actuellement mise en œuvre en utilisant une macro.
EVP_DigestVerifyFinal() vérifie les données dans ctx par rapport à la signature dans sig de longueur
siglen.
VALEURS DE RETOUR
EVP_DigestVerifyInit() et EVP_DigestVerifyUpdate() renvoient 1 en cas de réussite et 0 ou une valeur
négative en cas d’échec. En particulier, une valeur de retour de -2 signifie que l’opération n’est pas
prise en charge par l’algorithme de clef publique.
Contrairement à d’autres fonctions, la valeur 0 de retour de EVP_DigestVerifyFinal() signifie seulement
que la signature n’a pas conduit à une réussite de la vérification (c’est-à-dire, ce qui est à signer ne
correspond pas aux données originelles ou la signature était de forme incorrecte) ; ce n’est pas une
indication d’une erreur plus sérieuse.
Les codes d'erreur peuvent être obtenus par ERR_get_error(3).
NOTES
L’interface EVP pour les signatures numériques devrait presque toujours être utilisée de préférence à des
interfaces de bas niveaux. Cela est ainsi parce que le code devient évident pour l’algorithme utilisé et
bien plus souple.
Dans les versions précédentes d’OpenSSL, un lien existait entre les empreintes numériques et les
algorithmes de clef publique. Cela signifiait que les « clones » d’algorithmes de hachage tels que
EVP_dss1() devaient être utilisés pour les empreintes numériques SHA1 et DSA. Cela n’est plus nécessaire
et l’utilisation de clone est maintenant déconseillée.
Pour quelques sortes de clefs et de paramètres, la graine du générateur de nombre aléatoire doit être
fournie ou l’opération échouera.
L’appel à EVP_DigestVerifyFinal() en interne réalise une copie du contexte du condensé de message. Cela
signifie que EVP_VerifyUpdate() et EVP_VerifyFinal() peuvent être ensuite appelées pour incorporer et
vérifier des données additionnelles.
Puisqu’une seule copie est réalisée, le contexte de l’empreinte numérique doit être nettoyé après
utilisation en appelant EVP_MD_CTX_cleanup() ou une fuite de mémoire se produira.
VOIR AUSSI
EVP_DigestSignInit(3), EVP_DigestInit(3), err(3), evp(3), hmac(3), md2(3), md5(3), mdc2(3), ripemd(3),
sha(3), dgst(1)
HISTORIQUE
EVP_DigestVerifyInit(), EVP_DigestVerifyUpdate() et EVP_DigestVerifyFinal() ont été ajoutées pour la
première fois à 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.
1.0.2a 1.0.2c 2015-12-31 fr::crypto::EVP_DigestVerifyInit(3SSL)