openssl/crypto
Shane Lontis f8e747471e Add a copy of OSSL_SELF_TEST_get_callback() to the fips module.
The user can set up a self test callback that should be activated when a keygen operation (e.g ec) occurs for the fips module.
The callback information is stored inside the applications library context, but this was not being triggered since the
library context used for the key generation operation was the internal library context used by the fips module (which is not
the same as the application's library context). During the keygen operation the OSSL_SELF_TEST_get_callback() function is used
to retrieve the callback info.
By having a seperate copy of OSSL_SELF_TEST_get_callback() for the fips module we can ensure that the parent library context
is used instead.
The core OSSL_SELF_TEST_get_callback() function pointer is passed across the boundary during the fips modules entry point
such that the fips version of the function can call it after changing the libctx.

Reviewed-by: Tomas Mraz <tmraz@fedoraproject.org>
Reviewed-by: Matt Caswell <matt@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/12877)
2020-09-19 18:21:09 +10:00
..
aes Ignore vendor name in Clang version number. 2020-08-27 20:27:26 -07:00
aria Reorganize private crypto header files 2019-09-28 20:26:34 +02:00
asn1 Fix safestack issues in conf.h 2020-09-13 11:11:20 +01: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 NonStop port updates for 3.0.0. 2020-09-12 20:32:11 +02:00
bn Diverse build.info: Adjust paths 2020-09-10 09:50:56 +02: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 Ignore vendor name in Clang version number. 2020-08-27 20:27:26 -07:00
cmac Delete unused PKEY MAC files 2020-08-29 17:40:11 +10:00
cmp Fix safestack issues in conf.h 2020-09-13 11:11:20 +01:00
cms Fix safestack issues in ess.h 2020-09-13 11:10:41 +01:00
comp Reorganize local header files 2019-09-28 20:26:35 +02:00
conf Fix safestack issues in conf.h 2020-09-13 11:11:20 +01:00
crmf Fix safestack issues in crmf.h 2020-09-13 11:10:41 +01:00
ct Fix safestack issues in ct.h 2020-09-13 11:10:41 +01:00
des Build: Remove faulty DES assembler spec 2020-06-20 11:02:18 +02:00
dh Fix coverity issue: CID 1466483 - Improper use of Negative value in dh_ctrl.c 2020-09-12 15:57:24 +10:00
dsa keygen: add FIPS error state management to conditional self tests 2020-09-12 16:46:51 +10:00
dso Fix safestack issues in crypto.h 2020-09-13 11:11:21 +01:00
ec EC_KEY: add EC_KEY_decoded_from_explicit_params() 2020-09-17 17:15:15 +02:00
encode_decode Fix stacks of OPENSSL_STRING, OPENSSL_CSTRING and OPENSSL_BLOCK 2020-09-13 11:10:39 +01:00
engine Fix safestack issues in conf.h 2020-09-13 11:11:20 +01:00
err prov/drbg: cleanup some RAND_DRBG leftovers 2020-09-14 06:36:22 +02:00
ess Fix safestack issues in ess.h 2020-09-13 11:10:41 +01:00
evp Add KEM (Key encapsulation mechanism) support to providers 2020-09-19 18:08:46 +10:00
ffc fix provider signatures 2020-09-18 14:20:39 +01:00
hmac Delete unused PKEY MAC files 2020-08-29 17:40:11 +10:00
http Fix Coverity CID 1466708 - correct pointer calculation in one case 2020-09-17 15:29:46 +02: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 In a non-shared build, don't include the md5 object files in legacy provider 2020-09-09 17:59:08 +10:00
mdc2 Update copyright year 2020-04-23 13:55:52 +01:00
modes Ignore vendor name in Clang version number. 2020-08-27 20:27:26 -07:00
objects Add 4 new OIDs for PKIX key purposes and 3 new CMP information types 2020-09-08 23:22:29 +02:00
ocsp Fix safestack issues in ocsp.h 2020-09-13 11:10:41 +01:00
pem Fix safestack issues in x509.h 2020-09-13 11:09:45 +01:00
perlasm Fix many MarkDown issues in {NOTES*,README*,HACKING,LICENSE}.md files 2020-07-05 11:29:43 +02:00
pkcs7 Fix safestack issues in pkcs7.h 2020-09-13 11:10:41 +01:00
pkcs12 PKCS#8: free data on error path in newpass_bag 2020-09-16 07:22:43 +10:00
poly1305 Diverse build.info: Adjust paths 2020-09-10 09:50:56 +02:00
property Ignore unused return values from some sk_*() macros 2020-09-13 11:11:57 +01:00
rand NonStop port updates for 3.0.0. 2020-09-12 20:32:11 +02: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 Diverse build.info: Adjust paths 2020-09-10 09:50:56 +02:00
rsa keygen: add FIPS error state management to conditional self tests 2020-09-12 16:46:51 +10:00
seed Update copyright year 2020-04-23 13:55:52 +01:00
sha Ignore vendor name in Clang version number. 2020-08-27 20:27:26 -07:00
siphash Delete unused PKEY MAC files 2020-08-29 17:40:11 +10: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 Fix safestack issues in srp.h 2020-09-13 11:10:41 +01:00
stack Rework how our providers are built 2019-10-10 14:12:15 +02:00
store Fix safestack issues in x509.h 2020-09-13 11:09:45 +01:00
ts Fix safestack issues in conf.h 2020-09-13 11:11:20 +01:00
txt_db Following the license change, modify the boilerplates in crypto/ 2018-12-06 15:32:17 +01:00
ui Fix safestack issues in ui.h 2020-09-13 11:11:21 +01:00
whrlpool Avoid undefined behavior with unaligned accesses 2020-05-27 20:11:20 +02:00
x509 Rename check_chain_extensions to check_chain 2020-09-17 17:15:15 +02: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 crypto/armcap.c, crypto/ppccap.c: stricter use of getauxval() 2019-01-16 18:00:48 +01:00
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 ossl_bsearch(): New generic internal binary search utility function 2019-05-08 16:17:16 +02:00
build.info Punycode decoding implementation 2020-08-26 14:04:11 +03: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 Fix post-condition in algorithm_do_this 2020-09-02 15:21:11 -07: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 NonStop port updates for 3.0.0. 2020-09-12 20:32:11 +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 Following the license change, modify the boilerplates in crypto/ 2018-12-06 15:32:17 +01:00
ex_data.c Ignore unused return values from some sk_*() macros 2020-09-13 11:11:57 +01:00
getenv.c Windows get ENV value as UTF-8 encoded string instead of a raw string 2020-08-22 15:05:56 +10:00
ia64cpuid.S Following the license change, modify the boilerplates in crypto/ 2018-12-06 15:32:17 +01:00
info.c Print CPUINFO also for s390 processors 2020-06-22 02:35:01 +02:00
init.c STORE: Deprecate legacy / ENGINE functions 2020-09-03 17:48:32 +02:00
initthread.c Fix coverity CID #1454815 - NULL ptr dereference in initthread.c 2020-09-05 15:41:31 +10:00
LPdir_nyi.c Following the license change, modify the boilerplates in crypto/ 2018-12-06 15:32:17 +01:00
LPdir_unix.c Fix a -Warray-bounds gcc warning in OPENSSL_DIR_read 2019-11-09 10:49:34 +01:00
LPdir_vms.c Following the license change, modify the boilerplates in crypto/ 2018-12-06 15:32:17 +01:00
LPdir_win32.c Following the license change, modify the boilerplates in crypto/ 2018-12-06 15:32:17 +01:00
LPdir_win.c Following the license change, modify the boilerplates in crypto/ 2018-12-06 15:32:17 +01:00
LPdir_wince.c Following the license change, modify the boilerplates in crypto/ 2018-12-06 15:32:17 +01:00
mem_clr.c Following the license change, modify the boilerplates in crypto/ 2018-12-06 15:32:17 +01:00
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 Following the license change, modify the boilerplates in crypto/ 2018-12-06 15:32:17 +01:00
o_fopen.c Following the license change, modify the boilerplates in crypto/ 2018-12-06 15:32:17 +01:00
o_init.c Following the license change, modify the boilerplates in crypto/ 2018-12-06 15:32:17 +01:00
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 OSSL_PARAM: Add string pointer getters 2020-08-24 10:02:26 +02:00
pariscid.pl Update copyright year 2020-04-23 13:55:52 +01:00
passphrase.c CORE: Fix small bug in passphrase caching 2020-09-03 17:48:32 +02: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 Fix safestack issues in conf.h 2020-09-13 11:11:20 +01:00
provider_core.c STORE: Add a built-in 'file:' storemgmt implementation (loader) 2020-09-03 17:48:32 +02:00
provider_local.h Replumbing: Add a mechanism to pre-populate the provider store 2019-03-19 14:06:58 +01:00
provider_predefined.c serialisation: Add a built-in base provider. 2020-07-30 20:15:22 +10:00
provider.c provider: disable fall-backs if OSSL_PROVIDER_load() fails. 2020-08-14 18:17:47 +10:00
punycode.c Punycode decoding implementation 2020-08-26 14:04:11 +03: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 Add a copy of OSSL_SELF_TEST_get_callback() to the fips module. 2020-09-19 18:21:09 +10:00
sparc_arch.h Fix header file include guard names 2019-09-28 20:26:36 +02:00
sparccpuid.S Following the license change, modify the boilerplates in crypto/ 2018-12-06 15:32:17 +01:00
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 NonStop port updates for 3.0.0. 2020-09-12 20:32:11 +02: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 Following the license change, modify the boilerplates in crypto/ 2018-12-06 15:32:17 +01:00
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