Note on HMAC

OpenSSL offers two ways of accessing HMAC functionality: the set of functions defined in hmac.h and the EVP API.

The set of functions defined in hmac.h can be configured to use Security Builder Engine for OpenSSL for digest algorithms but HMAC itself will always be performed by native OpenSSL code. The EVP API can use Security Builder for digest implementation as well as HMAC implementation.

The following EVP functions, when used with the ID EVP_PKEY_HMAC, perform HMAC operations: