openssl/crypto
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
..
aes Avoid undefined behavior with unaligned accesses 2020-05-27 20:11:20 +02:00
aria Reorganize private crypto header files 2019-09-28 20:26:34 +02:00
asn1 Add libctx to SMIME ASN1 2020-08-09 17:34:52 +10:00
async Update copyright year 2020-07-16 14:47:04 +02:00
bf Update copyright year 2020-04-23 13:55:52 +01:00
bio Update copyright year 2020-08-06 13:22:30 +01:00
bn Update copyright year 2020-08-06 13:22:30 +01:00
buffer Rework how our providers are built 2019-10-10 14:12:15 +02:00
camellia Update copyright year 2020-04-23 13:55:52 +01:00
cast Fix logic error for building x86 CAST assembly 2020-06-14 12:35:34 -07:00
chacha Update copyright year 2020-07-16 14:47:04 +02:00
cmac Revert "The EVP_MAC functions have been renamed for consistency. The EVP_MAC_CTX_*" 2020-07-16 14:21:07 +02:00
cmp Add OSSL_CMP_MSG_write(), use it in apps/cmp.c 2020-07-30 20:14:51 +02:00
cms Add libctx support to CMS. 2020-08-09 17:34:52 +10:00
comp Reorganize local header files 2019-09-28 20:26:35 +02:00
conf conf: add an error if the openssl_conf section isn't found. 2020-08-11 08:08:24 +10:00
crmf Streamline the CMP request session API, adding the generalized OSSL_CMP_exec_certreq() 2020-07-30 09:38:08 +02:00
ct Add EVP signature with libctx methods. 2020-08-09 17:34:52 +10:00
des Build: Remove faulty DES assembler spec 2020-06-20 11:02:18 +02:00
dh Add DHX serialization 2020-08-11 20:39:19 +10:00
dsa Add multiple fixes for ffc key generation using invalid p,q,g parameters. 2020-07-09 13:43:10 +10:00
dso Changed uintptr_t to size_t. WinCE6 doesn't seem it have the definition. 2020-07-15 23:03:21 +02:00
ec Add libctx to ecdh_KDF_X9_63. 2020-08-09 17:34:52 +10:00
engine EVP: deprecate the EVP_X_meth_ functions. 2020-07-22 20:19:01 +10:00
err conf: add an error if the openssl_conf section isn't found. 2020-08-11 08:08:24 +10:00
ess Add X509 related libctx changes. 2020-07-24 22:53:27 +10:00
evp Deprecate and replace EVP_CIPHER_CTX_iv()/etc. 2020-08-11 07:07:56 -07:00
ffc Add multiple fixes for ffc key generation using invalid p,q,g parameters. 2020-07-09 13:43:10 +10:00
hmac coverity 1462580 Improper use of negative value 2020-04-30 20:21:33 +10:00
http Ensure a string is properly terminated in http_client.c 2020-07-03 17:18:41 +01:00
idea Update copyright year 2020-04-23 13:55:52 +01:00
kdf Deprecate ERR_load_KDF_strings() 2019-11-12 13:30:35 +01:00
lhash Rework how our providers are built 2019-10-10 14:12:15 +02:00
md2 Update copyright year 2020-04-23 13:55:52 +01:00
md4 Update copyright year 2020-04-23 13:55:52 +01:00
md5 Update copyright year 2020-04-23 13:55:52 +01:00
mdc2 Update copyright year 2020-04-23 13:55:52 +01:00
modes Fix provider cipher reinit issue 2020-07-22 10:40:55 +10:00
objects Update copyright year 2020-08-06 13:22:30 +01:00
ocsp Update copyright year 2020-05-15 14:09:49 +01:00
pem PEM: Fix i2b_PvK to use EVP_Encrypt calls consistently 2020-08-07 04:13:28 +02:00
perlasm Fix many MarkDown issues in {NOTES*,README*,HACKING,LICENSE}.md files 2020-07-05 11:29:43 +02:00
pkcs7 Add libctx support to PKCS7. 2020-08-09 17:34:52 +10:00
pkcs12 Add new APIs to get PKCS12 secretBag OID and value 2020-08-07 07:59:48 +10:00
poly1305 Update copyright year 2020-04-23 13:55:52 +01:00
property Add 'on demand self test' and status test to providers 2020-08-09 18:06:52 +10:00
rand rand_drbg: remove RAND_DRBG. 2020-08-07 14:16:47 +10:00
rc2 Update copyright year 2020-04-23 13:55:52 +01:00
rc4 Update copyright year 2020-04-23 13:55:52 +01:00
rc5 Update copyright year 2020-04-23 13:55:52 +01:00
ripemd Update copyright year 2020-04-23 13:55:52 +01:00
rsa Fix EVP_PKEY_CTX_get_rsa_oaep_md() & EVP_PKEY_CTX_get_rsa_mgf1_md() so they use a libctx to retrieve the digest 2020-08-09 17:34:52 +10:00
seed Update copyright year 2020-04-23 13:55:52 +01:00
serializer DESERIALIZER: Adjust to allow the use several deserializers with same name 2020-08-07 04:13:28 +02:00
sha Update copyright year 2020-07-16 14:47:04 +02:00
siphash Reorganize private crypto header files 2019-09-28 20:26:34 +02:00
sm2 Add evp_test fixes. 2020-08-07 14:29:00 +10:00
sm3 Cleanup legacy digest methods. 2019-12-18 14:46:01 +10:00
sm4 Reorganize private crypto header files 2019-09-28 20:26:34 +02:00
srp In OpenSSL builds, declare STACK for datatypes ... 2020-04-24 16:42:46 +02:00
stack Rework how our providers are built 2019-10-10 14:12:15 +02:00
store PEM: Make general MSBLOB reader functions exposed internally 2020-08-07 04:13:28 +02:00
ts deprecate engines in libcrypto 2020-07-16 09:12:27 +02:00
txt_db
ui Update copyright year 2020-06-04 14:33:57 +01:00
whrlpool Avoid undefined behavior with unaligned accesses 2020-05-27 20:11:20 +02:00
x509 Add libctx support to PKCS7. 2020-08-09 17:34:52 +10:00
alphacpuid.pl Update copyright year 2020-04-23 13:55:52 +01:00
arm64cpuid.pl Update copyright year 2020-04-23 13:55:52 +01:00
arm_arch.h Fix header file include guard names 2019-09-28 20:26:36 +02:00
armcap.c
armv4cpuid.pl Update copyright year 2020-04-23 13:55:52 +01:00
asn1_dsa.c Fix some typos 2019-12-11 19:04:01 +01:00
bsearch.c
build.info Remove explicit dependency on configdata.pm when processing .in files 2020-05-13 10:14:53 +02:00
c64xpluscpuid.pl Update copyright year 2020-04-23 13:55:52 +01:00
context.c CORE: Add an internal function to distinguish the global default context 2020-06-28 10:55:52 +02:00
core_algorithm.c CORE: perform post-condition in algorithm_do_this() under all circumstances 2020-07-05 14:07:14 +02:00
core_fetch.c Update copyright year 2020-06-04 14:33:57 +01:00
core_namemap.c namemap: fix threading issue 2020-07-29 17:31:32 +10:00
cpt_err.c CORE: ossl_namemap_add_names(): new function to add multiple names 2019-11-29 20:42:12 +01:00
cryptlib.c Reorganize private crypto header files 2019-09-28 20:26:34 +02:00
ctype.c Reorganize private crypto header files 2019-09-28 20:26:34 +02:00
cversion.c Cleanup include/openssl/opensslv.h.in 2019-11-08 16:12:57 +01:00
der_writer.c Change the provider implementation of X942kdf to use wpacket to do der encoding of sharedInfo 2020-08-04 12:18:51 +10:00
dllmain.c Reorganize private crypto header files 2019-09-28 20:26:34 +02:00
ebcdic.c
ex_data.c Fix the parameter types of the CRYPTO_EX_dup function type. 2020-05-23 15:31:14 +02:00
getenv.c
ia64cpuid.S
info.c Print CPUINFO also for s390 processors 2020-06-22 02:35:01 +02:00
init.c Update copyright year 2020-07-16 14:47:04 +02:00
initthread.c Make the naming scheme for dispatched functions more consistent 2020-06-24 22:01:22 +02:00
LPdir_nyi.c
LPdir_unix.c Fix a -Warray-bounds gcc warning in OPENSSL_DIR_read 2019-11-09 10:49:34 +01:00
LPdir_vms.c
LPdir_win32.c
LPdir_win.c
LPdir_wince.c
mem_clr.c
mem_sec.c Fix wrong return value check of mmap function 2020-06-23 10:08:28 +10:00
mem.c Rename FIPS_MODE to FIPS_MODULE 2020-04-28 15:37:37 +02:00
mips_arch.h Fix header file include guard names 2019-09-28 20:26:36 +02:00
o_dir.c
o_fopen.c
o_init.c
o_str.c Enable WinCE build without deceiving _MSC_VER. 2020-07-15 23:03:22 +02:00
o_time.c Update copyright year 2020-07-16 14:47:04 +02:00
packet.c WPACKET: don't write DER length when we don't want to 2020-05-04 05:50:06 +02:00
param_build_set.c Add EVP_PKEY_gettable_params support for accessing EVP_PKEY key data fields 2020-04-01 15:51:18 +10:00
param_build.c params: add OSSL_PARAM helpers for time_t. 2020-06-24 20:05:41 +10:00
params_from_text.c params: handle the modified sentinel. 2020-04-25 18:46:01 +10:00
params.c params: add OSSL_PARAM helpers for time_t. 2020-06-24 20:05:41 +10:00
pariscid.pl Update copyright year 2020-04-23 13:55:52 +01:00
ppc_arch.h Fix header file include guard names 2019-09-28 20:26:36 +02:00
ppccap.c Update copyright year 2020-05-15 14:09:49 +01:00
ppccpuid.pl Update copyright year 2020-04-23 13:55:52 +01:00
provider_conf.c In OpenSSL builds, declare STACK for datatypes ... 2020-04-24 16:42:46 +02:00
provider_core.c Add 'on demand self test' and status test to providers 2020-08-09 18:06:52 +10:00
provider_local.h
provider_predefined.c serialisation: Add a built-in base provider. 2020-07-30 20:15:22 +10:00
provider.c Add 'on demand self test' and status test to providers 2020-08-09 18:06:52 +10:00
README-sparse_array.md Fix many MarkDown issues in {NOTES*,README*,HACKING,LICENSE}.md files 2020-07-05 11:29:43 +02:00
s390x_arch.h Update copyright year 2020-04-23 13:55:52 +01:00
s390xcap.c crypto/s390xcap.c: Add guards around the GETAUXVAL checks 2019-10-21 15:14:09 +02:00
s390xcpuid.pl Update copyright year 2020-04-23 13:55:52 +01:00
self_test_core.c Rename FIPS_MODE to FIPS_MODULE 2020-04-28 15:37:37 +02:00
sparc_arch.h Fix header file include guard names 2019-09-28 20:26:36 +02:00
sparccpuid.S
sparcv9cap.c Update copyright year 2020-04-23 13:55:52 +01:00
sparse_array.c Add 'on demand self test' and status test to providers 2020-08-09 18:06:52 +10:00
threads_none.c drbg: ensure fork-safety without using a pthread_atfork handler 2019-09-11 11:22:18 +02:00
threads_pthread.c Update copyright year 2020-05-15 14:09:49 +01:00
threads_win.c Update copyright year 2020-04-23 13:55:52 +01:00
trace.c Update copyright year 2020-07-16 14:47:04 +02:00
uid.c Remove NextStep support 2019-07-01 13:32:46 -04:00
vms_rms.h
x86_64cpuid.pl Update copyright year 2020-04-23 13:55:52 +01:00
x86cpuid.pl Update copyright year 2020-04-23 13:55:52 +01:00