openssl/crypto/evp
Richard Levitte a39eb84006 Replumbing: give the possibility for the provider to create a context
OSSL_provider_init() gets another output parameter, holding a pointer
to a provider side context.  It's entirely up to the provider to
define the context and what it's being used for.  This pointer is
passed back to other provider functions, typically the provider global
get_params and set_params functions, and also the diverse algorithm
context creators, and of course, the teardown function.

With this, a provider can be instantiated more than once, or be
re-loaded as the case may be, while maintaining instance state.

Reviewed-by: Matt Caswell <matt@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/8848)
2019-04-30 15:34:23 +02: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 Following the license change, modify the boilerplates in crypto/evp/ 2018-12-06 14:54:57 +01:00
bio_ok.c Following the license change, modify the boilerplates in crypto/evp/ 2018-12-06 14:54:57 +01:00
build.info Add generic EVP method fetcher 2019-03-18 14:27:02 +01:00
c_allc.c Add RFC5297 AES-SIV support 2018-12-12 08:16:10 +10:00
c_alld.c Following the license change, modify the boilerplates in crypto/evp/ 2018-12-06 14:54:57 +01:00
c_allm.c blake2: backport changes to blake2s 2019-02-06 09:18:43 +00:00
cmeth_lib.c Make EVP_Encrypt*/EVP_Decrypt* and EVP_Cipher* provider aware 2019-04-19 09:31:54 +01:00
digest.c Replumbing: give the possibility for the provider to create a context 2019-04-30 15:34:23 +02:00
e_aes_cbc_hmac_sha1.c Following the license change, modify the boilerplates in crypto/evp/ 2018-12-06 14:54:57 +01:00
e_aes_cbc_hmac_sha256.c Following the license change, modify the boilerplates in crypto/evp/ 2018-12-06 14:54:57 +01:00
e_aes.c Move the AES-XTS mode duplicated key check into the init_key function rather 2019-04-05 10:55:40 +10:00
e_aria.c Fix a memory leak in ARIA GCM 2019-03-27 10:26:52 +00:00
e_bf.c Following the license change, modify the boilerplates in crypto/evp/ 2018-12-06 14:54:57 +01:00
e_camellia.c Following the license change, modify the boilerplates in crypto/evp/ 2018-12-06 14:54:57 +01:00
e_cast.c Following the license change, modify the boilerplates in crypto/evp/ 2018-12-06 14:54:57 +01:00
e_chacha20_poly1305.c Prevent over long nonces in ChaCha20-Poly1305 2019-03-06 13:25:09 +00:00
e_des3.c Following the license change, modify the boilerplates in crypto/evp/ 2018-12-06 14:54:57 +01:00
e_des.c Following the license change, modify the boilerplates in crypto/evp/ 2018-12-06 14:54:57 +01:00
e_idea.c Following the license change, modify the boilerplates in crypto/evp/ 2018-12-06 14:54:57 +01:00
e_null.c Following the license change, modify the boilerplates in crypto/evp/ 2018-12-06 14:54:57 +01:00
e_old.c Following the license change, modify the boilerplates in crypto/evp/ 2018-12-06 14:54:57 +01:00
e_rc2.c Following the license change, modify the boilerplates in crypto/evp/ 2018-12-06 14:54:57 +01:00
e_rc4_hmac_md5.c Following the license change, modify the boilerplates in crypto/evp/ 2018-12-06 14:54:57 +01:00
e_rc4.c Following the license change, modify the boilerplates in crypto/evp/ 2018-12-06 14:54:57 +01:00
e_rc5.c Following the license change, modify the boilerplates in crypto/evp/ 2018-12-06 14:54:57 +01:00
e_seed.c Following the license change, modify the boilerplates in crypto/evp/ 2018-12-06 14:54:57 +01:00
e_sm4.c Following the license change, modify the boilerplates in crypto/evp/ 2018-12-06 14:54:57 +01:00
e_xcbc_d.c Following the license change, modify the boilerplates in crypto/evp/ 2018-12-06 14:54:57 +01:00
encode.c constify *_dup() and *i2d_*() and related functions as far as possible, introducing DECLARE_ASN1_DUP_FUNCTION 2019-03-06 16:10:09 +00:00
evp_cnf.c EVP configuration section: add 'default_properties' command 2019-04-05 15:43:37 +02:00
evp_enc.c Replumbing: give the possibility for the provider to create a context 2019-04-30 15:34:23 +02:00
evp_err.c Implement AES CBC ciphers in the default provider 2019-04-19 09:31:54 +01:00
evp_fetch.c Fix the generic EVP algorithm fetch to actually cache them 2019-04-19 10:23:59 +02:00
evp_key.c Following the license change, modify the boilerplates in crypto/evp/ 2018-12-06 14:54:57 +01:00
evp_lib.c Replumbing: make the oneshot proider cipher function like the others 2019-04-30 15:30:30 +02:00
evp_locl.h Make EVP_Encrypt*/EVP_Decrypt* and EVP_Cipher* provider aware 2019-04-19 09:31:54 +01:00
evp_pbe.c Added new EVP/KDF API. 2019-02-13 12:11:49 +01:00
evp_pkey.c constify *_dup() and *i2d_*() and related functions as far as possible, introducing DECLARE_ASN1_DUP_FUNCTION 2019-03-06 16:10:09 +00:00
kdf_lib.c Single step kdf implementation 2019-03-19 11:03:45 +00:00
m_md2.c Following the license change, modify the boilerplates in crypto/evp/ 2018-12-06 14:54:57 +01:00
m_md4.c Following the license change, modify the boilerplates in crypto/evp/ 2018-12-06 14:54:57 +01:00
m_md5_sha1.c Following the license change, modify the boilerplates in crypto/evp/ 2018-12-06 14:54:57 +01:00
m_md5.c Following the license change, modify the boilerplates in crypto/evp/ 2018-12-06 14:54:57 +01:00
m_mdc2.c Following the license change, modify the boilerplates in crypto/evp/ 2018-12-06 14:54:57 +01:00
m_null.c Following the license change, modify the boilerplates in crypto/evp/ 2018-12-06 14:54:57 +01:00
m_ripemd.c Following the license change, modify the boilerplates in crypto/evp/ 2018-12-06 14:54:57 +01:00
m_sha1.c Following the license change, modify the boilerplates in crypto/evp/ 2018-12-06 14:54:57 +01:00
m_sha3.c Following the license change, modify the boilerplates in crypto/evp/ 2018-12-06 14:54:57 +01:00
m_sigver.c Following the license change, modify the boilerplates in crypto/evp/ 2018-12-06 14:54:57 +01:00
m_wp.c Following the license change, modify the boilerplates in crypto/evp/ 2018-12-06 14:54:57 +01:00
mac_lib.c Tolerate 0 byte input length for Update functions 2019-03-27 10:14:03 +00:00
names.c Following the license change, modify the boilerplates in crypto/evp/ 2018-12-06 14:54:57 +01:00
p5_crpt2.c Adapt OPENSSL_DEBUG_PKCS5V2 to the new generic trace API 2019-03-06 11:15:14 +01:00
p5_crpt.c Following the license change, modify the boilerplates in crypto/evp/ 2018-12-06 14:54:57 +01: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 Providing missing accessor to EVP_PKEY.engine 2019-03-19 10:42:33 +00:00
p_open.c Fix the allocation size in EVP_OpenInit and PEM_SignFinal 2019-04-06 10:17:19 +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 Following the license change, modify the boilerplates in crypto/evp/ 2018-12-06 14:54:57 +01:00
p_verify.c Following the license change, modify the boilerplates in crypto/evp/ 2018-12-06 14:54:57 +01:00
pbe_scrypt.c EVP_PBE_scrypt() handles salt=NULL as salt="" 2019-03-17 19:27:37 +10:00
pkey_kdf.c The use of the likes of UINT32_MAX requires internal/numbers.h 2019-02-28 10:31:20 +01:00
pkey_mac.c Correctly check the return code of EVP_MAC_ctrl everwhere it is used 2019-03-27 14:31:56 +00:00
pmeth_fn.c Following the license change, modify the boilerplates in crypto/evp/ 2018-12-06 14:54:57 +01:00
pmeth_gn.c Following the license change, modify the boilerplates in crypto/evp/ 2018-12-06 14:54:57 +01:00
pmeth_lib.c constify *_dup() and *i2d_*() and related functions as far as possible, introducing DECLARE_ASN1_DUP_FUNCTION 2019-03-06 16:10:09 +00:00