2018-10-24 19:20:00 +00:00
|
|
|
=pod
|
|
|
|
|
|
|
|
=head1 NAME
|
|
|
|
|
|
|
|
EVP_MAC_HMAC - The HMAC EVP_MAC implementation
|
|
|
|
|
|
|
|
=head1 DESCRIPTION
|
|
|
|
|
|
|
|
Support for computing HMAC MACs through the B<EVP_MAC> API.
|
|
|
|
|
|
|
|
=head2 Numeric identity
|
|
|
|
|
|
|
|
B<EVP_MAC_HMAC> is the numeric identity for this implementation, and
|
|
|
|
can be used in functions like EVP_MAC_CTX_new_id() and
|
|
|
|
EVP_get_macbynid().
|
|
|
|
|
|
|
|
=head2 Supported controls
|
|
|
|
|
|
|
|
The supported controls are:
|
|
|
|
|
|
|
|
=over 4
|
|
|
|
|
|
|
|
=item B<EVP_MAC_CTRL_SET_KEY>
|
|
|
|
|
2018-11-02 09:11:55 +00:00
|
|
|
EVP_MAC_ctrl_str() takes two type strings for this control:
|
2018-10-24 19:20:00 +00:00
|
|
|
|
|
|
|
=over 4
|
|
|
|
|
|
|
|
=item "key"
|
|
|
|
|
|
|
|
The value string is used as is.
|
|
|
|
|
|
|
|
=item "hexkey"
|
|
|
|
|
|
|
|
The value string is expected to be a hexadecimal number, which will be
|
|
|
|
decoded before passing on as control value.
|
|
|
|
|
|
|
|
=back
|
|
|
|
|
|
|
|
=item B<EVP_MAC_CTRL_SET_FLAGS>
|
|
|
|
|
|
|
|
Sets HMAC flags. This is passed directly to HMAC_CTX_set_flags().
|
|
|
|
|
|
|
|
There are no corresponding string control types.
|
|
|
|
|
|
|
|
=item B<EVP_MAC_CTRL_SET_ENGINE>
|
|
|
|
|
|
|
|
=item B<EVP_MAC_CTRL_SET_MD>
|
|
|
|
|
|
|
|
These work as described in L<EVP_MAC(3)/CONTROLS>.
|
|
|
|
|
2018-11-28 04:03:15 +00:00
|
|
|
EVP_MAC_ctrl_str() type string for B<EVP_MAC_CTRL_SET_MD>: "digest"
|
2018-10-24 19:20:00 +00:00
|
|
|
|
|
|
|
The value is expected to be the name of a cipher.
|
|
|
|
|
|
|
|
=back
|
|
|
|
|
|
|
|
=head1 SEE ALSO
|
|
|
|
|
|
|
|
L<EVP_MAC_ctrl(3)>, L<EVP_MAC(3)/CONTROLS>
|
|
|
|
|
|
|
|
=head1 COPYRIGHT
|
|
|
|
|
|
|
|
Copyright 2018 The OpenSSL Project Authors. All Rights Reserved.
|
|
|
|
|
2018-12-06 13:05:22 +00:00
|
|
|
Licensed under the Apache License 2.0 (the "License"). You may not use
|
2018-10-24 19:20:00 +00:00
|
|
|
this file except in compliance with the License. You can obtain a copy
|
|
|
|
in the file LICENSE in the source distribution or at
|
|
|
|
L<https://www.openssl.org/source/license.html>.
|
|
|
|
|
|
|
|
=cut
|