Provided by: manpages-fr-extra_20151231_all bug

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.