61 #include <openssl/opensslconf.h>
63 #ifdef OPENSSL_NO_HMAC
64 #error HMAC is disabled.
67 #include <openssl/evp.h>
69 #define HMAC_MAX_MD_CBLOCK 128
81 unsigned int key_length;
82 unsigned char key[HMAC_MAX_MD_CBLOCK];
85 #define HMAC_size(e) (EVP_MD_size((e)->md))
89 void HMAC_CTX_cleanup(
HMAC_CTX *ctx);
91 #define HMAC_cleanup(ctx) HMAC_CTX_cleanup(ctx)
93 int HMAC_Init(
HMAC_CTX *ctx,
const void *key,
int len,
95 int HMAC_Init_ex(
HMAC_CTX *ctx,
const void *key,
int len,
96 const EVP_MD *md, ENGINE *impl);
97 int HMAC_Update(
HMAC_CTX *ctx,
const unsigned char *data,
size_t len);
98 int HMAC_Final(
HMAC_CTX *ctx,
unsigned char *md,
unsigned int *len);
99 unsigned char *HMAC(
const EVP_MD *evp_md,
const void *key,
int key_len,
100 const unsigned char *d,
size_t n,
unsigned char *md,
101 unsigned int *md_len);
104 void HMAC_CTX_set_flags(
HMAC_CTX *ctx,
unsigned long flags);