summaryrefslogtreecommitdiffstats
path: root/util
diff options
context:
space:
mode:
authorRichard Levitte <levitte@openssl.org>2018-10-12 22:27:18 +0200
committerRichard Levitte <levitte@openssl.org>2018-10-29 13:35:19 +0100
commit567db2c17d4ea8a0164d7abd8aed65b7a634bb40 (patch)
tree064c9a50082bc9cda43b96dcde3f7eba5a0c6bd5 /util
parentf9e43929c46b38667f67e02765fe0f1c0d3061d6 (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.num18
-rw-r--r--util/private.num5
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