openssl/crypto/evp
Richard Levitte 9a1c4e41e8 EVP: Implement data-driven translation between known ctrl and OSSL_PARAMs
The idea is to make it as transparent as possible to call things like
EVP_PKEY_CTX_ctrl() with a provider backed EVP_PKEY_CTX, or things
like EVP_PKEY_get_bn_param() with a legacy EVP_PKEY.

All these sorts of calls demand that we translate between ctrl
commands and OSSL_PARAM keys, and treat the arguments appropriately.

This implementation has it being as data driven as possible, thereby
centralizing everything into one table of translation data, which
supports both directions.

Fixes #13528

Reviewed-by: Tomas Mraz <tomas@openssl.org>
Reviewed-by: Paul Dale <pauli@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/13913)
2021-02-23 13:41:48 +01:00
..
asymcipher.c
bio_b64.c
bio_enc.c
bio_md.c
bio_ok.c
build.info EVP: Implement data-driven translation between known ctrl and OSSL_PARAMs 2021-02-23 13:41:48 +01:00
c_allc.c
c_alld.c
cmeth_lib.c
ctrl_params_translate.c EVP: Implement data-driven translation between known ctrl and OSSL_PARAMs 2021-02-23 13:41:48 +01:00
dh_ctrl.c Update copyright year 2021-01-28 13:54:57 +01:00
dh_support.c EVP_PKEY & DH: Make DH EVP_PKEY_CTX parameter ctrls / setters more available 2020-12-16 11:55:39 +01:00
digest.c Update copyright year 2021-02-18 15:05:17 +00:00
dsa_ctrl.c
e_aes_cbc_hmac_sha1.c
e_aes_cbc_hmac_sha256.c
e_aes.c
e_aria.c
e_bf.c
e_camellia.c
e_cast.c
e_chacha20_poly1305.c
e_des3.c
e_des.c
e_idea.c
e_null.c
e_old.c
e_rc2.c
e_rc4_hmac_md5.c
e_rc4.c
e_rc5.c
e_seed.c
e_sm4.c
e_xcbc_d.c
ec_ctrl.c Update copyright year 2021-01-28 13:54:57 +01:00
ec_support.c EVP_PKEY & EC_KEY: Make EC EVP_PKEY_CTX parameter ctrls / setters more available 2020-12-16 11:56:38 +01:00
encode.c
evp_cnf.c
evp_enc.c Update copyright year 2021-02-18 15:05:17 +00:00
evp_err.c Don't overflow the output length in EVP_CipherUpdate calls 2021-02-16 11:40:12 +00:00
evp_fetch.c Update copyright year 2021-01-28 13:54:57 +01:00
evp_key.c
evp_lib.c Replace provider digest flags with separate param fields 2021-02-10 12:31:31 +10:00
evp_local.h
evp_pbe.c
evp_pkey.c Update copyright year 2021-02-18 15:05:17 +00:00
evp_rand.c Update copyright year 2021-01-28 13:54:57 +01:00
evp_utils.c
exchange.c Update copyright year 2021-01-28 13:54:57 +01:00
kdf_lib.c
kdf_meth.c
kem.c
keymgmt_lib.c Update copyright year 2021-02-18 15:05:17 +00:00
keymgmt_meth.c Update copyright year 2021-02-18 15:05:17 +00:00
legacy_blake2.c Fix external symbols in the provider digest implementations. 2021-02-18 21:14:32 +10:00
legacy_md2.c
legacy_md4.c
legacy_md5_sha1.c
legacy_md5.c
legacy_mdc2.c
legacy_meth.h
legacy_ripemd.c
legacy_sha.c
legacy_wp.c
m_null.c
m_sigver.c Update copyright year 2021-02-18 15:05:17 +00:00
mac_lib.c
mac_meth.c
names.c
p5_crpt2.c
p5_crpt.c
p_dec.c Drop OPENSSL_NO_RSA everywhere 2020-12-20 12:19:42 +01:00
p_enc.c Drop OPENSSL_NO_RSA everywhere 2020-12-20 12:19:42 +01:00
p_legacy.c Update copyright year 2021-01-28 13:54:57 +01:00
p_lib.c Rename OSSL_ENCODER_CTX_new_by_EVP_PKEY and OSSL_DECODER_CTX_new_by_EVP_PKEY 2021-02-17 15:26:12 +01:00
p_open.c
p_seal.c
p_sign.c
p_verify.c
pbe_scrypt.c
pmeth_check.c Add EVP_PKEY_public_check_quick. 2021-02-22 13:31:31 +10:00
pmeth_gn.c Update copyright year 2021-02-18 15:05:17 +00:00
pmeth_lib.c EVP: Make evp_pkey_ctx_state() available to all of EVP 2021-02-23 13:41:47 +01:00
signature.c