Dr. David von Oheimb [Fri, 20 Nov 2020 11:29:32 +0000 (12:29 +0100)]
find-doc-nits: fix regexp and point out that CA.pl and tsget.pod are special
Reviewed-by: Tomas Mraz <tmraz@fedoraproject.org>
(Merged from https://github.com/openssl/openssl/pull/13315)
Richard Levitte [Mon, 14 Sep 2020 09:30:14 +0000 (11:30 +0200)]
PEM: Add a more generic way to implement PEM _ex functions for libctx
This also adds the following functions, for completeness:
PEM_write_PrivateKey_ex(), PEM_write_bio_PrivateKey_ex(),
PEM_write_PUBKEY_ex, PEM_write_bio_PUBKEY_ex
Fixes #13542
Reviewed-by: Shane Lontis <shane.lontis@oracle.com>
(Merged from https://github.com/openssl/openssl/pull/13547)
Richard Levitte [Fri, 4 Dec 2020 08:34:25 +0000 (09:34 +0100)]
EVP: Adjust EVP_PKEY_size(), EVP_PKEY_bits() and EVP_PKEY_security_bits()
These functions are documented to return 0 if the size they are
supposed to return 0 if the size isn't available. They needed a bit
of adjustment to actually do so, since the backend functions they call
might return negative numbers in that case.
Reviewed-by: Tomas Mraz <tmraz@fedoraproject.org>
(Merged from https://github.com/openssl/openssl/pull/13611)
Richard Levitte [Fri, 4 Dec 2020 07:55:19 +0000 (08:55 +0100)]
DSA: Make DSA_bits() and DSA_size() check that there are key parameters
Without these check, a DSA structure without key parameters will cause
these functions to crash. This is also the case in pre-3.0 OpenSSL,
but since we now extract these data early, to cache them in the
EVP_PKEY structure, the same crash happens earlier and much more
internally.
The added checks are of the same kind as DSA_security_bits() already
does.
Fixes #13610
Reviewed-by: Tomas Mraz <tmraz@fedoraproject.org>
(Merged from https://github.com/openssl/openssl/pull/13611)
Richard Levitte [Fri, 20 Nov 2020 09:10:06 +0000 (10:10 +0100)]
Switch deprecation method for X.509
Reviewed-by: Tomas Mraz <tmraz@fedoraproject.org>
(Merged from https://github.com/openssl/openssl/pull/13460)
Richard Levitte [Fri, 20 Nov 2020 09:09:55 +0000 (10:09 +0100)]
Switch deprecation method for Whirlpool
Reviewed-by: Tomas Mraz <tmraz@fedoraproject.org>
(Merged from https://github.com/openssl/openssl/pull/13460)
Richard Levitte [Fri, 20 Nov 2020 09:09:42 +0000 (10:09 +0100)]
Switch deprecation method for OSSL_STORE
Reviewed-by: Tomas Mraz <tmraz@fedoraproject.org>
(Merged from https://github.com/openssl/openssl/pull/13460)
Richard Levitte [Fri, 20 Nov 2020 09:09:29 +0000 (10:09 +0100)]
Switch deprecation method for SSL
Reviewed-by: Tomas Mraz <tmraz@fedoraproject.org>
(Merged from https://github.com/openssl/openssl/pull/13460)
Richard Levitte [Fri, 20 Nov 2020 09:09:15 +0000 (10:09 +0100)]
Switch deprecation method for SRP
Reviewed-by: Tomas Mraz <tmraz@fedoraproject.org>
(Merged from https://github.com/openssl/openssl/pull/13460)
Richard Levitte [Fri, 20 Nov 2020 09:09:06 +0000 (10:09 +0100)]
Switch deprecation method for SHA
Reviewed-by: Tomas Mraz <tmraz@fedoraproject.org>
(Merged from https://github.com/openssl/openssl/pull/13460)
Richard Levitte [Fri, 20 Nov 2020 09:08:58 +0000 (10:08 +0100)]
Switch deprecation method for SEED
Reviewed-by: Tomas Mraz <tmraz@fedoraproject.org>
(Merged from https://github.com/openssl/openssl/pull/13460)
Richard Levitte [Fri, 20 Nov 2020 09:08:49 +0000 (10:08 +0100)]
Switch deprecation method for RIPEMD
Reviewed-by: Tomas Mraz <tmraz@fedoraproject.org>
(Merged from https://github.com/openssl/openssl/pull/13460)
Richard Levitte [Fri, 20 Nov 2020 09:08:33 +0000 (10:08 +0100)]
Switch deprecation method for RC5
Reviewed-by: Tomas Mraz <tmraz@fedoraproject.org>
(Merged from https://github.com/openssl/openssl/pull/13460)
Richard Levitte [Fri, 20 Nov 2020 09:08:27 +0000 (10:08 +0100)]
Switch deprecation method for RC4
Reviewed-by: Tomas Mraz <tmraz@fedoraproject.org>
(Merged from https://github.com/openssl/openssl/pull/13460)
Richard Levitte [Fri, 20 Nov 2020 09:08:18 +0000 (10:08 +0100)]
Switch deprecation method for RC2
Reviewed-by: Tomas Mraz <tmraz@fedoraproject.org>
(Merged from https://github.com/openssl/openssl/pull/13460)
Richard Levitte [Fri, 20 Nov 2020 09:08:03 +0000 (10:08 +0100)]
Switch deprecation method for RAND
Reviewed-by: Tomas Mraz <tmraz@fedoraproject.org>
(Merged from https://github.com/openssl/openssl/pull/13460)
Richard Levitte [Fri, 20 Nov 2020 09:07:54 +0000 (10:07 +0100)]
Switch deprecation method for PKCS#12
Reviewed-by: Tomas Mraz <tmraz@fedoraproject.org>
(Merged from https://github.com/openssl/openssl/pull/13460)
Richard Levitte [Fri, 20 Nov 2020 09:07:40 +0000 (10:07 +0100)]
Switch deprecation method for MDC2
Reviewed-by: Tomas Mraz <tmraz@fedoraproject.org>
(Merged from https://github.com/openssl/openssl/pull/13460)
Richard Levitte [Fri, 20 Nov 2020 09:07:31 +0000 (10:07 +0100)]
Switch deprecation method for MD5
Reviewed-by: Tomas Mraz <tmraz@fedoraproject.org>
(Merged from https://github.com/openssl/openssl/pull/13460)
Richard Levitte [Fri, 20 Nov 2020 09:07:24 +0000 (10:07 +0100)]
Switch deprecation method for MD4
Reviewed-by: Tomas Mraz <tmraz@fedoraproject.org>
(Merged from https://github.com/openssl/openssl/pull/13460)
Richard Levitte [Fri, 20 Nov 2020 09:07:10 +0000 (10:07 +0100)]
Switch deprecation method for MD2
Reviewed-by: Tomas Mraz <tmraz@fedoraproject.org>
(Merged from https://github.com/openssl/openssl/pull/13460)
Richard Levitte [Fri, 20 Nov 2020 09:06:40 +0000 (10:06 +0100)]
Switch deprecation method for IDEA
Reviewed-by: Tomas Mraz <tmraz@fedoraproject.org>
(Merged from https://github.com/openssl/openssl/pull/13460)
Richard Levitte [Fri, 20 Nov 2020 09:06:32 +0000 (10:06 +0100)]
Switch deprecation method for HMAC
Reviewed-by: Tomas Mraz <tmraz@fedoraproject.org>
(Merged from https://github.com/openssl/openssl/pull/13460)
Richard Levitte [Fri, 20 Nov 2020 09:06:23 +0000 (10:06 +0100)]
Switch deprecation method for EVP
Reviewed-by: Tomas Mraz <tmraz@fedoraproject.org>
(Merged from https://github.com/openssl/openssl/pull/13460)
Richard Levitte [Fri, 20 Nov 2020 09:06:13 +0000 (10:06 +0100)]
Switch deprecation method for ERR
Reviewed-by: Tomas Mraz <tmraz@fedoraproject.org>
(Merged from https://github.com/openssl/openssl/pull/13460)
Richard Levitte [Fri, 20 Nov 2020 09:05:22 +0000 (10:05 +0100)]
Switch deprecation method for ENGINE
Reviewed-by: Tomas Mraz <tmraz@fedoraproject.org>
(Merged from https://github.com/openssl/openssl/pull/13460)
Richard Levitte [Fri, 20 Nov 2020 09:05:12 +0000 (10:05 +0100)]
Switch deprecation method for DES
Reviewed-by: Tomas Mraz <tmraz@fedoraproject.org>
(Merged from https://github.com/openssl/openssl/pull/13460)
Richard Levitte [Fri, 20 Nov 2020 09:05:04 +0000 (10:05 +0100)]
Switch deprecation method for CRYPTO
Reviewed-by: Tomas Mraz <tmraz@fedoraproject.org>
(Merged from https://github.com/openssl/openssl/pull/13460)
Richard Levitte [Fri, 20 Nov 2020 09:04:55 +0000 (10:04 +0100)]
Switch deprecation method for CONF
Reviewed-by: Tomas Mraz <tmraz@fedoraproject.org>
(Merged from https://github.com/openssl/openssl/pull/13460)
Richard Levitte [Fri, 20 Nov 2020 09:04:42 +0000 (10:04 +0100)]
Switch deprecation method for CMAC
Reviewed-by: Tomas Mraz <tmraz@fedoraproject.org>
(Merged from https://github.com/openssl/openssl/pull/13460)
Richard Levitte [Fri, 20 Nov 2020 09:04:30 +0000 (10:04 +0100)]
Switch deprecation method for CAST
Reviewed-by: Tomas Mraz <tmraz@fedoraproject.org>
(Merged from https://github.com/openssl/openssl/pull/13460)
Richard Levitte [Fri, 20 Nov 2020 09:04:19 +0000 (10:04 +0100)]
Switch deprecation method for Camellia
Reviewed-by: Tomas Mraz <tmraz@fedoraproject.org>
(Merged from https://github.com/openssl/openssl/pull/13460)
Richard Levitte [Fri, 20 Nov 2020 09:04:09 +0000 (10:04 +0100)]
Switch deprecation method for BIGNUM
Reviewed-by: Tomas Mraz <tmraz@fedoraproject.org>
(Merged from https://github.com/openssl/openssl/pull/13460)
Richard Levitte [Fri, 20 Nov 2020 09:03:59 +0000 (10:03 +0100)]
Switch deprecation method for Blowfish
Reviewed-by: Tomas Mraz <tmraz@fedoraproject.org>
(Merged from https://github.com/openssl/openssl/pull/13460)
Richard Levitte [Fri, 20 Nov 2020 09:03:07 +0000 (10:03 +0100)]
Switch deprecation method for BIO
Reviewed-by: Tomas Mraz <tmraz@fedoraproject.org>
(Merged from https://github.com/openssl/openssl/pull/13460)
Richard Levitte [Fri, 20 Nov 2020 09:02:51 +0000 (10:02 +0100)]
Switch deprecation method for ASN.1
Reviewed-by: Tomas Mraz <tmraz@fedoraproject.org>
(Merged from https://github.com/openssl/openssl/pull/13460)
Richard Levitte [Fri, 20 Nov 2020 09:02:27 +0000 (10:02 +0100)]
Switch deprecation method for AES
Reviewed-by: Tomas Mraz <tmraz@fedoraproject.org>
(Merged from https://github.com/openssl/openssl/pull/13460)
Dr. David von Oheimb [Thu, 3 Dec 2020 14:26:48 +0000 (15:26 +0100)]
test/certs/setup.sh: Fix two glitches
Reviewed-by: Tomas Mraz <tmraz@fedoraproject.org>
(Merged from https://github.com/openssl/openssl/pull/13606)
Dr. David von Oheimb [Thu, 3 Dec 2020 10:10:19 +0000 (11:10 +0100)]
x509_vfy.c: Improve comments (correcting typos etc.)
Reviewed-by: Tomas Mraz <tmraz@fedoraproject.org>
(Merged from https://github.com/openssl/openssl/pull/13606)
Dr. David von Oheimb [Thu, 3 Dec 2020 11:00:35 +0000 (12:00 +0100)]
apps/verify:c: Enable output of multiple verification errors due to -x509_strict
Reviewed-by: Tomas Mraz <tmraz@fedoraproject.org>
(Merged from https://github.com/openssl/openssl/pull/13606)
Dr. David von Oheimb [Tue, 1 Dec 2020 16:15:45 +0000 (17:15 +0100)]
{.travis,ci,appveyor}.yml: Make minimal config consistent, add no-deprecated no-ec no-ktls no-siv
This works nicely by addin a new no-bulk option to Configure.
Reviewed-by: Matt Caswell <matt@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/13110)
Dr. David von Oheimb [Wed, 2 Dec 2020 09:49:49 +0000 (10:49 +0100)]
apps/speed.c: Rename misleading 'rsa_count' variable to 'op_count'
Reviewed-by: Matt Caswell <matt@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/13110)
Dr. David von Oheimb [Sun, 29 Nov 2020 19:35:49 +0000 (20:35 +0100)]
evp_pkey_dparams_test.c: Fix build error on OPENSSL_NO_{DH,DSA,EC}
Reviewed-by: Matt Caswell <matt@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/13110)
Dr. David von Oheimb [Sun, 29 Nov 2020 19:33:23 +0000 (20:33 +0100)]
endecode_test.c: Fix build errors on OPENSSL_NO_{DH,DSA,EC,EC2M}
Reviewed-by: Matt Caswell <matt@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/13110)
Dr. David von Oheimb [Sun, 29 Nov 2020 19:32:46 +0000 (20:32 +0100)]
apps/speed.c: Fix build errors on OPENSSL_NO_{RSA,DSA,EC,DEPECATED_3_0}
Reviewed-by: Matt Caswell <matt@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/13110)
Dr. David von Oheimb [Sun, 29 Nov 2020 19:23:57 +0000 (20:23 +0100)]
fuzz/server.c: Fix build error on OPENSSL_NO_{DSA,EC,DEPECATED_3_0}
Reviewed-by: Matt Caswell <matt@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/13110)
Dr. David von Oheimb [Sun, 29 Nov 2020 21:54:18 +0000 (22:54 +0100)]
encode_key2text.c: Fix build error on OPENSSL_NO_{DH,DSA,EC}
Reviewed-by: Matt Caswell <matt@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/13110)
Dr. David von Oheimb [Sun, 29 Nov 2020 20:30:53 +0000 (21:30 +0100)]
encode_key2any.c: Fix build error on OPENSSL_NO_DH and OPENSSL_NO_EC
Reviewed-by: Matt Caswell <matt@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/13110)
Dr. David von Oheimb [Sat, 10 Oct 2020 20:25:10 +0000 (22:25 +0200)]
appveyor.yml: Move printing of env variables such that locally defined ones are shown as well.
Reviewed-by: Matt Caswell <matt@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/13110)
Matt Caswell [Wed, 2 Dec 2020 17:01:55 +0000 (17:01 +0000)]
Fix no-dsa
Skip tests that require DSA to be available. While we're doing this
we also remove an OPENSSL_NO_DSA guard in the dhparam app that is no
longer necessary (even though DSA may not be present in our own providers
it could be available via a third party provider).
Reviewed-by: Richard Levitte <levitte@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/13599)
Shane Lontis [Thu, 26 Nov 2020 05:06:34 +0000 (15:06 +1000)]
Fix dsa & rsa signature dupctx() so that ctx->propq is strduped
Discovered when fixing up ecdsa code.
Reviewed-by: Matt Caswell <matt@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/13520)
Shane Lontis [Thu, 26 Nov 2020 05:03:10 +0000 (15:03 +1000)]
Fix ecdsa digest setting code to match dsa.
Fixes #13422
ecdsa_set_ctx_params() was not setting the digest correctly. The side
effect noted was that the check for sha1 when signing was not being
done in fips mode.
Also fixed the dupctx() so that propq is deep copied.
The usage of the variable 'flag_allow_md' was also copied from the dsa code.
Reviewed-by: Matt Caswell <matt@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/13520)
Shane Lontis [Wed, 2 Dec 2020 10:54:08 +0000 (20:54 +1000)]
Fix EVP_PKEY_CTX propq so that it uses a copy
Reviewed-by: Tomas Mraz <tmraz@fedoraproject.org>
Reviewed-by: Matt Caswell <matt@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/12700)
Shane Lontis [Wed, 2 Dec 2020 10:52:32 +0000 (20:52 +1000)]
fix x509_PUBKEY propq so that it uses a copy
Reviewed-by: Tomas Mraz <tmraz@fedoraproject.org>
Reviewed-by: Matt Caswell <matt@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/12700)
Shane Lontis [Wed, 2 Dec 2020 10:50:32 +0000 (20:50 +1000)]
Fix x509_crl propq so that it uses a copy
Reviewed-by: Tomas Mraz <tmraz@fedoraproject.org>
Reviewed-by: Matt Caswell <matt@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/12700)
Shane Lontis [Fri, 21 Aug 2020 05:14:42 +0000 (15:14 +1000)]
Fix X509 propq so it does not use references
Fixes #13486
Reviewed-by: Tomas Mraz <tmraz@fedoraproject.org>
Reviewed-by: Matt Caswell <matt@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/12700)
Dr. David von Oheimb [Sun, 29 Nov 2020 18:45:39 +0000 (19:45 +0100)]
ci.yml: Let 'make' run silently (-s) with build (gcc) runs in parallel (-j4)
Reviewed-by: Matt Caswell <matt@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/13580)
Dr. David von Oheimb [Tue, 1 Dec 2020 08:44:35 +0000 (09:44 +0100)]
ci.yml: Add 'perl configdata.pm --dump' to each config
Reviewed-by: Matt Caswell <matt@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/13580)
Dr. David von Oheimb [Sat, 10 Oct 2020 19:36:47 +0000 (21:36 +0200)]
.travis.yml: Do some build (gcc) runs in parallel (-j4)
Reviewed-by: Matt Caswell <matt@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/13580)
Dr. David von Oheimb [Tue, 1 Dec 2020 08:14:15 +0000 (09:14 +0100)]
appveyor.yml: Let 'nmake' do builds in parallel on all CPU cores
Reviewed-by: Matt Caswell <matt@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/13580)
Dr. David von Oheimb [Tue, 1 Dec 2020 07:52:33 +0000 (08:52 +0100)]
appveyor.yml: Let 'nmake' run by defaut silently (/S), using MAKEVERBOSE like .travis.yml
Reviewed-by: Matt Caswell <matt@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/13580)
Dr. David von Oheimb [Tue, 1 Dec 2020 13:22:16 +0000 (14:22 +0100)]
x509_vfy.c: Restore rejection of expired trusted (root) certificate
The certificate path validation procedure specified in RFC 5280 does not
include checking the validity period of the trusted (root) certificate.
Still it is common good practice to perform this check.
Also OpenSSL did this until commit
0e7b1383e, which accidentally killed it.
The current commit restores the previous behavior.
It also removes the cause of that bug, namely counter-intuitive design
of the internal function check_issued(), which was complicated by checks
that actually belong to some other internal function, namely find_issuer().
Moreover, this commit adds a regression check and proper documentation of
the root cert validity period check feature, which had been missing so far.
Fixes #13427
Reviewed-by: Tomas Mraz <tmraz@fedoraproject.org>
(Merged from https://github.com/openssl/openssl/pull/13590)
Dr. David von Oheimb [Thu, 26 Nov 2020 14:39:22 +0000 (15:39 +0100)]
apps/pkcs12.c: Improve user guidance, re-ordering no-export vs. export options
Make the option order consistent in the help output and in the POD file.
Give warnings when an option is ignored because -export is given or missing.
Reviewed-by: Tomas Mraz <tmraz@fedoraproject.org>
(Merged from https://github.com/openssl/openssl/pull/13588)
Pauli [Tue, 1 Dec 2020 01:30:10 +0000 (11:30 +1000)]
tag unused function arguments as ossl_unused
Reviewed-by: Tomas Mraz <tmraz@fedoraproject.org>
(Merged from https://github.com/openssl/openssl/pull/13577)
Pauli [Tue, 1 Dec 2020 01:18:36 +0000 (11:18 +1000)]
remove unused initialisations
Reviewed-by: Tomas Mraz <tmraz@fedoraproject.org>
(Merged from https://github.com/openssl/openssl/pull/13577)
Pauli [Tue, 1 Dec 2020 01:13:08 +0000 (11:13 +1000)]
remove unused assignments
Reviewed-by: Tomas Mraz <tmraz@fedoraproject.org>
(Merged from https://github.com/openssl/openssl/pull/13577)
Pauli [Tue, 1 Dec 2020 00:58:32 +0000 (10:58 +1000)]
remove unused return value assignments
Fixes: #13555
Reviewed-by: Tomas Mraz <tmraz@fedoraproject.org>
(Merged from https://github.com/openssl/openssl/pull/13577)
Benjamin Kaduk [Sun, 29 Nov 2020 01:11:46 +0000 (17:11 -0800)]
Fix comment in do_dtls1_write()
This code started off as a copy of ssl3_write_bytes(), and the comment
was not updated with the implementation.
Reported by yangyangtiantianlonglong in #13518
Reviewed-by: Shane Lontis <shane.lontis@oracle.com>
Reviewed-by: Matt Caswell <matt@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/13566)
Richard Levitte [Mon, 30 Nov 2020 09:44:34 +0000 (10:44 +0100)]
Add test to demonstrate the app's new engine key loading
This adds a bit of functionality in ossltest, so it can now be used to
load PEM files. It takes the file name as key ID, but just to make
sure faults aren't ignored, it requires all file names to be prefixed
with 'ot:'.
Reviewed-by: David von Oheimb <david.von.oheimb@siemens.com>
(Merged from https://github.com/openssl/openssl/pull/13570)
Richard Levitte [Mon, 30 Nov 2020 06:25:46 +0000 (07:25 +0100)]
APPS: Adapt load_key() and load_pubkey() for the engine: loader
These two functions react when the FORMAT_ENGINE format is given, and
use the passed ENGINE |e| and the passed key argument to form a URI
suitable for the engine: loader.
Co-authored-by: David von Oheimb <david.von.oheimb@siemens.com>
Reviewed-by: David von Oheimb <david.von.oheimb@siemens.com>
(Merged from https://github.com/openssl/openssl/pull/13570)
Richard Levitte [Fri, 12 Oct 2018 15:02:58 +0000 (17:02 +0200)]
APPS: Add OSSL_STORE loader for engine keys
The idea is to be able to have our apps load engine keys using a URI:
org.openssl.engine:{engineid}:{keyid}
This is legacy, but added for the time being to support keys given to
the application like this:
-engine {engineid} -key {keyid} -keyform ENGINE
This latter form is recognised internally, and rewritten into the URI
form.
Reviewed-by: David von Oheimb <david.von.oheimb@siemens.com>
(Merged from https://github.com/openssl/openssl/pull/13570)
Matt Caswell [Tue, 1 Dec 2020 15:34:24 +0000 (15:34 +0000)]
Fix no-dtls
Ensure we correctly detect if DTLS has been disabled in the client auth
test_ssl_new tests.
Reviewed-by: Tomas Mraz <tmraz@fedoraproject.org>
(Merged from https://github.com/openssl/openssl/pull/13587)
Matt Caswell [Tue, 1 Dec 2020 15:19:56 +0000 (15:19 +0000)]
Fix a compile error with the no-sock option
BIO_do_connect() can work even in no-sock builds (non socket based BIOs
have the right ctrls). Therefore we move the macro outside of the
OPENSSL_NO_SOCK guards
Fixes #12207
Reviewed-by: Tomas Mraz <tmraz@fedoraproject.org>
(Merged from https://github.com/openssl/openssl/pull/13587)
Daiki Ueno [Mon, 26 Oct 2020 12:23:14 +0000 (13:23 +0100)]
openssl dgst: add option to specify output length for XOF
This adds the -xoflen option to control the output length of the XOF
algorithms, such as SHAKE128 and SHAKE256.
Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Tomas Mraz <tmraz@fedoraproject.org>
(Merged from https://github.com/openssl/openssl/pull/13245)
Richard Levitte [Fri, 27 Nov 2020 07:03:23 +0000 (08:03 +0100)]
Adapt everything else to the updated OSSL_ENCODER_CTX_new_by_EVP_PKEY()
Reviewed-by: Tim Hudson <tjh@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/13545)
Richard Levitte [Fri, 27 Nov 2020 06:59:02 +0000 (07:59 +0100)]
ENCODER: Don't pass libctx to OSSL_ENCODER_CTX_new_by_EVP_PKEY()
The passed 'pkey' already contains a library context, and the encoder
implementations should be found within the same context, so passing an
explicit library context seems unnecessary, and potentially dangerous.
It should be noted that it's possible to pass an EVP_PKEY with a
legacy internal key. The condition there is that it doesn't have a
library context assigned to it, so the NULL library context is used
automatically, thus requiring that appropriate encoders are available
through that context.
Fixes #13544
Reviewed-by: Tim Hudson <tjh@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/13545)
Ankita Shetty [Tue, 24 Nov 2020 18:55:27 +0000 (19:55 +0100)]
cmp_client.c: Fix indentation and remove empty line
Reviewed-by: David von Oheimb <david.von.oheimb@siemens.com>
Reviewed-by: Tomas Mraz <tmraz@fedoraproject.org>
(Merged from https://github.com/openssl/openssl/pull/13488)
Ankita Shetty [Mon, 23 Nov 2020 16:12:33 +0000 (17:12 +0100)]
cmp_client.c: Remove dead code of variable 'txt' in cert_response()
Reviewed-by: David von Oheimb <david.von.oheimb@siemens.com>
Reviewed-by: Tomas Mraz <tmraz@fedoraproject.org>
(Merged from https://github.com/openssl/openssl/pull/13488)
Matt Caswell [Thu, 19 Nov 2020 13:58:21 +0000 (13:58 +0000)]
Don't Overflow when printing Thawte Strong Extranet Version
When printing human readable info on the Thawte Strong Extranet extension
the version number could overflow if the version number == LONG_MAX. This
is undefined behaviour.
Issue found by OSSFuzz.
Reviewed-by: Ben Kaduk <kaduk@mit.edu>
(Merged from https://github.com/openssl/openssl/pull/13452)
Shane Lontis [Mon, 16 Nov 2020 02:42:18 +0000 (12:42 +1000)]
Add EVP_KDF-X942 to the fips module
The X942 KDF had been modified so that it supports all optional fields - not
just the fields used by CMS.
As there are 2 types of KDF for X942 - this has been made a bit clearer
by adding an X942KDF-ASN1 alias. X942KDF-CONCAT has also been added as an
alias of X963KDF.
This work was instigated as a result of the ACVP tests optionally being
able to use keybits for the supp_pubinfo field.
Setting the parameter OSSL_KDF_PARAM_X942_USE_KEYBITS to 0 allows this
to be disabled.
Reviewed-by: Tomas Mraz <tmraz@fedoraproject.org>
(Merged from https://github.com/openssl/openssl/pull/13418)
Shane Lontis [Wed, 25 Nov 2020 08:19:27 +0000 (18:19 +1000)]
Fix s390 EDDSA HW support in providers.
Fixes #12476
Note this stopped working when ECX was swapped over to using
providers. The ECX_KEY keygen and exchange were converted, but not the ED
signing support.
Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Patrick Steuer <patrick.steuer@de.ibm.com>
(Merged from https://github.com/openssl/openssl/pull/13508)
Pauli [Mon, 30 Nov 2020 12:13:12 +0000 (22:13 +1000)]
Print random seed on test failure.
Tests randomisation wasn't reliably printing the seed used on failure in the CIs.
Fixes: #13572
Reviewed-by: Tomas Mraz <tmraz@fedoraproject.org>
(Merged from https://github.com/openssl/openssl/pull/13573)
Tim Hudson [Thu, 26 Nov 2020 02:31:25 +0000 (12:31 +1000)]
Correct system guessing for darwin64-arm64 target
Previously the system guessing logic would incorrectly guess
i686-apple-darwin as the fallback for any unspecified architecture
that is a Darwin target
Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Richard Levitte <levitte@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/13517)
Dr. David von Oheimb [Thu, 26 Nov 2020 10:03:24 +0000 (11:03 +0100)]
apps/pkcs12.c: Correct default legacy algs and make related doc consistent
Reviewed-by: Paul Dale <paul.dale@oracle.com>
(Merged from https://github.com/openssl/openssl/pull/13534)
Kelvin Lee [Tue, 1 Dec 2020 13:25:01 +0000 (00:25 +1100)]
Fix simpledynamic.c - a typo and missed a header
CLA: trivial
Reviewed-by: Tomas Mraz <tmraz@fedoraproject.org>
Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Richard Levitte <levitte@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/13584)
Richard Levitte [Wed, 25 Nov 2020 06:57:45 +0000 (07:57 +0100)]
TEST: Add a simple module loader, and test the FIPS module with it
This very simple module loader is only linked with the standard C
library, so cannot and should not provide any other symbol to the
module it tries to load. It can thereby be used to verify that the
module it tries to load doesn't have any surprising dependencies when
it's supposed to be self contained.
A test recipe is added to verify the FIPS module with this loader.
Fixes #11020
Reviewed-by: Tomas Mraz <tmraz@fedoraproject.org>
(Merged from https://github.com/openssl/openssl/pull/13507)
Richard Levitte [Wed, 25 Nov 2020 06:56:08 +0000 (07:56 +0100)]
TEST: Break out the local dynamic loading code from shlibloadtest.c
The result is "simpledynamic.c", or "sd" for short.
Reviewed-by: Tomas Mraz <tmraz@fedoraproject.org>
(Merged from https://github.com/openssl/openssl/pull/13507)
Dr. David von Oheimb [Sun, 29 Nov 2020 11:46:12 +0000 (12:46 +0100)]
endecode_test.c: Add warning that 512-bit DH key size is for testing only
Reviewed-by: Richard Levitte <levitte@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/13568)
Dr. David von Oheimb [Sun, 29 Nov 2020 11:40:10 +0000 (12:40 +0100)]
test cleanup: move helper .c and .h files to test/helpers/
Reviewed-by: Richard Levitte <levitte@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/13568)
Dr. David von Oheimb [Sun, 29 Nov 2020 11:38:02 +0000 (12:38 +0100)]
remove obsolete test/drbg_cavs_data.h
Reviewed-by: Richard Levitte <levitte@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/13568)
Dr. David von Oheimb [Sun, 29 Nov 2020 11:37:23 +0000 (12:37 +0100)]
remove obsolete test/drbg_extra_test.h
Reviewed-by: Richard Levitte <levitte@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/13568)
Richard Levitte [Sat, 28 Nov 2020 20:42:17 +0000 (21:42 +0100)]
RSA: correct digestinfo_ripemd160_der[]
A couple of numbers were incorrect.
Fixes #13559
Reviewed-by: Shane Lontis <shane.lontis@oracle.com>
(Merged from https://github.com/openssl/openssl/pull/13562)
Ard Biesheuvel [Tue, 24 Nov 2020 16:33:31 +0000 (17:33 +0100)]
aes/asm/aesv8-armx.pl: avoid 32-bit lane assignment in CTR mode
ARM Cortex-A57 and Cortex-A72 cores running in 32-bit mode are affected
by silicon errata #
1742098 [0] and #
1655431 [1], respectively, where the
second instruction of a AES instruction pair may execute twice if an
interrupt is taken right after the first instruction consumes an input
register of which a single 32-bit lane has been updated the last time it
was modified.
This is not such a rare occurrence as it may seem: in counter mode, only
the least significant 32-bit word is incremented in the absence of a
carry, which makes our counter mode implementation susceptible to these
errata.
So let's shuffle the counter assignments around a bit so that the most
recent updates when the AES instruction pair executes are 128-bit wide.
[0] ARM-EPM-049219 v23 Cortex-A57 MPCore Software Developers Errata Notice
[1] ARM-EPM-012079 v11.0 Cortex-A72 MPCore Software Developers Errata Notice
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@arm.com>
Reviewed-by: Paul Dale <paul.dale@oracle.com>
Reviewed-by: Tomas Mraz <tmraz@fedoraproject.org>
(Merged from https://github.com/openssl/openssl/pull/13504)
Matt Caswell [Fri, 27 Nov 2020 09:55:36 +0000 (09:55 +0000)]
Fix builds that specify both no-dh and no-ec
Various sections of code assumed that at least one of dh or ec would be
available. We also now also need to handle cases where a provider has
a key exchange algorithm and TLS-GROUP that we don't know about.
Fixes #13536
Reviewed-by: Richard Levitte <levitte@openssl.org>
Reviewed-by: Paul Dale <paul.dale@oracle.com>
(Merged from https://github.com/openssl/openssl/pull/13549)
Matt Caswell [Wed, 25 Nov 2020 15:18:15 +0000 (15:18 +0000)]
Fix TLS1.2 CHACHA20-POLY1305 ciphersuites with OPENSSL_SMALL_FOOTPRINT
If OPENSSL_SMALL_FOOTPRINT was defined then the CHACHA20-POLY1305
implementation for TLS went down a different codepath that failed to
adjust the payload length to remove the tag.
Reviewed-by: Paul Dale <paul.dale@oracle.com>
Reviewed-by: Richard Levitte <levitte@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/13513)
Matt Caswell [Wed, 25 Nov 2020 13:13:24 +0000 (13:13 +0000)]
Fix instances of pointer addition with the NULL pointer
Addition using the NULL pointer (even when adding 0) is undefined
behaviour. Recent versions of ubsan are now complaining about this, so
we fix various instances.
Reviewed-by: Paul Dale <paul.dale@oracle.com>
Reviewed-by: Richard Levitte <levitte@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/13513)
Dr. David von Oheimb [Fri, 27 Nov 2020 21:03:29 +0000 (22:03 +0100)]
endecode_test.c: Significant speedup in generating DH and DHX keys
Fixes #13495
Reviewed-by: Richard Levitte <levitte@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/13552)
John Baldwin [Fri, 9 Oct 2020 22:12:53 +0000 (15:12 -0700)]
Collapse two identical if statements into a single body.
These two bodies should be grouped together anyway as the reason for
the call to BIO_flush() is to permit using BIO_set_ktls_ctrl_msg().
Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Ben Kaduk <kaduk@mit.edu>
(Merged from https://github.com/openssl/openssl/pull/13090)
John Baldwin [Wed, 7 Oct 2020 21:34:19 +0000 (14:34 -0700)]
Allow zero-byte writes to be reported as success.
When using KTLS, empty fragments sent as a mitigation for known-IV
weakenesses in TLS 1.0 are sent as writes of 0 bytes. The TLS header
and trailer are added to the empty fragment by the kernel.
Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Ben Kaduk <kaduk@mit.edu>
(Merged from https://github.com/openssl/openssl/pull/13090)
Richard Levitte [Fri, 27 Nov 2020 07:08:08 +0000 (08:08 +0100)]
TEST: Fix path length in test/ossl_store_test.c
The URI length was set to 80 chars, but the URI being built up may
need more space, all depending on the paths used to get to the files
that are to be loaded. If the result needs more than 80 chars, the
test will fail.
Fixed by using PATH_MAX.
Reviewed-by: Tomas Mraz <tmraz@fedoraproject.org>
Reviewed-by: Paul Dale <paul.dale@oracle.com>
(Merged from https://github.com/openssl/openssl/pull/13546)