2018-11-04 22:09:41 +00:00
|
|
|
=pod
|
|
|
|
|
|
|
|
=head1 NAME
|
|
|
|
|
|
|
|
EVP_MAC_GMAC - The GMAC EVP_MAC implementation
|
|
|
|
|
|
|
|
=head1 DESCRIPTION
|
|
|
|
|
|
|
|
Support for computing GMAC MACs through the B<EVP_MAC> API.
|
|
|
|
|
|
|
|
=head2 Numeric identity
|
|
|
|
|
|
|
|
B<EVP_MAC_GMAC> 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>
|
|
|
|
|
|
|
|
EVP_MAC_ctrl_str() takes two type strings for this control:
|
|
|
|
|
|
|
|
=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_IV>
|
|
|
|
|
|
|
|
EVP_MAC_ctrl_str() takes two type strings for this control:
|
|
|
|
|
|
|
|
=over 4
|
|
|
|
|
|
|
|
=item "iv"
|
|
|
|
|
|
|
|
The value string is used as is.
|
|
|
|
|
|
|
|
=item "hexiv"
|
|
|
|
|
|
|
|
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_ENGINE>
|
|
|
|
|
|
|
|
=item B<EVP_MAC_CTRL_SET_CIPHER>
|
|
|
|
|
|
|
|
These work as described in L<EVP_MAC(3)/CONTROLS> with the restriction that the
|
|
|
|
cipher must be an AEAD one.
|
|
|
|
|
|
|
|
EVP_MAC_ctrl_str() type string for B<EVP_MAC_CTRL_SET_CIPHER>: "cipher"
|
|
|
|
|
|
|
|
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-11-04 22:09:41 +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
|