HMAC(3) HMAC_Final,

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

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.