openssl.git
3 years ago[TEMPORARY] make 'make update' verbose in ci.yml
Richard Levitte [Tue, 27 Apr 2021 09:23:12 +0000 (11:23 +0200)]
[TEMPORARY] make 'make update' verbose in ci.yml

Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/8871)

3 years agoGitHub CI: ensure that unifdef is installed
Richard Levitte [Fri, 3 May 2019 11:24:39 +0000 (13:24 +0200)]
GitHub CI: ensure that unifdef is installed

This is required for 'make update' and fips checksums

Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/8871)

3 years agoFIPS module checksums: add scripts and Makefile rule
Richard Levitte [Fri, 3 May 2019 11:12:59 +0000 (13:12 +0200)]
FIPS module checksums: add scripts and Makefile rule

This adds the following scripts:

util/lang-compress.pl:

Compress source code, which language is determined by the first argument.
For the moment, we know 'perl' (perlasm source code), 'C' (C source code)
and 'S' (Assembler with C preprocessor directives).
This removes comments and empty lines, and compresses series of horizontal
spaces to one single space in the languages where that's appropriate.

util/fips-checksums.sh:

Takes source file names as arguments, pushes them through
util/lang-compress.pl and unifdef with FIPS_MODE defined, and calculates
the checksum on the result.

Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/8871)

3 years agoUnix build file: Add a target to create providers/fips.module.sources
Richard Levitte [Mon, 26 Apr 2021 17:44:24 +0000 (19:44 +0200)]
Unix build file: Add a target to create providers/fips.module.sources

This file will be the basis for the FIPS module checksum calculation

Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/8871)

3 years agoAdd OpenSSL::Config::Query and use it in configdata.pm
Richard Levitte [Mon, 26 Apr 2021 17:41:54 +0000 (19:41 +0200)]
Add OpenSSL::Config::Query and use it in configdata.pm

OpenSSL::Config::Query is a configuration querying tool that's meant
to make it easier to query the diverse configuration data for info.
That's much easier than to dig through all the parts of %unified_info.

Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/8871)

3 years agoWindows build file: add forgotten quotes on POD->html command line
Richard Levitte [Thu, 29 Apr 2021 10:50:33 +0000 (12:50 +0200)]
Windows build file: add forgotten quotes on POD->html command line

Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/15084)

3 years agoOpenSSL::Test: When prefixing command with $^X on Windows, fix it up!
Richard Levitte [Sat, 1 May 2021 05:29:27 +0000 (07:29 +0200)]
OpenSSL::Test: When prefixing command with $^X on Windows, fix it up!

The perl interpreter name itself might contain spaces and need quoting.
__fixup_prg() does this for us.

Fixes #14256

Co-authored-by: Tomáš Mráz <tomas@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/15084)

3 years agoacvp-test: disable the ACVP testing code by default
Pauli [Fri, 30 Apr 2021 02:14:33 +0000 (12:14 +1000)]
acvp-test: disable the ACVP testing code by default

It's only useful for the FIPS lab and shouldn't be in production.

Reviewed-by: Shane Lontis <shane.lontis@oracle.com>
(Merged from https://github.com/openssl/openssl/pull/15092)

3 years agossl: fix possible ref counting fields use before init.
FdaSilvaYY [Tue, 27 Apr 2021 20:50:18 +0000 (22:50 +0200)]
ssl:  fix possible ref counting fields use before init.

`strdup(propq)` failure is doing a `goto err;` from where `SSL_CTX_free` is called.
The possible call is made before reference and lock fields setup.

Reviewed-by: Paul Dale <pauli@openssl.org>
Reviewed-by: Dmitry Belyavskiy <beldmit@gmail.com>
(Merged from https://github.com/openssl/openssl/pull/15052)

3 years agoman: s_server: fix text repetition in -alpn description
Hubert Kario [Fri, 30 Apr 2021 14:45:47 +0000 (16:45 +0200)]
man: s_server: fix text repetition in -alpn description

Reviewed-by: Tomas Mraz <tomas@openssl.org>
Reviewed-by: Dmitry Belyavskiy <beldmit@gmail.com>
(Merged from https://github.com/openssl/openssl/pull/15099)

3 years agoAPPS: Document the core of the opt_ API
Rich Salz [Sat, 1 May 2021 11:11:49 +0000 (13:11 +0200)]
APPS: Document the core of the opt_ API

Reviewed-by: Tomas Mraz <tomas@openssl.org>
Reviewed-by: David von Oheimb <david.von.oheimb@siemens.com>
(Merged from https://github.com/openssl/openssl/pull/14995)

3 years agoUse OCSP-specific error code for clarity
Dmitry Belyavskiy [Fri, 30 Apr 2021 09:27:19 +0000 (11:27 +0200)]
Use OCSP-specific error code for clarity

Fixes #12735

Reviewed-by: Tomas Mraz <tomas@openssl.org>
Reviewed-by: Shane Lontis <shane.lontis@oracle.com>
(Merged from https://github.com/openssl/openssl/pull/xxxxx)

3 years agoSimplify AppVeyor configuration
Tomas Mraz [Thu, 29 Apr 2021 14:32:59 +0000 (16:32 +0200)]
Simplify AppVeyor configuration

Adjust the stuff we are building and testing in various
configurations to trim the run time a little bit.

Reviewed-by: Paul Dale <pauli@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/15087)

3 years agoAdd -latomic to threads enabled 32bit linux builds
Tomas Mraz [Thu, 29 Apr 2021 13:19:11 +0000 (15:19 +0200)]
Add -latomic to threads enabled 32bit linux builds

It might not be necessary with the most recent toolchain versions
but apparently many 32bit linux architectures and commonly used
toolchain versions require this.

It is also harmless to include even on architectures that do not
need it.

Fixes #14083

Reviewed-by: Paul Dale <pauli@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/15086)

3 years agoFix no-fips-securitychecks test failure
Shane Lontis [Fri, 30 Apr 2021 01:45:51 +0000 (11:45 +1000)]
Fix no-fips-securitychecks test failure

Reviewed-by: Paul Dale <pauli@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/15091)

3 years agoapps/ca,req,x509: Switch to EVP_DigestSignInit_ex
Petr Gotthard [Sat, 24 Apr 2021 10:40:36 +0000 (12:40 +0200)]
apps/ca,req,x509: Switch to EVP_DigestSignInit_ex

Switch lib/apps.c do_sign_init() to use EVP_DigestSignInit_ex, so it
works with external providers.
Since EVP_DigestSignInit_ex requires a digest name instead of
an EVP_MD pointer, the apps using do_sign_init() had to be modified
to pass char* instead of EVP_MD*.

Reviewed-by: Tomas Mraz <tomas@openssl.org>
Reviewed-by: Dmitry Belyavskiy <beldmit@gmail.com>
(Merged from https://github.com/openssl/openssl/pull/15014)

3 years agoFix typo in OSSL_DECODER_CTX_set_input_structure
Daniel Bevenius [Thu, 29 Apr 2021 12:46:28 +0000 (14:46 +0200)]
Fix typo in OSSL_DECODER_CTX_set_input_structure

Reviewed-by: Richard Levitte <levitte@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/15085)

3 years agoSTORE: Fix the repeated prompting of passphrase
Richard Levitte [Wed, 28 Apr 2021 07:50:42 +0000 (09:50 +0200)]
STORE: Fix the repeated prompting of passphrase

OSSL_STORE's loading function could prompt repeatedly for the same
passphrase.  It turns out that OSSL_STORE_load() wasn't caching the
passphrase properly.  Fixed in this change.

Reviewed-by: Paul Dale <pauli@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/15064)

3 years agoSM2 signatures work correctly only with SM3 digests
Tomas Mraz [Wed, 28 Apr 2021 16:49:33 +0000 (18:49 +0200)]
SM2 signatures work correctly only with SM3 digests

Reviewed-by: Paul Dale <pauli@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/15074)

3 years agosm2: Cleanup handling of DIGEST and DIGEST_SIZE parameters
Tomas Mraz [Wed, 28 Apr 2021 16:40:37 +0000 (18:40 +0200)]
sm2: Cleanup handling of DIGEST and DIGEST_SIZE parameters

Fixes #14873

Reviewed-by: Paul Dale <pauli@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/15074)

3 years agoCORE: Rework the pre-population of the namemap
Richard Levitte [Wed, 28 Apr 2021 19:28:11 +0000 (21:28 +0200)]
CORE: Rework the pre-population of the namemap

The pre-population of names has become more thorough.

Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/15066)

3 years agoSTORE: Use the 'expect' param to limit the amount of decoders used
Richard Levitte [Wed, 28 Apr 2021 09:02:36 +0000 (11:02 +0200)]
STORE: Use the 'expect' param to limit the amount of decoders used

In the provider file: scheme loader implementation, the OSSL_DECODER_CTX
was set up with all sorts of implementations, even if the caller has
declared a limited expectation on what should be loaded, which means
that even though a certificate is expected, all the diverse decoders
to produce an EVP_PKEY are added to the decoding change.

This optimization looks more closely at the expected type, and only
adds the EVP_PKEY related decoder implementations to the chain if
there is no expectation, or if the expectation is one of
OSSL_STORE_INFO_PARAMS, OSSL_STORE_INFO_PUBKEY, OSSL_STORE_INFO_PKEY.

Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/15066)

3 years agoacvp: fix the no-acvp_test build
Pauli [Thu, 29 Apr 2021 02:38:23 +0000 (12:38 +1000)]
acvp: fix the no-acvp_test build

A pair of the disabled string checks were incorrect.

Reviewed-by: Tomas Mraz <tomas@openssl.org>
Reviewed-by: Shane Lontis <shane.lontis@oracle.com>
(Merged from https://github.com/openssl/openssl/pull/15082)

3 years agoUpdate OSSL_STORE_attach() documentation to indicate it increases the ref_count of...
Shane Lontis [Wed, 28 Apr 2021 07:51:15 +0000 (17:51 +1000)]
Update OSSL_STORE_attach() documentation to indicate it increases the ref_count of the passed in bio

Reviewed-by: Tomas Mraz <tomas@openssl.org>
Reviewed-by: Paul Dale <pauli@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/15058)

3 years agoFix memory leak in load_key_certs_crls() when using stdin.
Shane Lontis [Wed, 28 Apr 2021 07:22:50 +0000 (17:22 +1000)]
Fix memory leak in load_key_certs_crls() when using stdin.

A newly created BIO object within this function calls
OSSL_STORE_attach() which increases the ref count to 2.
OSSL_STORE_close() then decrements the ref count by 1, so the BIO still
remains.

The following new test was picking up this leak using..
> valgrind openssl crl -hash -noout < test/testcrl.pem

Not quite sure why the existing tests were not picking this up
since they appear to run through a similiar path.. such as
> valgrind openssl pkey < test-runs/test_rsa/rsa-pkcs8-ff.dd

Reviewed-by: Tomas Mraz <tomas@openssl.org>
Reviewed-by: Paul Dale <pauli@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/15058)

3 years agoFix CRL app so that stdin works.
Shane Lontis [Wed, 28 Apr 2021 02:51:49 +0000 (12:51 +1000)]
Fix CRL app so that stdin works.

Fixes #15031

The maybe_stdin needed to be passed to load_key_certs_crls().

Reviewed-by: Tomas Mraz <tomas@openssl.org>
Reviewed-by: Paul Dale <pauli@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/15058)

3 years agoDocument the API breaking constification changes
Tomas Mraz [Wed, 28 Apr 2021 10:43:12 +0000 (12:43 +0200)]
Document the API breaking constification changes

The EVP_PKEY_asn1_set_public and EVP_PKEY_meth_set_copy have
some API breaking constification changes in 3.0.

Fixes #9296

Reviewed-by: Paul Dale <pauli@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/15068)

3 years agoRemove dated term and fixed typo anther
Eric Curtin [Wed, 28 Apr 2021 22:44:03 +0000 (23:44 +0100)]
Remove dated term and fixed typo anther

Just something I noticed while reading this code.
This was probably committed a very long time ago.
Fixed typo anther -> another.

Reviewed-by: Tim Hudson <tjh@openssl.org>
Reviewed-by: Paul Dale <pauli@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/15078)

3 years agoremove end of line whitespace
Pauli [Thu, 29 Apr 2021 23:11:42 +0000 (09:11 +1000)]
remove end of line whitespace

Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/14434)

3 years agoAdd library context and property query support into the PKCS12 API
Jon Spillett [Wed, 17 Feb 2021 07:56:36 +0000 (17:56 +1000)]
Add library context and property query support into the PKCS12 API

Reviewed-by: Tomas Mraz <tomas@openssl.org>
Reviewed-by: Paul Dale <pauli@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/14434)

3 years agoAdjust ssl_test_new for SHA1 security level
Matt Caswell [Tue, 27 Apr 2021 14:04:11 +0000 (15:04 +0100)]
Adjust ssl_test_new for SHA1 security level

SHA1 is now in security level 0. SHA1 is required for DTLSv1.1. Therefore
ssl_test_new needed some adjustments in the event that DTLSv1.2 is disabled.

There are also adjustments required if using the FIPS module and DTLSv1.2
is disabled. The only DTLS version supported by the FIPS module is
DTLSv1.2.

Fixes  #14956

Reviewed-by: Paul Dale <pauli@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/15047)

3 years agoAdjust sslapitest for SHA1 security level
Matt Caswell [Tue, 27 Apr 2021 11:05:00 +0000 (12:05 +0100)]
Adjust sslapitest for SHA1 security level

SHA1 is now in security level 0. SHA1 is required for DTLSv1.1. Therefore
sslapitest needed some adjustments in the event that DTLSv1.2 is disabled.

Reviewed-by: Paul Dale <pauli@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/15047)

3 years agoAdjust dtlstest for SHA1 security level
Matt Caswell [Tue, 27 Apr 2021 10:07:57 +0000 (11:07 +0100)]
Adjust dtlstest for SHA1 security level

SHA1 is now in security level 0. SHA1 is required for DTLSv1.1. Therefore
dtlstest needed some adjustments in the event that DTLSv1.2 is disabled.

Reviewed-by: Paul Dale <pauli@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/15047)

3 years agoasn1_lib.c: ASN1_put_object: Remove comment about "class 0".
Scott McPeak [Fri, 23 Apr 2021 02:13:09 +0000 (19:13 -0700)]
asn1_lib.c: ASN1_put_object: Remove comment about "class 0".

ASN1_put_object() was preceded by the nonsensical comment:

  /*
   * class 0 is constructed constructed == 2 for indefinite length constructed
   */

This is the result of concatenating two sentences in 0f113f3ee4d by
automated reformatting.  The first sentence, "class 0 is constructed",
goes back to d02b48c63a, the import of SSLeay 0.8.1b.  Even in that
context, it made little sense; class 0 means "universal", not
constructed, and there is no special significance to class 0 in this
function in any case.

Therefore I have simply removed that first sentence.

CLA: trivial

Reviewed-by: Tomas Mraz <tomas@openssl.org>
Reviewed-by: Dmitry Belyavskiy <beldmit@gmail.com>
(Merged from https://github.com/openssl/openssl/pull/14998)

3 years agoAdd test case for openssl crl -noout -hash output
Tomas Mraz [Tue, 27 Apr 2021 09:49:44 +0000 (11:49 +0200)]
Add test case for openssl crl -noout -hash output

Reviewed-by: Richard Levitte <levitte@openssl.org>
Reviewed-by: Matt Caswell <matt@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/15044)

3 years agocrl: noout is not an output item
Tomas Mraz [Tue, 27 Apr 2021 09:44:05 +0000 (11:44 +0200)]
crl: noout is not an output item

Fixes #15034

Reviewed-by: Richard Levitte <levitte@openssl.org>
Reviewed-by: Matt Caswell <matt@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/15044)

3 years agoCHANGES: document the FIPS provider configuration and installation
Dr. Matthias St. Pierre [Mon, 26 Apr 2021 00:19:35 +0000 (02:19 +0200)]
CHANGES: document the FIPS provider configuration and installation

Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/13684)

3 years agoREADME-FIPS: document the installation of the FIPS provider
Dr. Matthias St. Pierre [Thu, 8 Apr 2021 19:06:23 +0000 (21:06 +0200)]
README-FIPS: document the installation of the FIPS provider

Note that configuration and installation procedure has changed:

- The FIPS provider is now disabled by default and needs to
  be enabled by configuring with `enable-fips`.
- If the FIPS provider is enabled, it gets installed automatically.
  There is no extra installation step required anymore.

This is more natural and coincides with the expectation of the
user, namely "what's configured, gets installed".

Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/13684)

3 years agoConfigure: disable fips mode by default
Dr. Matthias St. Pierre [Sun, 25 Apr 2021 23:04:26 +0000 (01:04 +0200)]
Configure: disable fips mode by default

Building the fips provider in addition to the default provider
effectively doubles the build time. Since many users will not
need fips support, it is now disabled by default.

Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/13684)

3 years agoConfigure: sort the disablables alphabetically
Dr. Matthias St. Pierre [Sun, 25 Apr 2021 23:01:50 +0000 (01:01 +0200)]
Configure: sort the disablables alphabetically

Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/13684)

3 years agobuild.info: add the Perl wrapper to build generator programs on Windows
Dr. Matthias St. Pierre [Wed, 14 Apr 2021 18:23:43 +0000 (20:23 +0200)]
build.info: add the Perl wrapper to build generator programs on Windows

Pull request #14320 introduced the ability to use compiled programs
as generators in GENERATE rules of build.info files. Those generator
calls were wrapped by the Perl wrapper (wrap.pl) in the Unix makefile
template, but not on Windows.

This commit adds the missing wrapper for Windows, because for the
`fipsmodule.cnf` target it is essential that the `openssl fipsinstall`
command does not load any preinstalled openssl configuration file.

Fixes #13680

Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/13684)

3 years agoConfigure/Makefile: install the fips provider if it was configured
Dr. Matthias St. Pierre [Sun, 25 Apr 2021 22:14:59 +0000 (00:14 +0200)]
Configure/Makefile: install the fips provider if it was configured

To follow the principle "what you configure is what you install",
the `make install` target now includes the installation of the
fips provider (`make install_fips`) if (and only if) OpenSSL was
configured with fips support (`enable-fips`).

The `make install_fips` target exists as well and can be used
to install just the fips provider. It requires `enable-fips`
and issues an error message if `no-fips` was configured.

The anologue holds for the 'uninstall_fips' target.

Fixes #13693

Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/13684)

3 years agoConfigure/Makefile: don't generate a fresh fipsmodule.cnf when installing it
Dr. Matthias St. Pierre [Wed, 14 Apr 2021 18:37:37 +0000 (20:37 +0200)]
Configure/Makefile: don't generate a fresh fipsmodule.cnf when installing it

There is already a `providers/fipsmodule.cnf` target which is required by
the tests. Instead of creating another fipsmodule.cnf, the `install_fips`
target simply copies that configuration file to its final destination.

This commit also restores the minimal dependencies to build the `install_fips`
target immediately after configuring, which was broken after the removal
of the `install_sw` dependency.

Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/13684)

3 years agoConfigure/Makefile: separate install of the FIPS module
Dr. Matthias St. Pierre [Thu, 7 Jan 2021 17:47:01 +0000 (18:47 +0100)]
Configure/Makefile: separate install of the FIPS module

Fixes #13693

Co-authored-by: Richard Levitte <levitte@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/13684)

3 years agoConfigure/Makefile: correct the FIPS module configuration file path
Dr. Matthias St. Pierre [Tue, 15 Dec 2020 21:44:32 +0000 (22:44 +0100)]
Configure/Makefile: correct the FIPS module configuration file path

According to the OpenSSL 3.0 Wiki, the file should be located at

    $(DESTDIR)$(OPENSSLDIR)/fipsmodule.cnf

next to the openssl.cnf file.

Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/13684)

3 years agoConfigure/Makefile: use the correct openssl app for FIPS installation
Dr. Matthias St. Pierre [Tue, 15 Dec 2020 21:34:41 +0000 (22:34 +0100)]
Configure/Makefile: use the correct openssl app for FIPS installation

The `openssl` app was previously called without a path, which
would generally invoke the system's copy of the openssl application.
Currently, that's most likely an openssl version 1.1.1 application,
which does not recognize the `fipsinstall` command and terminates
with an error message.

Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/13684)

3 years agoConfigure/Makefile: fix the `-macopt` argument of the fipsinstall command
Dr. Matthias St. Pierre [Tue, 15 Dec 2020 18:41:58 +0000 (19:41 +0100)]
Configure/Makefile: fix the `-macopt` argument of the fipsinstall command

The FIPS hmac key is provided as a hexadezimal string, which needs to
be be prefixed with `hexkey:`, not `key:`.

Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/13684)

3 years agorunchecker: fix no-sock build by conditioning clean up on the NO_SOCK symbol.
Pauli [Wed, 28 Apr 2021 00:38:08 +0000 (10:38 +1000)]
runchecker: fix no-sock build by conditioning clean up on the NO_SOCK symbol.

Fixes #15054

Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/15055)

3 years agotest: never run fipsinstall if the tests are not enabled.
Pauli [Wed, 28 Apr 2021 01:25:52 +0000 (11:25 +1000)]
test: never run fipsinstall if the tests are not enabled.

Fixes #15056

The dependency for fipsinstall was being added to the makefile regardless of
it being used.  This means that a subsequent `make test` would fail if the
command line application wasn't present.  Rather than fix the instance in question,
it is better to leave out this part of the makefile if the tests cannot be
run.

Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/15057)

3 years agoutil/add-depends.pl: Adapt to localized /showIncludes output
Richard Levitte [Mon, 26 Apr 2021 07:28:12 +0000 (09:28 +0200)]
util/add-depends.pl: Adapt to localized /showIncludes output

It was discovered that MSVC has localized /showIncludes output.
Fortunately, it still seems to follow the same generic format, so we
can adapt the regular expression to make it language agnostic.

Fixes #14994

Reviewed-by: Tomas Mraz <tomas@openssl.org>
Reviewed-by: Matthias St. Pierre <Matthias.St.Pierre@ncp-e.com>
(Merged from https://github.com/openssl/openssl/pull/15006)

3 years agoConfiguration: rework how dependency making is handled
Richard Levitte [Mon, 26 Apr 2021 07:17:05 +0000 (09:17 +0200)]
Configuration: rework how dependency making is handled

Previously, we had dependency making pretty much hard coded in the
build file templates, with a bit of an exception for Unix family
platforms, where we had different cases depending on what dependency
making program was found.

With the Embarcadero C++ builder, a separate scheme appeared, with a
different logic.

This change merges the two, and introduces two config target
attributes:

    makedepcmd          The program to use, where this is relevant.
                        This replaces the earlier configuration
                        attribute 'makedepprog'.
    makedep_scheme      This is a keyword that can be used by build
                        files templates to produce different sorts of
                        commands, but most importantly, to pass as
                        argument to util/add-depend.pl, which uses
                        this keyword as a "producer" for the
                        dependency lines.

If the config target doesn't define the 'makedep_scheme' attribute,
Configure tries to figure it out by looking for GCC compatible
compilers or for the 'makedepend' command.

Reviewed-by: Tomas Mraz <tomas@openssl.org>
Reviewed-by: Matthias St. Pierre <Matthias.St.Pierre@ncp-e.com>
(Merged from https://github.com/openssl/openssl/pull/15006)

3 years agoWindows bulding: Make dependency generation not quite as talkative
Richard Levitte [Fri, 23 Apr 2021 14:19:23 +0000 (16:19 +0200)]
Windows bulding: Make dependency generation not quite as talkative

The modified way to generate .d files had an unfortunate side effect,
that it outputs the whole preprocessed file and not just the dependency
lines, at least with MSVC's cl.  That gave util/add-depends.pl a whole
lot more to read through, which impacts greatly on the performance of
dependency treatment.

We modify the process by adding a config target attribute 'make_depend',
which can be any suitable command for generating such lines.  All it
needs is to also accept C flags and macro definitions.

Fixes #14994

Reviewed-by: Tomas Mraz <tomas@openssl.org>
Reviewed-by: Matthias St. Pierre <Matthias.St.Pierre@ncp-e.com>
(Merged from https://github.com/openssl/openssl/pull/15006)

3 years agoTest a Finished message at the wrong time results in unexpected message
Matt Caswell [Mon, 19 Apr 2021 15:46:30 +0000 (16:46 +0100)]
Test a Finished message at the wrong time results in unexpected message

We test that sending a Finished message instead of a ClientHello results
in an unexpected message error.

Reviewed-by: Paul Dale <pauli@openssl.org>
Reviewed-by: Tim Hudson <tjh@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/14930)

3 years agoDefer Finished MAC handling until after state transition
Matt Caswell [Mon, 19 Apr 2021 14:21:54 +0000 (15:21 +0100)]
Defer Finished MAC handling until after state transition

In TLS we process received messages like this:

1) Read Message Header
2) Validate and transition state based on received message type
3) Read Message Body
4) Process Message

In DTLS we read messages like this:

1) Read Message Header and Body
2) Validate and transition state based on received message type
3) Process Message

The difference is because of the stream vs datagram semantics of the
underlying transport.

In both TLS and DTLS we were doing finished MAC processing as part of
reading the message body. This means that in DTLS this was occurring
*before* the state transition has been validated. A crash was occurring
in DTLS if a Finished message was sent in an invalid state due to
assumptions in the code that certain variables would have been setup by
the time a Finished message arrives.

To avoid this problem we shift the finished MAC processing to be after
the state transition in DTLS.

Thanks to github user @bathooman for reporting this issue.

Fixes #14906

Reviewed-by: Paul Dale <pauli@openssl.org>
Reviewed-by: Tim Hudson <tjh@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/14930)

3 years agoStore the list of activated providers in the libctx
Matt Caswell [Mon, 26 Apr 2021 13:58:40 +0000 (14:58 +0100)]
Store the list of activated providers in the libctx

The provider config module was storing the list of activated providers
in a global variable. However, because different libctxs can each load
providers via config files we need to keep the list of activated providers
separate and in the libctx.

Partially fixes #15030

Reviewed-by: Tomas Mraz <tomas@openssl.org>
Reviewed-by: Paul Dale <pauli@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/15033)

3 years agoProperly protect access to the provider flag_activated field
Matt Caswell [Fri, 23 Apr 2021 15:18:28 +0000 (16:18 +0100)]
Properly protect access to the provider flag_activated field

This was not always locked when it should be.

Fixes #15005

Reviewed-by: Paul Dale <pauli@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/15010)

3 years agoAdd a threading test for loading/unloading providers
Matt Caswell [Fri, 23 Apr 2021 13:10:07 +0000 (14:10 +0100)]
Add a threading test for loading/unloading providers

Check that we don't see any threading issues when loading/unloading a
provider from multiple threads.

Reviewed-by: Paul Dale <pauli@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/15010)

3 years agoCMS ESS: Move four internal aux function to where they belong in crypto/cms
Dr. David von Oheimb [Tue, 16 Mar 2021 15:41:52 +0000 (16:41 +0100)]
CMS ESS: Move four internal aux function to where they belong in crypto/cms

Also constify and slightly refactor them.

Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/14601)

3 years agoTS ESS: Move four internal aux function to where they belong in crypto/ts
Dr. David von Oheimb [Tue, 16 Mar 2021 15:04:08 +0000 (16:04 +0100)]
TS ESS: Move four internal aux function to where they belong in crypto/ts

Also constify and slightly refactor them.

Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/14601)

3 years agoESS: Export three core functions, clean up TS and CMS CAdES-BES usage
Dr. David von Oheimb [Mon, 15 Mar 2021 19:24:40 +0000 (20:24 +0100)]
ESS: Export three core functions, clean up TS and CMS CAdES-BES usage

Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/14601)

3 years agoSkip test_fipsload when fips is disabled.
Tomas Mraz [Mon, 26 Apr 2021 10:59:23 +0000 (12:59 +0200)]
Skip test_fipsload when fips is disabled.

Reviewed-by: Matthias St. Pierre <Matthias.St.Pierre@ncp-e.com>
(Merged from https://github.com/openssl/openssl/pull/15027)

3 years agoExplicitly enable or disable fips if it is or is not relevant for the test
Tomas Mraz [Mon, 26 Apr 2021 10:19:49 +0000 (12:19 +0200)]
Explicitly enable or disable fips if it is or is not relevant for the test

Reviewed-by: Matthias St. Pierre <Matthias.St.Pierre@ncp-e.com>
(Merged from https://github.com/openssl/openssl/pull/15027)

3 years agoAdd X509 version constants.
David Benjamin [Thu, 11 Mar 2021 19:43:04 +0000 (14:43 -0500)]
Add X509 version constants.

The X509 version APIs return the numerical values of the version
numbers, which are one off from the names. This is a bit confusing.
Where they don't get it wrong (accidentally making an "X509v4"
certificate), callers tend to try commenting every call site to explain
the mismatch, including in OpenSSL itself.

Define constants for these values, so code can be self-documenting and
callers are nudged towards the right values.

Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/14549)

3 years agomemleaktest with MSVC's AddressSanitizer
Kevin Cadieux [Fri, 19 Mar 2021 20:54:05 +0000 (13:54 -0700)]
memleaktest with MSVC's AddressSanitizer

Disabling memleaktest under MSVC because leak detection is not a supported feature with MSVC's AddressSanitizer. Leaving ASan enabled in this case causes a test failure because the test suite is expecting the leak to be detected.

CLA: trivial

Reviewed-by: Shane Lontis <shane.lontis@oracle.com>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/14581)

3 years agoOPENSSL_sk functions are effectively already documented
Tomas Mraz [Mon, 29 Mar 2021 12:18:10 +0000 (14:18 +0200)]
OPENSSL_sk functions are effectively already documented

Reviewed-by: Matt Caswell <matt@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/14728)

3 years agoImprove the implementation of X509_STORE_CTX_get1_issuer()
Tomas Mraz [Mon, 29 Mar 2021 10:41:18 +0000 (12:41 +0200)]
Improve the implementation of X509_STORE_CTX_get1_issuer()

It is possible for the stack of X509_OBJECTs held in an X509_STORE_CTX to
have a custom compare function associated with it. Normally (by default)
this uses X509_NAME_cmp(). The X509_STORE_CTX_get1_issuer() function
assumed that it would always be X509_NAME_cmp().

By implementing OPENSSL_sk_find_all() function we can avoid explicitly
using X509_NAME_cmp() in X509_STORE_CTX_get1_issuer().

Reviewed-by: Matt Caswell <matt@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/14728)

3 years agoAdd testing for updated cipher IV
Jon Spillett [Tue, 27 Apr 2021 04:56:00 +0000 (14:56 +1000)]
Add testing for updated cipher IV

Reviewed-by: Paul Dale <pauli@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/15041)

3 years agoUse "canonical" names when matching the output of the commands
Tomas Mraz [Mon, 26 Apr 2021 13:04:53 +0000 (15:04 +0200)]
Use "canonical" names when matching the output of the commands

Reviewed-by: Richard Levitte <levitte@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/15028)

3 years agoSkip GOST engine tests in out of tree builds
Tomas Mraz [Mon, 26 Apr 2021 11:12:28 +0000 (13:12 +0200)]
Skip GOST engine tests in out of tree builds

Reviewed-by: Richard Levitte <levitte@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/15028)

3 years agoPrefer fetch over legacy get_digestby/get_cipherby
Tomas Mraz [Mon, 26 Apr 2021 10:08:27 +0000 (12:08 +0200)]
Prefer fetch over legacy get_digestby/get_cipherby

Fixes #14198

Reviewed-by: Richard Levitte <levitte@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/15028)

3 years agoRename some globals, add ossl prefix.
Rich Salz [Mon, 26 Apr 2021 17:35:51 +0000 (13:35 -0400)]
Rename some globals, add ossl prefix.

Fixes: 13562
Reviewed-by: Tomas Mraz <tomas@openssl.org>
Reviewed-by: Paul Dale <pauli@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/15035)

3 years agoAdd system guessing for linux64-riscv64 target
Andreas Schwab [Sun, 25 Apr 2021 17:29:45 +0000 (19:29 +0200)]
Add system guessing for linux64-riscv64 target

CLA: trivial

Reviewed-by: Tomas Mraz <tomas@openssl.org>
Reviewed-by: Paul Dale <pauli@openssl.org>
Reviewed-by: Richard Levitte <levitte@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/15023)

3 years agoTest that we don't have a memory leak in d2i_ASN1_OBJECT.
Shane Lontis [Wed, 21 Apr 2021 03:49:29 +0000 (13:49 +1000)]
Test that we don't have a memory leak in d2i_ASN1_OBJECT.

Fixes #14667

Reworked test supplied by @smcpeak into a unit test.

Reviewed-by: Richard Levitte <levitte@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/14938)

(cherry picked from commit 7c65179ad95d0f6f598ee82e763fce2567fe5802)

3 years agoASN1: Ensure that d2i_ASN1_OBJECT() frees the strings on ASN1_OBJECT reuse
Richard Levitte [Tue, 20 Apr 2021 06:43:30 +0000 (08:43 +0200)]
ASN1: Ensure that d2i_ASN1_OBJECT() frees the strings on ASN1_OBJECT reuse

The 'sn' and 'ln' strings may be dynamically allocated, and the
ASN1_OBJECT flags have a bit set to say this.  If an ASN1_OBJECT with
such strings is passed to d2i_ASN1_OBJECT() for reuse, the strings
must be freed, or there is a memory leak.

Fixes #14667

Reviewed-by: Shane Lontis <shane.lontis@oracle.com>
(Merged from https://github.com/openssl/openssl/pull/14938)

(cherry picked from commit 65b88a75921533ada8b465bc8d5c0817ad927947)

3 years agoadd verbosity for pyca job
Paul Kehrer [Sun, 25 Apr 2021 19:28:23 +0000 (14:28 -0500)]
add verbosity for pyca job

Reviewed-by: Tomas Mraz <tomas@openssl.org>
Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Shane Lontis <shane.lontis@oracle.com>
Reviewed-by: Paul Dale <pauli@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/15018)

3 years agore-add pyca/cryptography testing
Paul Kehrer [Sat, 24 Apr 2021 20:55:25 +0000 (15:55 -0500)]
re-add pyca/cryptography testing

Reviewed-by: Tomas Mraz <tomas@openssl.org>
Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Shane Lontis <shane.lontis@oracle.com>
Reviewed-by: Paul Dale <pauli@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/15018)

3 years agoadd wycheproof submodule
Paul Kehrer [Sat, 24 Apr 2021 20:55:08 +0000 (15:55 -0500)]
add wycheproof submodule

This is used with the pyca/cryptography test suite

Reviewed-by: Tomas Mraz <tomas@openssl.org>
Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Shane Lontis <shane.lontis@oracle.com>
Reviewed-by: Paul Dale <pauli@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/15018)

3 years agoupdated pyca/cryptography submodule version
Paul Kehrer [Sat, 24 Apr 2021 19:42:20 +0000 (14:42 -0500)]
updated pyca/cryptography submodule version

Reviewed-by: Tomas Mraz <tomas@openssl.org>
Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Shane Lontis <shane.lontis@oracle.com>
Reviewed-by: Paul Dale <pauli@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/15018)

3 years agoAvoid #include with inline function on C++Builder
Tanzinul Islam [Sun, 25 Apr 2021 18:59:29 +0000 (19:59 +0100)]
Avoid #include with inline function on C++Builder

Commit 6b2978406 exposed a bug with C++Builder's Clang-based compilers,
which cause inline function definitions in C translation units to not
be found by the linker. Disable the inclusion of the triggering header.

Reviewed-by: Paul Dale <pauli@openssl.org>
Reviewed-by: Richard Levitte <levitte@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/15025)

3 years agoDeprecate EVP_PKEY_cmp() and EVP_PKEY_cmp_parameters().
Shane Lontis [Fri, 23 Apr 2021 00:53:03 +0000 (10:53 +1000)]
Deprecate EVP_PKEY_cmp() and EVP_PKEY_cmp_parameters().

The replacement functions EVP_PKEY_eq() and EVP_PKEY_parameters_eq()
already exist.

Reviewed-by: Richard Levitte <levitte@openssl.org>
Reviewed-by: David von Oheimb <david.von.oheimb@siemens.com>
(Merged from https://github.com/openssl/openssl/pull/14997)

3 years agoDoc updates for DH/DSA examples
Shane Lontis [Tue, 20 Apr 2021 03:29:26 +0000 (13:29 +1000)]
Doc updates for DH/DSA examples

Reviewed-by: Tomas Mraz <tomas@openssl.org>
Reviewed-by: Paul Dale <pauli@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/14936)

3 years agoFixes related to separation of DH and DHX types
Shane Lontis [Thu, 15 Apr 2021 08:25:17 +0000 (18:25 +1000)]
Fixes related to separation of DH and DHX types

Fix dh_rfc5114 option in genpkey.

Fixes #14145
Fixes #13956
Fixes #13952
Fixes #13871
Fixes #14054
Fixes #14444

Updated documentation for app to indicate what options are available for
DH and DHX keys.

DH and DHX now have different keymanager gen_set_params() methods.

Added CHANGES entry to indicate the breaking change.

Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/14883)

3 years agoAdd type_name member to provided methods and use it
Tomas Mraz [Fri, 16 Apr 2021 14:22:03 +0000 (16:22 +0200)]
Add type_name member to provided methods and use it

Fixes #14701

Reviewed-by: Richard Levitte <levitte@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/14898)

3 years agoDocumentation fix for openssl-verify certificates
Klaas van Schelven [Wed, 31 Mar 2021 08:44:20 +0000 (10:44 +0200)]
Documentation fix for openssl-verify certificates

`openssl verify` silently ignores any but the first certificate in the
`certificates` argument.

See #14675

Reviewed-by: Dmitry Belyavskiy <beldmit@gmail.com>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/14754)

3 years agoAPPS: Improve diagnostics for string options and options expecting int >= 0
Dr. David von Oheimb [Wed, 21 Apr 2021 11:08:21 +0000 (13:08 +0200)]
APPS: Improve diagnostics for string options and options expecting int >= 0

Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/14970)

3 years agoAPPS: Prevent ASAN hickup on idempotent strncpy() in opt_progname()
Dr. David von Oheimb [Wed, 21 Apr 2021 11:51:03 +0000 (13:51 +0200)]
APPS: Prevent ASAN hickup on idempotent strncpy() in opt_progname()

Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/14970)

3 years agoTEST: correct test/recipes/30-test_evp_data/evppkey_ecdh.txt
Richard Levitte [Fri, 23 Apr 2021 13:52:02 +0000 (15:52 +0200)]
TEST: correct test/recipes/30-test_evp_data/evppkey_ecdh.txt

Some keys with groups that aren't supported by FIPS were still used
for Derive stanzas, even when testing with the FIPS provider.
This was due to the flaw in evp_keymgmt_util_try_import() that meant
that even though the key was invalid for FIPS, it could still come
through, because the imported keydata wasn't cleared on import error.
With that flaw corrected, these few Derive stanzas start failing.

We mitigate this by making of "offending" Derive stanzas only
available with the default provider.

Reviewed-by: Dmitry Belyavskiy <beldmit@gmail.com>
(Merged from https://github.com/openssl/openssl/pull/15008)

3 years agoSTORE: Simplify error filtering in der2obj_decode()
Richard Levitte [Fri, 23 Apr 2021 13:47:59 +0000 (15:47 +0200)]
STORE: Simplify error filtering in der2obj_decode()

We do here like in all other decoder implementations, drop all errors
that were caused by a failing asn1_d2i_read_bio(), as it's most likely
to mean that the input isn't DER, and another decoder implementation,
if there is any left, should have a go.

Reviewed-by: Dmitry Belyavskiy <beldmit@gmail.com>
(Merged from https://github.com/openssl/openssl/pull/15008)

3 years agocrypto/store/ossl_result.c: Better filtering of errors
Richard Levitte [Fri, 23 Apr 2021 13:44:39 +0000 (15:44 +0200)]
crypto/store/ossl_result.c: Better filtering of errors

The diverse variants of try_XXX() were filtering errors independently
of each other.  It's better done in ossl_store_handle_load_result()
itself, where we have control over the overall success and failure of
the attempts.

Fixes #14973

Reviewed-by: Dmitry Belyavskiy <beldmit@gmail.com>
(Merged from https://github.com/openssl/openssl/pull/15008)

3 years agoEVP: evp_keymgmt_util_try_import() should clean up on failed import
Richard Levitte [Fri, 23 Apr 2021 13:40:30 +0000 (15:40 +0200)]
EVP: evp_keymgmt_util_try_import() should clean up on failed import

If evp_keymgmt_util_try_import() allocated keydata, and the import
itself fails, it should deallocate keydata.

Reviewed-by: Dmitry Belyavskiy <beldmit@gmail.com>
(Merged from https://github.com/openssl/openssl/pull/15008)

3 years agoDon't remove $(TARFILE) when cleaning
Richard Levitte [Thu, 22 Apr 2021 12:37:40 +0000 (14:37 +0200)]
Don't remove $(TARFILE) when cleaning

This file is outside the source tree, so we have no business removing
it.  This is especially concerning if that was the tarball the user
had to create the source tree.

Fixes #14981

Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/14985)

3 years agotest: separate some DES based tests out to permit a no-des build to work
Pauli [Thu, 22 Apr 2021 00:21:30 +0000 (10:21 +1000)]
test: separate some DES based tests out to permit a no-des build to work

One of the KDFs and one of the MACs use DES as an underlying algorithm in some
tests.  Separate these out into their own files which are conditionally excluded.

Fixes #14958

Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/14975)

3 years agotest: fix test_evp_kdf when DES is disabled.
Pauli [Thu, 22 Apr 2021 00:05:47 +0000 (10:05 +1000)]
test: fix test_evp_kdf when DES is disabled.

Fixes #14958

Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/14975)

3 years agoRunchecker fix for the no-autoerrinit build
Pauli [Thu, 22 Apr 2021 01:04:28 +0000 (11:04 +1000)]
Runchecker fix for the no-autoerrinit build

In this case, there was a slight different error output format that wasn't
being accounted for in the error test.

Fixes #14961

Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/14976)

3 years agoRunchecker: fix failure with no-autoalginit option by disabling FIPS
Pauli [Thu, 22 Apr 2021 06:43:13 +0000 (16:43 +1000)]
Runchecker: fix failure with no-autoalginit option by disabling FIPS

With this option, the openssl command line tool is not created.  Without that
it is impossible to create the fipsmodule.cnf file that the tests would
otherwise depend upon.

Reviewed-by: Shane Lontis <shane.lontis@oracle.com>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/14979)

3 years agoRunchecker: fix TLS curves test failure with no-tls1_3 option
Pauli [Thu, 22 Apr 2021 06:13:10 +0000 (16:13 +1000)]
Runchecker: fix TLS curves test failure with no-tls1_3 option

The TLS curves test strong assumes that TLS 1.2 and TLS 1.3 are present.
It is only conditioned out if TLS 1.2 isn't.  This changes also conditions
it out if TLS 1.3 isn't present.

Fixes ##14965

Reviewed-by: Ben Kaduk <kaduk@mit.edu>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/14978)

3 years agoRunchecker: fix no-ec2m build which was trying to validate the e2cm curves
Pauli [Thu, 22 Apr 2021 01:50:15 +0000 (11:50 +1000)]
Runchecker: fix no-ec2m build which was trying to validate the e2cm curves

The evp_extra_test program was trying to validate these curves when they were
not build.

Fixes #14959

Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/14977)

3 years agoTrivial shortcuts for EVP_PKEY_eq()
Tomas Mraz [Tue, 20 Apr 2021 14:39:00 +0000 (16:39 +0200)]
Trivial shortcuts for EVP_PKEY_eq()

Reviewed-by: Paul Dale <pauli@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/14942)

3 years agoRemove obsolete comment
Dr. Matthias St. Pierre [Wed, 21 Apr 2021 11:12:38 +0000 (13:12 +0200)]
Remove obsolete comment

Fixes #14968

Reviewed-by: Tim Hudson <tjh@openssl.org>
Reviewed-by: Paul Dale <pauli@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/14969)

3 years agoAdded Perl installation instructions to NOTES-PERL.md for HPE NonStop.
Randall S. Becker [Mon, 19 Apr 2021 17:32:36 +0000 (13:32 -0400)]
Added Perl installation instructions to NOTES-PERL.md for HPE NonStop.

Fixes #14931.

Signed-off-by: Randall S. Becker <rsbecker@nexbridge.com>
Reviewed-by: Richard Levitte <levitte@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
Reviewed-by: Matthias St. Pierre <Matthias.St.Pierre@ncp-e.com>
(Merged from https://github.com/openssl/openssl/pull/14932)