Provided by: manpages-fr-extra_20151231_all bug

NOM

       HMAC, HMAC_CTX_init, HMAC_Init, HMAC_Update, HMAC_Init_ex, HMAC_Final, HMAC_CTX_cleanup,
       HMAC_cleanup - message d'authentification de message HMAC

SYNOPSIS

        #include <openssl/hmac.h>

        unsigned char *HMAC(const EVP_MD *evp_md, const void *key,
                      int key_len, const unsigned char *d, int n,
                      unsigned char *md, unsigned int *md_len);

        void HMAC_CTX_init(HMAC_CTX *ctx);

        int HMAC_Init(HMAC_CTX *ctx, const void *key, int key_len,
                      const EVP_MD *md);
        int HMAC_Init_ex(HMAC_CTX *ctx, const void *key, int key_len,
                          const EVP_MD *md, ENGINE *impl);
        int HMAC_Update(HMAC_CTX *ctx, const unsigned char *data, int len);
        int HMAC_Final(HMAC_CTX *ctx, unsigned char *md, unsigned int *len);

        void HMAC_CTX_cleanup(HMAC_CTX *ctx);
        void HMAC_cleanup(HMAC_CTX *ctx);

DESCRIPTION

       HMAC est un MAC (code d'authentification de message), c'est-à-dire une fonction de hachage
       à clé utilisée pour l'authentification des messages, qui est basé sur une fonction de
       hachage.

       HMAC() calcule le code d'authentification du message faisant n octets à den utilisant la
       fonction de hachage evp_md et la clé key qui a une longueur de key_len octets.

       Elle place le résultat dans md (qui doit avoir de l'espace pour la sortie de la fonction
       de hachage, qui n'est pas plus de EVP_MAX_MD_SIZE octets). Si md est NULL, le condensé est
       placé dans un tableau statique. La taille de la sortie est placée dans md_len, sauf si
       elle est NULL.

       evp_md peut être EVP_sha1(), EVP_ripemd160(), etc.

       HMAC_CTX_init() initialise un HMAC_CTX avant sa première utilisation. Elle doit être
       appelée.

       HMAC_CTX_cleanup() efface la clé et toutes autres données de HMAC_CTX et libère toutes
       ressources associées. Elle doit être appelée quand HMAC_CTX n'est plus utilisée.

       HMAC_cleanup() est un alias pour HMAC_CTX_cleanup() qui est incluse pour être compatible
       avec la version 0.9.6b, elle est obsolète.

       Les fonctions suivantes peuvent être utiles si le message n'est pas stocké en entier dans
       la mémoire :

       HMAC_Init() initialise une structure HMAC_CTX pour utiliser une fonction de hachage evp_md
       et sa clé key qui est de longueur key_len octets. Elle est obsolète et est uniquement
       incluse pour une compatibilité avec OpenSSL 0.9.6b.

       HMAC_Init_ex() initialise ou réutilise une structure HMAC_CTX pour utiliser la fonction
       evp_md et la clé key. Elles peuvent toutes les deux être NULL, dans ce cas, celle
       existante sera réutilisée. HMAC_CTX_init() aurait dû être appelée avant la première
       utilisation d'un HMAC_CTX dans cette fonction. N.B : HMAC_Init() avait un comportement
       indéfini dans les versions précédentes d'OpenSSL — l'échec de passage à HMAC_Init_ex()
       dans les programmes qui l'attendent les fera s'arrêter.

       HMAC_Update() peut être appelée de façon répétée avec des morceaux du message qui doit
       être authentifié (len octets à data).

       HMAC_Final() place le code du message d'authentification dans md, qui doit avoir de
       l'espace pour la sortie de la fonction de hachage.

VALEURS DE RETOUR

       HMAC() renvoie un pointeur vers le code d'authentification du message ou NULL si une
       erreur se produit.

       HMAC_Init_ex(), HMAC_Update() et HMAC_Final() renvoient 1 en cas de succès, 0 en cas
       d'échec.

       HMAC_CTX_init() et HMAC_CTX_cleanup() ne renvoient pas de valeurs.

MISE EN CONFORMITÉ

       RFC 2104

VOIR AUSSI

       evp(3), sha(3)

HISTORIQUE

       HMAC_CTX_init(), HMAC_Init_ex() et HMAC_CTX_cleanup() sont disponibles depuis la
       version 0.9.7 d'OpenSSL.

       HMAC_CTX_init(), HMAC_Init_ex() et HMAC_CTX_cleanup() sont disponibles depuis la
       version 0.9.7 d'OpenSSL.

       HMAC_Init_ex(), HMAC_Update() et HMAC_Final() ne renvoyaient pas de valeurs dans les
       versions antérieures à 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.