NOM¶
HMAC, HMAC_Init, HMAC_Update, HMAC_Final, 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.
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.