gnutls\_hmac\_init(3) gnutls gnutls\_hmac\_init(3)

# [NAME](#NAME)

gnutls\_hmac\_init - API function

# [SYNOPSIS](#SYNOPSIS)

**#include &lt;gnutls/crypto.h&gt;**

**int gnutls\_hmac\_init(gnutls\_hmac\_hd\_t * dig, gnutls\_mac\_algorithm\_t algorithm, const void * key, size\_t keylen);**

# [ARGUMENTS](#ARGUMENTS)

[gnutls\_hmac\_hd\_t * dig](#gnutls_hmac_hd_t)

is a **gnutls\_hmac\_hd\_t** type

[gnutls\_mac\_algorithm\_t algorithm](#gnutls_mac_algorithm_t)

the HMAC algorithm to use

[const void * key](#const)

the key to be used for encryption

[size\_t keylen](#size_t)

the length of the key

# [DESCRIPTION](#DESCRIPTION)

This function will initialize an context that can be used to produce a Message Authentication Code (MAC) of data. This will effectively use the current crypto backend in use by gnutls or the cryptographic accelerator in use.

Note that despite the name of this function, it can be used for other MAC algorithms than HMAC.

# [RETURNS](#RETURNS)

Zero or a negative error code on error.

# [SINCE](#SINCE)

2.10.0

# [REPORTING BUGS](#REPORTING_BUGS)

Report bugs to &lt;bugs@gnutls.org&gt;.  
Home page: https://www.gnutls.org

# [COPYRIGHT](#COPYRIGHT)

Copyright © 2001-2023 Free Software Foundation, Inc., and others.  
Copying and distribution of this file, with or without modification, are permitted in any medium without royalty provided the copyright notice and this notice are preserved.

# [SEE ALSO](#SEE_ALSO)

The full documentation for **gnutls** is maintained as a Texinfo manual. If the /usr/share/doc/gnutls/ directory does not contain the HTML form visit

[https://www.gnutls.org/manual/](https://www.gnutls.org/manual/)

3.8.13 gnutls

---

Document: gnutls_hmac_init(3) from gnutls 3.8.13-r3 (Chainguard OS)
Source: https://gitlab.com/gnutls/gnutls
