diff options
author | Richard Levitte <levitte@openssl.org> | 2018-10-12 22:27:18 +0200 |
---|---|---|
committer | Richard Levitte <levitte@openssl.org> | 2018-10-29 13:35:19 +0100 |
commit | 567db2c17d4ea8a0164d7abd8aed65b7a634bb40 (patch) | |
tree | 064c9a50082bc9cda43b96dcde3f7eba5a0c6bd5 /util | |
parent | f9e43929c46b38667f67e02765fe0f1c0d3061d6 (diff) |
Add EVP_MAC API
We currently implement EVP MAC methods as EVP_PKEY methods. This
change creates a separate EVP API for MACs, to replace the current
EVP_PKEY ones.
A note about this EVP API and how it interfaces with underlying MAC
implementations:
Other EVP APIs pass the EVP API context down to implementations, and
it can be observed that the implementations use the pointer to their
own private data almost exclusively. The EVP_MAC API deviates from
that pattern by passing the pointer to the implementation's private
data directly, and thereby deny the implementations access to the
EVP_MAC context structure. This change is made to provide a clearer
separation between the EVP library itself and the implementations of
its supported algorithm classes.
Reviewed-by: Paul Dale <paul.dale@oracle.com>
(Merged from https://github.com/openssl/openssl/pull/7393)
Diffstat (limited to 'util')
-rw-r--r-- | util/libcrypto.num | 18 | ||||
-rw-r--r-- | util/private.num | 5 |
2 files changed, 23 insertions, 0 deletions
diff --git a/util/libcrypto.num b/util/libcrypto.num index 31f8781158..61236dfba2 100644 --- a/util/libcrypto.num +++ b/util/libcrypto.num @@ -4577,3 +4577,21 @@ OCSP_resp_get0_respdata 4530 1_1_0j EXIST::FUNCTION:OCSP EVP_MD_CTX_set_pkey_ctx 4531 1_1_1 EXIST::FUNCTION: EVP_PKEY_meth_set_digest_custom 4532 1_1_1 EXIST::FUNCTION: EVP_PKEY_meth_get_digest_custom 4533 1_1_1 EXIST::FUNCTION: +EVP_MAC_CTX_new 4534 1_1_2 EXIST::FUNCTION: +EVP_MAC_CTX_new_id 4535 1_1_2 EXIST::FUNCTION: +EVP_MAC_CTX_free 4536 1_1_2 EXIST::FUNCTION: +EVP_MAC_CTX_copy 4537 1_1_2 EXIST::FUNCTION: +EVP_MAC_CTX_mac 4538 1_1_2 EXIST::FUNCTION: +EVP_MAC_size 4539 1_1_2 EXIST::FUNCTION: +EVP_MAC_init 4540 1_1_2 EXIST::FUNCTION: +EVP_MAC_update 4541 1_1_2 EXIST::FUNCTION: +EVP_MAC_final 4542 1_1_2 EXIST::FUNCTION: +EVP_MAC_ctrl 4543 1_1_2 EXIST::FUNCTION: +EVP_MAC_vctrl 4544 1_1_2 EXIST::FUNCTION: +EVP_MAC_ctrl_str 4545 1_1_2 EXIST::FUNCTION: +EVP_MAC_str2ctrl 4546 1_1_2 EXIST::FUNCTION: +EVP_MAC_hex2ctrl 4547 1_1_2 EXIST::FUNCTION: +EVP_MAC_nid 4548 1_1_2 EXIST::FUNCTION: +EVP_get_macbyname 4549 1_1_2 EXIST::FUNCTION: +EVP_MAC_do_all 4550 1_1_2 EXIST::FUNCTION: +EVP_MAC_do_all_sorted 4551 1_1_2 EXIST::FUNCTION: diff --git a/util/private.num b/util/private.num index 2bfe987b43..27d352acae 100644 --- a/util/private.num +++ b/util/private.num @@ -22,6 +22,8 @@ CRYPTO_EX_dup datatype CRYPTO_EX_free datatype CRYPTO_EX_new datatype DTLS_timer_cb datatype +EVP_MAC datatype +EVP_MAC_CTX datatype EVP_PKEY_gen_cb datatype EVP_PKEY_METHOD datatype EVP_PKEY_ASN1_METHOD datatype @@ -185,6 +187,7 @@ ERR_free_strings define deprecated 1.1.0 ERR_load_crypto_strings define deprecated 1.1.0 EVP_DigestSignUpdate define EVP_DigestVerifyUpdate define +EVP_MAC_name define EVP_MD_CTX_block_size define EVP_MD_CTX_size define EVP_MD_CTX_type define @@ -271,6 +274,8 @@ EVP_cast5_cfb define EVP_cleanup define deprecated 1.1.0 EVP_get_digestbynid define EVP_get_digestbyobj define +EVP_get_macbynid define +EVP_get_macbyobj define EVP_idea_cfb define EVP_rc2_cfb define EVP_rc5_32_12_16_cfb define |