openssl/util
Todd Short 37933acbea Add SSL/SSL_CTX_use_cert_and_key()
Add functions that will do the work of assigning certificate, privatekey
and chain certs to an SSL or SSL_CTX. If no privatekey is given, use the
publickey. This will permit the keys to pass validation for both ECDSA
and RSA. If a private key has already been set for the certificate, it
is discarded. A real private key can be set later.

This is an all-or-nothing setting of these parameters. Unlike the
SSL/SSL_CTX_use_certificate() and SSL/SSL_CTX_use_PrivateKey() functions,
the existing cert or privatekey is not modified (i.e. parameters copied).
This permits the existing cert/privatekey to be replaced.

It replaces the sequence of:
* SSL_use_certificate()
* SSL_use_privatekey()
* SSL_set1_chain()
And may actually be faster, as multiple checks are consolidated.

The private key can be NULL, if so an ENGINE module needs to contain the
actual private key that is to be used.

Note that ECDH (using the certificate's ECDSA key) ciphers do not work
without the private key being present, based on how the private key is
used in ECDH. ECDH does not offer PFS; ECDHE ciphers should be used instead.

Reviewed-by: Tim Hudson <tjh@openssl.org>
Reviewed-by: Ben Kaduk <kaduk@mit.edu>
(Merged from https://github.com/openssl/openssl/pull/1130)
2018-03-09 10:28:04 -06:00
..
perl Remove a spurious TLSProxy byte in TLSv1.3 2018-02-21 11:07:34 +00:00
build.info VMS: throw away [.util]shareable_image_wrap.c.in and add replacement scripts 2017-03-14 22:27:17 +01:00
ck_errf.pl Perltidy ck_errf 2017-05-03 14:16:58 -04:00
copy.pl util/copy.pl: work around glob quirk in some of earlier 5.1x Perl versions. 2017-11-10 09:39:29 +01:00
dofile.pl util/dofile.pl: only quote stuff that actually needs quoting 2018-03-06 21:18:33 +01:00
find-doc-nits Copyright update of more files that have changed this year 2018-01-19 13:34:03 +01:00
find-unused-errs Add -f -r flags to find-unused-errs 2017-04-16 07:57:12 -04:00
indent.pro Fix invalid function type casts. 2017-12-15 19:33:48 +01:00
libcrypto.num STORE: Add the possibility to search for specific information 2018-02-23 07:40:42 +01:00
libssl.num Add SSL/SSL_CTX_use_cert_and_key() 2018-03-09 10:28:04 -06:00
local_shlib.com.in VMS: don't use /DSF, turn off CALL_DEBUG instead 2017-03-15 03:09:57 +01:00
mkbuildinf.pl Fix SOURCE_DATE_EPOCH bug; use UTC 2017-11-27 14:34:14 -05:00
mkdef.pl util/mkdef.pl: use better array in search of 'DEPRECATEDIN_' 2018-02-08 12:33:08 +01:00
mkdir-p.pl
mkerr.pl Small simplification in mkerr.pl 2018-02-09 07:04:32 -05:00
mkrc.pl Fix curly braces on util/mkrc.pl 2017-05-03 14:16:58 -04:00
openssl-format-source Fix some Typos and indents 2017-08-11 10:16:33 -04:00
openssl-update-copyright Enhance util/openssl-update-copyright shell script 2018-01-10 18:23:28 +01:00
opensslwrap.sh
private.num STORE: Add documentation on search criteria 2018-02-23 07:40:42 +01:00
process_docs.pl Additional name for all commands 2017-10-18 15:33:56 -04:00
shlib_wrap.sh.in
su-filter.pl
unlocal_shlib.com.in VMS: don't use /DSF, turn off CALL_DEBUG instead 2017-03-15 03:09:57 +01:00