Provided by: manpages-fr-extra_20151231_all bug

NOM

       EVP_DigestSignInit, EVP_DigestSignUpdate, EVP_DigestSignFinal - Fonctions EVP d’empreinte numérique

SYNOPSIS

        #include <openssl/evp.h>

        int EVP_DigestSignInit(EVP_MD_CTX *ctx, EVP_PKEY_CTX **pctx,
                       const EVP_MD *type, ENGINE *e, EVP_PKEY *pkey);
        int EVP_DigestSignUpdate(EVP_MD_CTX *ctx, const void *d, unsigned int cnt);
        int EVP_DigestSignFinal(EVP_MD_CTX *ctx, unsigned char *sig, size_t *siglen);

DESCRIPTION

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

       EVP_DigestSignInit() définit de contexte de signature ctx à utiliser avec le type d’empreinte numérique à
       partir de l’ENGINE impl et la clef privée pkey. ctx doit être initialisé avec EVP_MD_CTX_init() avant
       l’appel de cette fonction. Si <pctx> n’est pas NULL, EVP_PKEY_CTX de cette opération de signature sera
       écrit dans *pctx : cela peut être utilisé pour définir des options alternatives de signature.

       EVP_DigestSignUpdate() calcule un hachage de cnt octets de données vers d dans le contexte de signature
       ctx. Cette fonction peut être appelée plusieurs fois dans le même ctx pour tenir compte de données
       additionnelles. Cette fonction est actuellement implémentée en utilisant une macro.

       EVP_DigestSignFinal() signe les données dans ctx et place l’empreinte numérique dans sig. Si sig est
       NULL, alors la taille maximale du tampon de sortie est écrite dans le paramètre siglen. Si sig n’est pas
       NULL, alors avant l’appel, le paramètre siglen doit contenir la taille du tampon sig ; si l’appel est
       réussi, l’empreinte numérique est écrite dans sig et le total de données écrites dans siglen.

VALEURS DE RETOUR

       EVP_DigestSignInit(), EVP_DigestSignUpdate() et EVP_DigestSignaFinal() renvoient 1 en cas de succès 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 permise par l’algorithme de clef publique.

       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_DigestSignFinal() de manière interne fait une copie du contexte de signature. Cela signifie
       que des appels à EVP_DigestSignUpdate() et EVP_DigestSignFinal() peuvent être faits en cas 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.

       L’utilisation de EVP_PKEY_size() avec ces fonctions est déconseillée car quelques opérations de signature
       peuvent avoir une taille d’empreinte numérique dépendant de paramètres. Par conséquent, EVP_PKEY_size()
       devrait renvoyer une valeur donnant la taille maximale possible d’empreinte numérique pour n’importe
       quelles définitions des paramètres.

VOIR AUSSI

       EVP_DigestVerifyInit(3), EVP_DigestInit(3), err(3), evp(3), hmac(3), md2(3), md5(3), mdc2(3), ripemd(3),
       sha(3), dgst(1)

HISTORIQUE

       EVP_DigestSignInit(), EVP_DigestSignUpdate() et EVP_DigestSignFinal() 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_DigestSignInit(3SSL)