]> git.ipfire.org Git - thirdparty/openssl.git/blame - doc/man7/EVP_MAC-HMAC.pod
Introduce the provider property
[thirdparty/openssl.git] / doc / man7 / EVP_MAC-HMAC.pod
CommitLineData
e592dbde
RL
1=pod
2
3=head1 NAME
4
5EVP_MAC-HMAC - The HMAC EVP_MAC implementation
6
7=head1 DESCRIPTION
8
9Support for computing HMAC MACs through the B<EVP_MAC> API.
10
11=head2 Identity
12
13This implementation is identified with this name and properties, to be
14used with EVP_MAC_fetch():
15
16=over 4
17
745fc918 18=item "HMAC", "provider=default" or "provider=fips"
e592dbde
RL
19
20=back
21
22=head2 Supported parameters
23
24The general description of these parameters can be found in
fddb1847 25L<EVP_MAC(3)/PARAMETERS>.
e592dbde
RL
26
27The following parameter can be set with EVP_MAC_CTX_set_params():
28
29=over 4
30
0c452a51 31=item "key" (B<OSSL_MAC_PARAM_KEY>) <octet string>
e592dbde 32
0c452a51 33=item "flags" (B<OSSL_MAC_PARAM_FLAGS>) <octet string>
e592dbde 34
0c452a51 35=item "digest" (B<OSSL_MAC_PARAM_DIGEST>) <UTF8 string>
e592dbde 36
0c452a51 37=item "properties" (B<OSSL_MAC_PARAM_PROPERTIES>) <UTF8 string>
e592dbde
RL
38
39=back
40
41The "flags" parameter is passed directly to HMAC_CTX_set_flags().
42
f49a65d0 43The following parameter can be retrieved with
e592dbde
RL
44EVP_MAC_CTX_get_params():
45
46=over 4
47
0c452a51 48=item "size" (B<OSSL_MAC_PARAM_SIZE>) <unsigned integer>
e592dbde
RL
49
50=back
51
52The "size" parameter can also be retrieved with EVP_MAC_size().
f49a65d0 53The length of the "size" parameter is equal to that of an B<unsigned int>.
e592dbde
RL
54
55=head1 SEE ALSO
56
57L<EVP_MAC_CTX_get_params(3)>, L<EVP_MAC_CTX_set_params(3)>,
fddb1847 58L<EVP_MAC(3)/PARAMETERS>, L<OSSL_PARAM(3)>, L<HMAC(3)>
e592dbde
RL
59
60=head1 COPYRIGHT
61
62Copyright 2018-2019 The OpenSSL Project Authors. All Rights Reserved.
63
64Licensed under the Apache License 2.0 (the "License"). You may not use
65this file except in compliance with the License. You can obtain a copy
66in the file LICENSE in the source distribution or at
67L<https://www.openssl.org/source/license.html>.
68
69=cut