HMAC support
File: csp/crypto/csp_hmac.h
Description: HMAC support.
Hash-based Message Authentication Code - based on code from libtom.org.
Defines
Interface Functions
-
int csp_hmac_append(csp_packet_t *packet, _Bool include_header)
[source] Append HMAC to packet If header is included, csp_id_prepend() must be called beforehand
- Parameters:
packet – CSP packet, must be valid.
include_header – use header in hmac calculation (this will not modify the flags field)
- Returns:
#CSP_ERR_NONE on success, otherwise an error code.
-
int csp_hmac_verify(csp_packet_t *packet, _Bool include_header)
[source] Verify HMAC of packet
- Parameters:
packet – CSP packet, must be valid.
include_header – use header in hmac calculation (this will not modify the flags field)
- Returns:
#CSP_ERR_NONE on success, otherwise an error code.
-
int csp_hmac_memory(const void *key, uint32_t keylen, const void *data, uint32_t datalen, uint8_t *hmac)
[source] Calculate HMAC on buffer This function is used by append/verify but cal also be called separately.
- Parameters:
key – HMAC key
keylen – HMAC key length
data – pointer to data
datalen – lehgth of data
hmac – calculated HMAC hash, minimum #CSP_SHA1_DIGESTSIZE bytes.
- Returns:
#CSP_ERR_NONE on success, otherwise an error code.