openssl/crypto/evp
Benjamin Kaduk 79f4417ed9 Deprecate and replace EVP_CIPHER_CTX_iv()/etc.
The EVP_CIPHER_CTX_iv() family of functions are incompatible with
the libcrypto/provider separation, since the implied API contract
(they are undocumented) involves a pointer into the active cipher
context structure.  However, the active IV data in a provider-side
context need not even be in the same address space as libcrypto,
so a replacement API is needed.

The existing functions for accessing the (even the "original") IV had
remained undocumented for quite some time, presumably due to unease
about exposing the internals of the cipher state in such a manner.

Provide more maintainable new APIs for accessing the initial ("oiv") and
current-state ("iv") IV data, that copy the value into a caller-provided
array, eliminating the need to provide a pointer into the internal
cipher context, which accordingly no longer provides the ability to
write to the internal cipher state.

Unfortunately, in order to maintain API compatibility with OpenSSL
1.1.1, the old functionality is still available, but is marked as
deprecated for future removal.  This would entail removing the "octet
pointer" parameter access, leaving only the "octet string" parameter
type.

Reviewed-by: Tomas Mraz <tmraz@fedoraproject.org>
(Merged from https://github.com/openssl/openssl/pull/12233)
2020-08-11 07:07:56 -07:00
..
bio_b64.c Update copyright year 2020-04-23 13:55:52 +01:00
bio_enc.c Update copyright year 2020-04-23 13:55:52 +01:00
bio_md.c Update copyright year 2020-04-23 13:55:52 +01:00
bio_ok.c Add and use internal header that implements endianness check 2020-07-11 10:00:33 +02:00
build.info Delete old KDF bridge EVP_PKEY_METHODS 2020-08-10 14:52:37 +01: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 Update copyright year 2020-08-06 13:22:30 +01:00
digest.c Add EVP signature with libctx methods. 2020-08-09 17:34:52 +10:00
e_aes_cbc_hmac_sha1.c Update copyright year 2020-04-23 13:55:52 +01:00
e_aes_cbc_hmac_sha256.c Update copyright year 2020-04-23 13:55:52 +01:00
e_aes.c Fix provider cipher reinit issue 2020-07-22 10:40:55 +10:00
e_aria.c rand_drbg: remove RAND_DRBG. 2020-08-07 14:16:47 +10:00
e_bf.c Update copyright year 2020-04-23 13:55:52 +01:00
e_camellia.c Update copyright year 2020-04-23 13:55:52 +01:00
e_cast.c Update copyright year 2020-04-23 13:55:52 +01:00
e_chacha20_poly1305.c Update copyright year 2020-07-16 14:47:04 +02:00
e_des3.c Update copyright year 2020-04-23 13:55:52 +01:00
e_des.c Update copyright year 2020-04-23 13:55:52 +01:00
e_idea.c Update copyright year 2020-04-23 13:55:52 +01:00
e_null.c Reorganize private crypto header files 2019-09-28 20:26:34 +02:00
e_old.c Update copyright year 2020-04-23 13:55:52 +01:00
e_rc2.c Update copyright year 2020-04-23 13:55:52 +01:00
e_rc4_hmac_md5.c Update copyright year 2020-04-23 13:55:52 +01:00
e_rc4.c Update copyright year 2020-04-23 13:55:52 +01:00
e_rc5.c Update copyright year 2020-04-23 13:55:52 +01:00
e_seed.c Update copyright year 2020-04-23 13:55:52 +01:00
e_sm4.c Reorganize private crypto header files 2019-09-28 20:26:34 +02:00
e_xcbc_d.c Update copyright year 2020-04-23 13:55:52 +01:00
encode.c Update copyright year 2020-06-25 14:13:12 +01:00
evp_cnf.c Update copyright year 2020-05-15 14:09:49 +01:00
evp_enc.c Support cipher provider "iv state" 2020-08-11 07:07:37 -07:00
evp_err.c Extend the EVP_PKEY KDF to KDF provider bridge to also support HKDF 2020-08-10 14:51:59 +01:00
evp_fetch.c Add 'on demand self test' and status test to providers 2020-08-09 18:06:52 +10: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 Deprecate and replace EVP_CIPHER_CTX_iv()/etc. 2020-08-11 07:07:56 -07:00
evp_local.h rand_drbg: remove RAND_DRBG. 2020-08-07 14:16:47 +10: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 Update copyright year 2020-04-23 13:55:52 +01:00
evp_rand.c rand_drbg: remove RAND_DRBG. 2020-08-07 14:16:47 +10:00
evp_utils.c Reorganize local header files 2019-09-28 20:26:35 +02:00
exchange.c Implement a EVP_PKEY KDF to KDF provider bridge 2020-08-10 14:51:57 +01:00
kdf_lib.c Revert "kdf: make function naming consistent." 2020-07-16 14:21:07 +02:00
kdf_meth.c gettables: core changes to pass the provider context. 2020-08-07 08:02:14 +10:00
keymgmt_lib.c EVP KEYMGMT utils: Make a few more utility functions available 2020-07-24 16:32:00 +02:00
keymgmt_meth.c gettables: core changes to pass the provider context. 2020-08-07 08:02:14 +10:00
legacy_blake2.c Cleanup legacy digest methods. 2019-12-18 14:46:01 +10:00
legacy_md2.c Update copyright year 2020-04-23 13:55:52 +01:00
legacy_md4.c Update copyright year 2020-04-23 13:55:52 +01:00
legacy_md5_sha1.c Update copyright year 2020-04-23 13:55:52 +01:00
legacy_md5.c Update copyright year 2020-04-23 13:55:52 +01:00
legacy_mdc2.c Update copyright year 2020-04-23 13:55:52 +01:00
legacy_meth.h Cleanup legacy digest methods. 2019-12-18 14:46:01 +10:00
legacy_ripemd.c Update copyright year 2020-04-23 13:55:52 +01:00
legacy_sha.c Update copyright year 2020-04-23 13:55:52 +01:00
legacy_wp.c Update copyright year 2020-04-23 13:55:52 +01:00
m_null.c Reorganize private crypto header files 2019-09-28 20:26:34 +02:00
m_sigver.c Add EVP signature with libctx methods. 2020-08-09 17:34:52 +10:00
mac_lib.c mac: add some consistency to setting the XXX_final output length. 2020-08-07 08:07:07 +10:00
mac_meth.c gettables: core changes to pass the provider context. 2020-08-07 08:02:14 +10: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 Add evp_test fixes. 2020-08-07 14:29:00 +10:00
p5_crpt.c Update copyright year 2020-04-23 13:55:52 +01:00
p_dec.c Update copyright year 2020-04-23 13:55:52 +01:00
p_enc.c Update copyright year 2020-04-23 13:55:52 +01:00
p_lib.c Add DHX serialization 2020-08-11 20:39:19 +10:00
p_open.c Update copyright year 2020-04-23 13:55:52 +01:00
p_seal.c Update copyright year 2020-04-23 13:55:52 +01:00
p_sign.c Add EVP signature with libctx methods. 2020-08-09 17:34:52 +10:00
p_verify.c Add EVP signature with libctx methods. 2020-08-09 17:34:52 +10:00
pbe_scrypt.c Add evp_test fixes. 2020-08-07 14:29:00 +10:00
pkey_mac.c Revert "The EVP_MAC functions have been renamed for consistency. The EVP_MAC_CTX_*" 2020-07-16 14:21:07 +02:00
pmeth_check.c Rename FIPS_MODE to FIPS_MODULE 2020-04-28 15:37:37 +02:00
pmeth_fn.c Make the naming scheme for dispatched functions more consistent 2020-06-24 22:01:22 +02:00
pmeth_gn.c Make EVP_PKEY_CTX_[get|set]_ec_paramgen_curve_name more generic 2020-06-19 10:19:31 +01:00
pmeth_lib.c Add dh_kdf support to provider 2020-08-11 20:39:19 +10:00
signature.c Make the naming scheme for dispatched functions more consistent 2020-06-24 22:01:22 +02:00