table of contents
fr::crypto::EVP_VerifyInit(3SSL) | OpenSSL | fr::crypto::EVP_VerifyInit(3SSL) |
NOM¶
EVP_VerifyInit, EVP_VerifyUpdate, EVP_VerifyFinal - Fonctions de vérification de signature EVP
SYNOPSIS¶
#include <openssl/evp.h>
int EVP_VerifyInit_ex(EVP_MD_CTX *ctx, const
EVP_MD *type, ENGINE *impl);
int EVP_VerifyUpdate(EVP_MD_CTX *ctx, const void
*d, unsigned int cnt);
int EVP_VerifyFinal(EVP_MD_CTX *ctx,unsigned char
*sigbuf, unsigned int siglen,EVP_PKEY
*pkey);
int EVP_VerifyInit(EVP_MD_CTX *ctx, const EVP_MD *type);
DESCRIPTION¶
Les routines de vérification de signature constituent une interface de haut niveau pour les signatures numériques.
EVP_VerifyInit_ex() configure le contexte de vérification ctx pour utiliser l’algorithme de hachage de type à partir de l’ENGINE impl. ctx doit être initialisé en appelant EVP_MD_CTX_init() avant cette fonction.
EVP_VerifyUpdate() produit un hachage de cnt octets de données à d dans le contexte de vérification ctx. Cette fonction peut être appelée plusieurs fois sur le même contexte ctx pour incorporer des données additionnelles.
EVP_VerifyFinal() vérifie les données dans le ctx en utilisant la clef publique pkey et par rapport à siglen octets de sigbuf.
EVP_VerifyInit() initialise le contexte de vérification ctx pour utiliser l’implémentation par défaut de l’algorithme de hachage type.
VALEURS DE RETOUR¶
EVP_VerifyInit_ex() et EVP_VerifyUpdate() renvoient 1 en cas de réussite et 0 en cas d’échec.
EVP_VerifyFinal() renvoie 1 si la signature est correcte, 0 si elle est incorrecte et -1 pour tout autre erreur.
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.
En raison du lien entre les algorithmes de hachage de message et les algorithmes à clef publique, l’algorithme de hachage adéquat doit être utilisé avec le bon type de clef publique. Une liste d’algorithmes et leurs algorithmes à clef publique associés est incluse dans EVP_DigestInit(3).
L’appel à EVP_VerifyFinal(), de manière interne, réalise une copie du contexte de hachage. Cela signifie que des appels à EVP_VerifyUpdate() et EVP_VerifyFinal() peuvent être faits ultérieurement pour un hachage et une vérification de 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.
BOGUES¶
De vieilles versions de cette documentation affirment faussement que des appels à EVP_VerifyUpdate() ne peuvent être réalisés après l’appel à EVP_VerifyFinal().
Puisque la clef privée est fournie dans l’appel à EVP_SignFinal(), aucune erreur en rapport avec la clef privée (par exemple une association impropre de clef et d’algorithme de hachage) ne sera signalée avant que de grandes quantités potentielles ne soient fournies par EVP_SignUpdate().
Changer les paramètres de signature n’est pas possible avec ces fonctions.
Les deux bogues précédents sont corrigés dans la nouvelle fonction EVP_VerifyDigest*().
VOIR AUSSI¶
evp(3), EVP_SignInit(3), EVP_DigestInit(3), err(3), evp(3), hmac(3), md2(3), md5(3), mdc2(3), ripemd(3), sha(3), dgst(1)
HISTORIQUE¶
EVP_VerifyInit(), EVP_VerifyUpdate() et EVP_VerifyFinal() sont disponibles dans toutes les versions de SSLeay et OpenSSL.
EVP_VerifyInit_ex() a été ajoutée dans OpenSSL 0.9.7
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.
2015-12-31 | 1.0.2a 1.0.2c |