-.\" $OpenBSD: HMAC.3,v 1.22 2024/07/21 08:36:43 tb Exp $
+.\" $OpenBSD: HMAC.3,v 1.23 2024/08/29 20:21:53 tb Exp $
.\" full merge up to: OpenSSL crypto/hmac a528d4f0 Oct 27 13:40:11 2015 -0400
.\" selective merge up to: OpenSSL man3/HMAC b3696a55 Sep 2 09:35:50 2017 -0400
.\"
.\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
.\" OF THE POSSIBILITY OF SUCH DAMAGE.
.\"
-.Dd $Mdocdate: July 21 2024 $
+.Dd $Mdocdate: August 29 2024 $
.Dt HMAC 3
.Os
.Sh NAME
.Nm HMAC_CTX_reset ,
.Nm HMAC_CTX_free ,
.Nm HMAC_Init_ex ,
-.Nm HMAC_Init ,
.Nm HMAC_Update ,
.Nm HMAC_Final ,
.Nm HMAC_CTX_copy ,
.Fa "ENGINE *engine"
.Fc
.Ft int
-.Fo HMAC_Init
-.Fa "HMAC_CTX *ctx"
-.Fa "const void *key"
-.Fa "int key_len"
-.Fa "const EVP_MD *md"
-.Fc
-.Ft int
.Fo HMAC_Update
.Fa "HMAC_CTX *ctx"
.Fa "const unsigned char *data"
.Dv NULL
is recommended.
.Pp
-.Fn HMAC_Init
-is a deprecated wrapper around
-.Fn HMAC_Init_ex
-which performs no longer useful extra initialization in
-some circumstances.
-.Pp
.Fn HMAC_Update
can be called repeatedly with chunks of the message to be authenticated
.Pq Fa len No bytes at Fa data .
RFC 2104
.Sh HISTORY
.Fn HMAC ,
-.Fn HMAC_Init ,
.Fn HMAC_Update ,
.Fn HMAC_Final ,
and