openssl/crypto/evp
Richard Levitte 6508e85883 EVP: make EVP_PKEY_{bits,security_bits,size} work with provider only keys
These functions relied entirely on the presence of 'pkey->pmeth',
which is NULL on provider only keys.  This adds an interface to get
domparam and key data from a provider, given corresponding provider
data (the actual domparam or key).

The retrieved data is cached in the EVP_PKEY structure (lending the
idea from provided EVP_CIPHER).

Reviewed-by: Nicola Tuveri <nic.tuv@gmail.com>
(Merged from https://github.com/openssl/openssl/pull/10778)
2020-01-17 09:04:04 +01:00
..
bio_b64.c Following the license change, modify the boilerplates in crypto/evp/ 2018-12-06 14:54:57 +01:00
bio_enc.c Following the license change, modify the boilerplates in crypto/evp/ 2018-12-06 14:54:57 +01:00
bio_md.c Don't use internal knowledge about EVP_MD_CTX in and MD BIO 2019-10-11 11:42:43 +01:00
bio_ok.c Reorganize private crypto header files 2019-09-28 20:26:34 +02:00
build.info Add dsa signature alg to fips provider 2020-01-12 11:32:12 +10:00
c_allc.c Reorganize private crypto header files 2019-09-28 20:26:34 +02:00
c_alld.c Restore MD5-SHA1 in legacy method database 2019-10-14 16:07:41 +02:00
cmeth_lib.c Reorganize local header files 2019-09-28 20:26:35 +02:00
digest.c Always go the legacy route if EVP_MD_CTX_FLAG_NO_INIT is set 2020-01-13 13:50:06 +00:00
e_aes_cbc_hmac_sha1.c Deprecate the low level AES functions 2020-01-06 15:09:57 +00:00
e_aes_cbc_hmac_sha256.c Deprecate the low level AES functions 2020-01-06 15:09:57 +00:00
e_aes.c Deprecate the low level AES functions 2020-01-06 15:09:57 +00:00
e_aria.c Allow specifying the tag after AAD in CCM mode (2) 2019-11-20 10:40:55 +01:00
e_bf.c Deprecate Low Level Blowfish APIs 2020-01-08 11:25:25 +00:00
e_camellia.c Deprecate Low Level Camellia APIs 2020-01-13 13:38:20 +00:00
e_cast.c Deprecate the Low Level CAST APIs 2020-01-13 13:44:27 +00:00
e_chacha20_poly1305.c Reorganize local header files 2019-09-28 20:26:35 +02:00
e_des3.c Reorganize local header files 2019-09-28 20:26:35 +02:00
e_des.c Reorganize private crypto header files 2019-09-28 20:26:34 +02:00
e_idea.c Reorganize private crypto header files 2019-09-28 20:26:34 +02:00
e_null.c Reorganize private crypto header files 2019-09-28 20:26:34 +02:00
e_old.c Update source files for pre-3.0 deprecation 2019-11-07 11:37:25 +01:00
e_rc2.c Deprecate the low level RC2 functions 2020-01-16 07:07:27 +10:00
e_rc4_hmac_md5.c Deprecate the low level RC4 functions 2020-01-16 07:07:27 +10:00
e_rc4.c Deprecate the low level RC4 functions 2020-01-16 07:07:27 +10:00
e_rc5.c Deprecate the low level RC5 functions 2020-01-16 07:07:27 +10:00
e_seed.c Deprecate the low level SEED functions 2020-01-16 07:06:14 +10:00
e_sm4.c Reorganize private crypto header files 2019-09-28 20:26:34 +02:00
e_xcbc_d.c Reorganize private crypto header files 2019-09-28 20:26:34 +02:00
encode.c Reorganize local header files 2019-09-28 20:26:35 +02:00
evp_cnf.c EVP configuration section: add 'default_properties' command 2019-04-05 15:43:37 +02:00
evp_enc.c Add GCM support for EVP_CTRL_GCM_IV_GEN and EVP_CTRL_GCM_SET_IV_INV to providers 2020-01-10 11:58:27 +10:00
evp_err.c Replumbing: make it possible for providers to specify multiple names 2019-10-03 15:47:25 +02:00
evp_fetch.c Modify EVP_CIPHER_is_a() and EVP_MD_is_a() to handle legacy methods too 2020-01-17 08:59:41 +01:00
evp_key.c crypto/evp/evp_key.c: #define BUFSIZ if <stdio.h> doesn't #define it 2019-05-27 08:01:50 +10:00
evp_lib.c Modify EVP_CIPHER_is_a() and EVP_MD_is_a() to handle legacy methods too 2020-01-17 08:59:41 +01:00
evp_local.h EVP: make EVP_PKEY_{bits,security_bits,size} work with provider only keys 2020-01-17 09:04:04 +01:00
evp_pbe.c Explicitly test against NULL; do not use !p or similar 2019-10-09 21:32:15 +02:00
evp_pkey.c Reorganize private crypto header files 2019-09-28 20:26:34 +02:00
evp_utils.c Reorganize local header files 2019-09-28 20:26:35 +02:00
exchange.c Modify EVP_CIPHER_is_a() and EVP_MD_is_a() to handle legacy methods too 2020-01-17 08:59:41 +01:00
kdf_lib.c Modify EVP_CIPHER_is_a() and EVP_MD_is_a() to handle legacy methods too 2020-01-17 08:59:41 +01:00
kdf_meth.c Final cleanup after move to leaner EVP_PKEY methods 2019-11-10 05:00:28 +01:00
keymgmt_lib.c EVP: make EVP_PKEY_{bits,security_bits,size} work with provider only keys 2020-01-17 09:04:04 +01:00
keymgmt_meth.c EVP: make EVP_PKEY_{bits,security_bits,size} work with provider only keys 2020-01-17 09:04:04 +01:00
legacy_blake2.c Cleanup legacy digest methods. 2019-12-18 14:46:01 +10:00
legacy_md2.c Deprecate the low level MD2 functions. 2020-01-12 12:02:17 +10:00
legacy_md4.c Deprecate the low level MD4 functions. 2020-01-12 12:02:17 +10:00
legacy_md5_sha1.c Cleanup legacy digest methods. 2019-12-18 14:46:01 +10:00
legacy_md5.c Cleanup legacy digest methods. 2019-12-18 14:46:01 +10:00
legacy_mdc2.c Deprecate the low level MDC2 functions. 2020-01-12 12:02:17 +10:00
legacy_meth.h Cleanup legacy digest methods. 2019-12-18 14:46:01 +10:00
legacy_ripemd.c Deprecate the low level RIPEMD160 functions. 2020-01-12 12:00:31 +10:00
legacy_sha.c Cleanup legacy digest methods. 2019-12-18 14:46:01 +10:00
legacy_wp.c Deprecate the low level Whirlpool functions. 2020-01-12 12:05:04 +10:00
m_null.c Reorganize private crypto header files 2019-09-28 20:26:34 +02:00
m_sigver.c Change returned -2 to 0 in EVP_Digest{Sign,Verify}Init() 2020-01-15 01:17:14 +01:00
mac_lib.c Modify EVP_CIPHER_is_a() and EVP_MD_is_a() to handle legacy methods too 2020-01-17 08:59:41 +01:00
mac_meth.c Final cleanup after move to leaner EVP_PKEY methods 2019-11-10 05:00:28 +01:00
names.c Ensure EVP_get_digestbyname() and EVP_get_cipherbyname() know all aliases 2019-11-06 10:11:31 +00:00
p5_crpt2.c Reorganize local header files 2019-09-28 20:26:35 +02:00
p5_crpt.c Explicitly test against NULL; do not use !p or similar 2019-10-09 21:32:15 +02:00
p_dec.c Following the license change, modify the boilerplates in crypto/evp/ 2018-12-06 14:54:57 +01:00
p_enc.c Following the license change, modify the boilerplates in crypto/evp/ 2018-12-06 14:54:57 +01:00
p_lib.c EVP: make EVP_PKEY_{bits,security_bits,size} work with provider only keys 2020-01-17 09:04:04 +01:00
p_open.c Explicitly test against NULL; do not use !p or similar 2019-10-09 21:32:15 +02:00
p_seal.c Following the license change, modify the boilerplates in crypto/evp/ 2018-12-06 14:54:57 +01:00
p_sign.c Reorganize private crypto header files 2019-09-28 20:26:34 +02:00
p_verify.c Reorganize private crypto header files 2019-09-28 20:26:34 +02:00
pbe_scrypt.c Usages of KDFs converted to use the name macros 2019-09-11 10:22:49 +10:00
pkey_kdf.c Reorganize private crypto header files 2019-09-28 20:26:34 +02:00
pkey_mac.c Reorganize local header files 2019-09-28 20:26:35 +02:00
pmeth_fn.c Modify EVP_CIPHER_is_a() and EVP_MD_is_a() to handle legacy methods too 2020-01-17 08:59:41 +01:00
pmeth_gn.c Add dsa signature alg to fips provider 2020-01-12 11:32:12 +10:00
pmeth_lib.c Restoring correct check for legacy PKEY 2020-01-15 11:50:10 +03:00
signature.c Modify EVP_CIPHER_is_a() and EVP_MD_is_a() to handle legacy methods too 2020-01-17 08:59:41 +01:00