29 #ifndef WOLFSSL_HMAC_H_ 30 #define WOLFSSL_HMAC_H_ 32 #include <wolfssl/wolfcrypt/settings.h> 35 #include "prefix_hmac.h" 39 #include <wolfssl/openssl/opensslv.h> 47 WOLFSSL_API
unsigned char* wolfSSL_HMAC(
const WOLFSSL_EVP_MD* evp_md,
48 const void* key,
int key_len,
49 const unsigned char* d,
int n,
unsigned char* md,
50 unsigned int* md_len);
56 word32 save_ipad[WC_HMAC_BLOCK_SIZE /
sizeof(word32)];
57 word32 save_opad[WC_HMAC_BLOCK_SIZE /
sizeof(word32)];
65 WOLFSSL_LOCAL
int wolfSSL_HmacCopy(
Hmac* des,
Hmac* src);
67 int keylen,
const EVP_MD* type);
69 int keylen,
const EVP_MD* type, WOLFSSL_ENGINE* e);
71 const unsigned char* data,
int len);
72 WOLFSSL_API
int wolfSSL_HMAC_Final(
WOLFSSL_HMAC_CTX* ctx,
unsigned char* hash,
80 #define HMAC(a,b,c,d,e,f,g) wolfSSL_HMAC((a),(b),(c),(d),(e),(f),(g)) 82 #define HMAC_CTX_new wolfSSL_HMAC_CTX_new 83 #define HMAC_CTX_init wolfSSL_HMAC_CTX_Init 84 #define HMAC_CTX_copy wolfSSL_HMAC_CTX_copy 85 #define HMAC_CTX_free wolfSSL_HMAC_CTX_free 86 #define HMAC_CTX_reset wolfSSL_HMAC_cleanup 87 #define HMAC_Init_ex wolfSSL_HMAC_Init_ex 88 #define HMAC_Init wolfSSL_HMAC_Init 89 #define HMAC_Update wolfSSL_HMAC_Update 90 #define HMAC_Final wolfSSL_HMAC_Final 91 #define HMAC_cleanup wolfSSL_HMAC_cleanup 92 #define HMAC_size wolfSSL_HMAC_size evp.h defines mini evp openssl compatibility layer