openssl/crypto
slontis 79c98fc6cc Fix EVP_PKEY_print_private() so that it works with non default providers.
At some point in time it was decided that the EC keymanagers ec_export()
function would only allow the selection to be both the public + private
parts. If just the private element is selected it returns an error.
Many openssl commandline apps use EVP_PKEY_print_private() which passes
EVP_PKEY_PRIVATE_KEY to the encoder. This selection propagates to
encoder_construct_pkey(). For external providers (such as the fips
provider this will call the keymanagers export() with the selection set
to just the private part.

So we either need to
1) change the selection in EVP_PKEY_print_private() or
2) modify the selection used in the export used in
   encoder_construct_pkey
3) Change the ec_export to allow this.

I have chosen 2) but I am not sure if this is the correct thing to do
or whether it should conditionally do this when the output_type ==
'text'.

Issue was reported by Ilia Okomin (Oracle).

Reviewed-by: Paul Dale <ppzgs1@gmail.com>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/26004)
2024-11-29 17:11:23 +01:00
..
aes Copyright year updates 2024-09-05 09:35:49 +02:00
aria
asn1 Fix smime-type for AuthEnvelopedData 2024-09-19 20:59:25 +02:00
async Copyright year updates 2024-09-05 09:35:49 +02:00
bf
bio Deprecate all BIO_meth_get_*() functions 2024-11-28 16:48:43 +01:00
bn Mark OPENSSL_armcap_P .hidden in arm asm 2024-11-22 11:22:00 +01:00
buffer
camellia Copyright year updates 2024-09-05 09:35:49 +02:00
cast
chacha Mark OPENSSL_armcap_P .hidden in arm asm 2024-11-22 11:22:00 +01:00
cmac Add FIPS indicator to CMAC. 2024-07-31 09:04:17 +10:00
cmp Fix doc and use of_X509v3_add_extensions() in case sk_X509_EXTENSION_num(exts) <= 0 2024-11-13 17:19:58 +01:00
cms Fix multiple wrong checks of EVP_PKEY_set1_encoded_public_key 2024-11-22 12:09:38 +01:00
comp
conf Copyright year updates 2024-09-05 09:35:49 +02:00
crmf Copyright year updates 2024-09-05 09:35:49 +02:00
ct
des Copyright year updates 2024-09-05 09:35:49 +02:00
dh
dsa Copyright year updates 2024-09-05 09:35:49 +02:00
dso replace various calls to sprintf() by BiO_snprintf() to avoid compiler warnings, e.g., on MacOS 2024-10-12 15:38:07 +02:00
ec ec: change FIPS zeroization to use the OPENSSL_PEDANTIC_ZEROIZATION define 2024-11-28 15:13:35 +01:00
encode_decode Fix EVP_PKEY_print_private() so that it works with non default providers. 2024-11-29 17:11:23 +01:00
engine Copyright year updates 2024-09-05 09:35:49 +02:00
err Add failed entropy continuous test error 2024-09-19 08:43:58 +10:00
ess Copyright year updates 2024-09-05 09:35:49 +02:00
evp Add CTX copy function for EVP_MD to optimize the performance of EVP_MD_CTX_copy_ex. 2024-11-20 14:12:53 +01:00
ffc ffc: change FIPS zeroization to use the OPENSSL_PEDANTIC_ZEROIZATION define 2024-11-28 15:13:35 +01:00
hashtable ossl_ht_insert(): Allow for 4 iterations of grow_hashtable() 2024-08-22 14:52:43 +02:00
hmac s390x: Disable HMAC hardware acceleration when an engine is used for the digest 2024-09-03 21:15:00 +02:00
hpke Fix potential memory leak in OSSL_HPKE_CTX_new() 2024-10-30 11:58:16 +00:00
http OSSL_HTTP_adapt_proxy(): fix handling of escaped IPv6 host addresses and of whitespace in no_proxy 2024-09-23 22:15:50 +02:00
idea Copyright year updates 2024-09-05 09:35:49 +02:00
kdf
lhash
md2
md4
md5
mdc2
modes fix small footprint builds on arm 2024-09-12 09:07:12 +10:00
objects feat: add TCG / platform certificate OIDs 2024-09-05 17:22:40 +02:00
ocsp Copyright year updates 2024-09-05 09:35:49 +02:00
pem Fix Edge Cases in Password Callback Handling 2024-09-09 08:58:03 +02:00
perlasm Copyright year updates 2024-09-05 09:35:49 +02:00
pkcs7 Use sk_X509_ATTRIBUTE_deep_copy() to copy attribute stacks in pk7_doit.c 2024-11-28 15:27:08 +01:00
pkcs12 Handle PBMAC1 with absent PBKDF2 PRF 2024-10-07 17:51:54 +02:00
poly1305 Mark OPENSSL_armcap_P .hidden in arm asm 2024-11-22 11:22:00 +01:00
property Make ossl_trace_param_values an official api function 2024-11-19 08:38:25 -05:00
rand jitter: support an internal jitter entropy source in the FIPS provider 2024-10-09 13:53:10 +11:00
rc2
rc4
rc5
ripemd
rsa rsa: change FIPS zeroization to use the OPENSSL_PEDANTIC_ZEROIZATION define 2024-11-28 15:13:35 +01:00
seed
sha Mark OPENSSL_armcap_P .hidden in arm asm 2024-11-22 11:22:00 +01:00
siphash
sm2 sm2_sig_verify(): Do not call BN_CTX_end() without BN_CTX_start() 2024-11-21 11:13:56 +01:00
sm3 Copyright year updates 2024-09-05 09:35:49 +02:00
sm4 Copyright year updates 2024-09-05 09:35:49 +02:00
srp Fix potential double free through SRP_user_pwd_set1_ids() 2024-10-11 14:22:36 +02:00
stack
store Copyright year updates 2024-09-05 09:35:49 +02:00
thread Fix no-thread-pool build on Windows 2024-09-10 16:36:39 +02:00
ts Copyright year updates 2024-09-05 09:35:49 +02:00
txt_db
ui Fix Edge Cases in Password Callback Handling 2024-09-09 08:58:03 +02:00
whrlpool Copyright year updates 2024-09-05 09:35:49 +02:00
x509 Fix wrong return value checks for some functions 2024-11-22 12:10:26 +01:00
alphacpuid.pl
arm64cpuid.pl
arm_arch.h
armcap.c Enable AES and SHA3 optimisations on Apple Silicon M4-based macOS systems 2024-11-22 14:56:04 +01:00
armv4cpuid.pl Mark OPENSSL_armcap_P .hidden in arm asm 2024-11-22 11:22:00 +01:00
asn1_dsa.c
bsearch.c
build.info Add FIPS indicator callback. 2024-07-11 08:29:43 +10:00
c64xpluscpuid.pl
comp_methods.c Move stack of compression methods from libssl to OSSL_LIB_CTX 2024-05-28 08:56:13 +02:00
context.c fips: continuous random bit generator tests 2024-09-19 08:44:14 +10:00
core_algorithm.c
core_fetch.c
core_namemap.c Copyright year updates 2024-09-05 09:35:49 +02:00
cpt_err.c Use the new hashtable for core_namemap 2024-08-21 15:21:26 +02:00
cpuid.c
cryptlib.c
ctype.c
cversion.c Revert API change of OPENSSL_version() 2024-10-17 13:36:58 +02:00
defaults.c Fix typos found by codespell 2024-08-07 19:09:43 +02:00
der_writer.c
deterministic_nonce.c Copyright year updates 2024-09-05 09:35:49 +02:00
dllmain.c
ebcdic.c
ex_data.c
getenv.c
ia64cpuid.S
indicator_core.c Add FIPS indicator callback. 2024-07-11 08:29:43 +10:00
info.c Add 'openssl info' item for the Windows install context 2024-10-16 19:29:53 +02:00
init.c
initthread.c Recycle the TLS key that holds thread_event_handler 2024-09-05 17:19:53 +02:00
loongarch64cpuid.pl
loongarch_arch.h
loongarchcap.c
LPdir_nyi.c
LPdir_unix.c
LPdir_vms.c
LPdir_win32.c
LPdir_win.c
LPdir_wince.c
mem_clr.c
mem_sec.c Copyright year updates 2024-09-05 09:35:49 +02:00
mem.c Use static array (length 256) for copy of OPENSSL_MALLOC_FAILURES 2024-11-28 17:01:28 +01:00
mips_arch.h
o_dir.c
o_fopen.c Copyright year updates 2024-09-05 09:35:49 +02:00
o_init.c
o_str.c crypto: factorize to hex chars conversion code. 2024-08-07 19:25:10 +02:00
o_time.c
packet.c
param_build_set.c
param_build.c
params_dup.c
params_from_text.c Make ossl_trace_param_values an official api function 2024-11-19 08:38:25 -05:00
params_idx.c.in
params.c uefi: move variables 2024-05-30 18:38:12 +02:00
pariscid.pl
passphrase.c
ppccap.c Copyright year updates 2024-09-05 09:35:49 +02:00
ppccpuid.pl
provider_child.c
provider_conf.c
provider_core.c Make ossl_trace_param_values an official api function 2024-11-19 08:38:25 -05:00
provider_local.h
provider_predefined.c
provider.c
punycode.c
quic_vlint.c
rcu_internal.h
README-sparse_array.md
riscv32cpuid.pl Copyright year updates 2024-09-05 09:35:49 +02:00
riscv64cpuid.pl
riscvcap.c Avoid undefined behaviour with the <ctype.h> functions. 2024-10-10 20:47:48 +02:00
s390x_arch.h s390x: Don't probe crypto cards for ME/CRT offloading during initialization 2024-10-23 15:07:01 +02:00
s390xcap.c s390x: Don't probe crypto cards for ME/CRT offloading during initialization 2024-10-23 15:07:01 +02:00
s390xcpuid.pl Copyright year updates 2024-09-05 09:35:49 +02:00
self_test_core.c Copyright year updates 2024-09-05 09:35:49 +02:00
sleep.c For Unix, refactor OSSL_sleep() to use nanosleep() instead of usleep() 2024-05-22 09:59:32 +02:00
sparccpuid.S
sparcv9cap.c
sparse_array.c Copyright year updates 2024-09-05 09:35:49 +02:00
threads_lib.c
threads_none.c threads: follow formatting rules 2024-09-05 17:09:50 +02:00
threads_pthread.c Fix solaris build in CRYPTO_atomic_store api 2024-11-29 12:08:10 +01:00
threads_win.c threads_win: fix improper cast to long * instead of LONG * 2024-09-05 17:09:50 +02:00
time.c crypto: fix missing <winsock.h> indirection inclusion. 2024-09-05 17:02:51 +02:00
trace.c Add a QUERY trace category 2024-11-19 08:36:19 -05:00
uid.c
vms_rms.h
x86_64cpuid.pl
x86cpuid.pl