openssl/crypto/evp
Richard Levitte e675aabb87 Implement functionality for direct use of composite signature algorithms
The following API groups are extended with a new init function, as well
as an update and final function, to allow the use of explicitly fetched
signature implementations for any composite signature algorithm, like
"sha1WithRSAEncryption":

- EVP_PKEY_sign
- EVP_PKEY_verify
- EVP_PKEY_verify_recover

To support this, providers are required to add a few new functions, not
the least one that declares what key types an signature implementation
supports.

While at this, the validity check in evp_signature_from_algorithm() is
also refactored; the SIGNATURE provider functionality is too complex for
counters.  It's better, or at least more readable, to check function
combinations.

Reviewed-by: Tomas Mraz <tomas@openssl.org>
Reviewed-by: Neil Horman <nhorman@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/23416)
2024-08-21 08:21:06 +02:00
..
asymcipher.c
bio_b64.c
bio_enc.c Copyright year updates 2024-04-09 13:43:26 +02:00
bio_md.c
bio_ok.c
build.info
c_allc.c
c_alld.c
cmeth_lib.c
ctrl_params_translate.c evp_pkey_ctx_setget_params_to_ctrl(): Always properly set ctx.action_type 2024-06-26 11:52:02 +02:00
dh_ctrl.c
dh_support.c that open brace { should be on the previous line 2024-07-22 06:55:35 -04:00
digest.c Add EDDSA FIPS self tests. 2024-08-14 16:17:47 +02:00
dsa_ctrl.c
e_aes_cbc_hmac_sha1.c
e_aes_cbc_hmac_sha256.c
e_aes.c Copyright year updates 2024-04-09 13:43:26 +02:00
e_aria.c
e_bf.c
e_camellia.c
e_cast.c
e_chacha20_poly1305.c Copyright year updates 2023-09-28 14:23:29 +01:00
e_des3.c that open brace { should be on the previous line 2024-07-22 06:55:35 -04:00
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
ec_support.c
encode.c
evp_cnf.c
evp_enc.c Remove the dead store in EVP_DecryptFinal_ex 2024-05-30 19:04:05 +02:00
evp_err.c Implement functionality for direct use of composite signature algorithms 2024-08-21 08:21:06 +02:00
evp_fetch.c Copyright year updates 2024-04-09 13:43:26 +02:00
evp_key.c Copyright year updates 2024-04-09 13:43:26 +02:00
evp_lib.c EVP_CIPHER_CTX_get_key_length(): Add null check of ctx->cipher 2024-05-24 11:57:10 +02:00
evp_local.h Implement functionality for direct use of composite signature algorithms 2024-08-21 08:21:06 +02:00
evp_pbe.c
evp_pkey.c
evp_rand.c rand: fix seeding from a weak entropy source 2023-10-24 11:14:11 +01:00
evp_utils.c
exchange.c
kdf_lib.c
kdf_meth.c
kem.c
keymgmt_lib.c Copyright year updates 2024-04-09 13:43:26 +02:00
keymgmt_meth.c Add KeyManagement keygen parameter getter/gettable functions. 2024-08-06 11:01:13 +02:00
legacy_blake2.c Copyright year updates 2023-09-28 14:23:29 +01: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 Add EVP_DigestSqueeze() API. 2023-11-10 13:27:00 +01:00
legacy_wp.c
m_null.c
m_sigver.c Add FIPS self test updates 2024-08-20 10:05:13 +10:00
mac_lib.c
mac_meth.c
names.c evp_get_digest/cipherbyname_ex(): Try to fetch if not found 2024-07-31 11:25:55 +02:00
p5_crpt2.c
p5_crpt.c
p_dec.c
p_enc.c
p_legacy.c
p_lib.c open brace '{' following struct go on the same line 2024-07-22 06:55:35 -04:00
p_open.c
p_seal.c
p_sign.c
p_verify.c
pbe_scrypt.c
pmeth_check.c
pmeth_gn.c Copyright year updates 2023-09-28 14:23:29 +01:00
pmeth_lib.c Add KeyManagement keygen parameter getter/gettable functions. 2024-08-06 11:01:13 +02:00
signature.c Implement functionality for direct use of composite signature algorithms 2024-08-21 08:21:06 +02:00