Provided by: manpages-fr-extra_20151231_all bug

NOM

       EVP_SignInit, EVP_SignUpdate, EVP_SignFinal - Fonctions de signature EVP

SYNOPSIS

        #include <openssl/evp.h>

        int EVP_SignInit_ex(EVP_MD_CTX *ctx, const EVP_MD *type, ENGINE *impl);
        int EVP_SignUpdate(EVP_MD_CTX *ctx, const void *d, unsigned int cnt);
        int EVP_SignFinal(EVP_MD_CTX *ctx,unsigned char *sig,unsigned int *s, EVP_PKEY *pkey);

        void EVP_SignInit(EVP_MD_CTX *ctx, const EVP_MD *type);

        int EVP_PKEY_size(EVP_PKEY *pkey);

DESCRIPTION

       Les routines de signature EVP constituent une interface de haut niveau pour les signatures
       numériques.

       EVP_SignInit_ex() configure le contexte de signature ctx pour utiliser l’algorithme de
       hachage type à partir de l’ENGINE impl. ctx doit être initialisé avec EVP_MD_CTX_init()
       avant d’appeler cette fonction.

       EVP_SignUpdate() produit un hachage de cnt octets de d dans le contexte de signature ctx.
       Cette fonction peut être appelée plusieurs fois sur le même contexte pour incorporer des
       données supplémentaires.

       EVP_SignFinal() signe les données dans le ctx en utilisant la clef privée pkey et met la
       signature dans sig. sig doit être au moins de taille EVP_PKEY_size(pkey) octets. s est un
       paramètre OUT, et n’est pas utilisé comme un paramètre IN. Le nombre d’octets de données
       écrits (par exemple la longueur de la signature) sera écrit en nombre entier à s, au plus
       EVP_PKEY_size(pkey) octets seront écrits.

       EVP_SignInit() initialise un contexte de signature ctx pour utiliser l’implémentation par
       défaut de l’algorithme de hachage type.

       EVP_PKEY_size() renvoie la taille maximale de signature en octet. La signature réelle
       renvoyée par EVP_SignFinal() peut être plus petite.

VALEURS DE RETOUR

       EVP_SignInit_ex(), EVP_SignUpdate() et EVP_SignFinal() renvoient 1 en cas de réussite et 0
       en cas d'échec.

       EVP_PKEY_size() renvoie la taille maximale de la signature en octet.

       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).

       Lors de la signature avec les clefs privées DSA, le générateur de nombre aléatoire doit
       être égrainé sinon l’opération échouera. Le générateur n’a nul besoin de graine pour les
       signatures RSA.

       L’appel à EVP_SignFinal(), de manière interne, réalise une copie du contexte du hachage.
       Cela signifie que des appels à EVP_SignUpdate() et EVP_SignFinal() peuvent être faits
       ultérieurement pour un hachage et une signature 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_SignUpdate() ne peuvent être réalisés après l’appel à EVP_SignFinal().

       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.

       Ces deux bogues sont corrigés dans la nouvelle fonction EVP_SignDigest*().

VOIR AUSSI

       EVP_VerifyInit(3), EVP_DigestInit(3), err(3), evp(3), hmac(3), md2(3), md5(3), mdc2(3),
       <ripemd(3)|ripemd(3)>, sha(3), dgst(1)

HISTORIQUE

       EVP_SignInit(), EVP_SignUpdate() et EVP_SignFinal() sont disponibles dans toutes les
       versions de SSLeay et OpenSSL.

       EVP_SignInit_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.