]> git.ipfire.org Git - thirdparty/openssl.git/log
thirdparty/openssl.git
3 weeks agoExpand and clarify SSL_CTX_config(3) docs.
Viktor Dukhovni [Mon, 17 Nov 2025 08:04:58 +0000 (19:04 +1100)] 
Expand and clarify SSL_CTX_config(3) docs.

- Document significant limitations in CONF_module_load_file() in OpenSSL 3.x

- Given the limitations, deëmphasise the use of CONF_module_load_file()
  in SSL_CTX_config(3) documentation, showing an example with the default
  config file instead.

Reviewed-by: Saša Nedvědický <sashan@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/28650)

3 weeks agoEditorial: future proofing -> future-proofing
Viktor Dukhovni [Mon, 17 Nov 2025 08:03:32 +0000 (19:03 +1100)] 
Editorial: future proofing -> future-proofing

Reviewed-by: Saša Nedvědický <sashan@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/28650)

3 weeks agoCorrect information about the default value of the -md parameter
Igor Ustinov [Wed, 19 Nov 2025 15:21:30 +0000 (16:21 +0100)] 
Correct information about the default value of the -md parameter
of the openssl cms command.

Reviewed-by: Tomas Mraz <tomas@openssl.org>
Reviewed-by: Dmitry Belyavskiy <beldmit@gmail.com>
Reviewed-by: Paul Dale <paul.dale@oracle.com>
Reviewed-by: Neil Horman <nhorman@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/29175)

3 weeks agodoc/man3/OPENSSL_malloc.pod: mention rationale for OPENSSL_cleanse()
Eugene Syromiatnikov [Wed, 19 Nov 2025 14:19:59 +0000 (15:19 +0100)] 
doc/man3/OPENSSL_malloc.pod: mention rationale for OPENSSL_cleanse()

It was not entirely clear from the sole description, what is  the reason
for preferring OPENSSL_cleanse() over memset().  Add a note about situations
in which OPENSSL_cleanse() should be chosen.

Signed-off-by: Eugene Syromiatnikov <esyr@openssl.org>
Reviewed-by: Dmitry Belyavskiy <beldmit@gmail.com>
Reviewed-by: Paul Dale <paul.dale@oracle.com>
Reviewed-by: Richard Levitte <levitte@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/29174)

3 weeks agoDOC: fix description of '-self_test_oninstall'
Shohei YOSHIDA [Wed, 19 Nov 2025 04:34:54 +0000 (13:34 +0900)] 
DOC: fix description of '-self_test_oninstall'

CLA: trivial

Reviewed-by: Paul Dale <paul.dale@oracle.com>
Reviewed-by: Eugene Syromiatnikov <esyr@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/29168)

3 weeks agoAdd test for recordpadding
Neil Horman [Thu, 6 Nov 2025 14:38:17 +0000 (09:38 -0500)] 
Add test for recordpadding

Just run the quicapitest (which attempts to create quic connections)
while using a config that specifies recordpadding, which quic should
ignore

Reviewed-by: Saša Nedvědický <sashan@openssl.org>
Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/28992)

3 weeks agoIgnore RecordPadding option in config file for QUIC objects
Neil Horman [Sat, 25 Oct 2025 11:21:42 +0000 (07:21 -0400)] 
Ignore RecordPadding option in config file for QUIC objects

QUIC connections always pad data at the packet level during packet
encryption, and so have no ability to do padding at the record level.

We want to be able to inform the user of this condition when
applications call SSL_set_block_padding_ex directly by returning an
error, we have no idea of what kind of SSL objects are created when the
config file is written.

As such, silently ignore this config file option when QUIC objects are created.

Fixes #28953

Reviewed-by: Saša Nedvědický <sashan@openssl.org>
Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/28992)

3 weeks agoAdd SSL_CTX_is_quic API
Neil Horman [Sat, 25 Oct 2025 11:12:50 +0000 (07:12 -0400)] 
Add SSL_CTX_is_quic API

Like SSL_is_quic, it would be helpful to know if SSL_CTX objects create
QUIC SSL's or not.

Reviewed-by: Saša Nedvědický <sashan@openssl.org>
Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/28992)

3 weeks agorand_lib.c: Use ERR_LIB_RAND with RAND_R errors
Teshan Kannangara [Sat, 8 Nov 2025 14:13:09 +0000 (19:43 +0530)] 
rand_lib.c: Use ERR_LIB_RAND with RAND_R errors

Use ERR_LIB_RAND when reporting RAND_R_ALREADY_INSTANTIATED from
RAND_set_DRBG_type() and RAND_set_seed_source_type() so the error
message references the RAND subsystem instead of CRYPTO.

Fixes #29039

CLA: trivial

Reviewed-by: Eugene Syromiatnikov <esyr@openssl.org>
Reviewed-by: Paul Dale <paul.dale@oracle.com>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/29109)

3 weeks agoCHANGES.md: CRL Certificate Issuer and IDP extensions
Daniel Kubec [Thu, 13 Nov 2025 08:38:00 +0000 (08:38 +0000)] 
CHANGES.md: CRL Certificate Issuer and IDP extensions

Updated CHANGES.md for commit e2990825a238363c4afac60f5f0e335c3fd33f28

Co-authored-by: Viktor Dukhovni <viktor1ghub@dukhovni.org>
Reviewed-by: Dmitry Belyavskiy <beldmit@gmail.com>
Reviewed-by: Viktor Dukhovni <viktor@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/29136)

3 weeks agosm4-riscv64-zvksed.pl: Code comment corrections
zhoulu [Thu, 13 Nov 2025 06:54:36 +0000 (14:54 +0800)] 
sm4-riscv64-zvksed.pl: Code comment corrections

Reviewed-by: Eugene Syromiatnikov <esyr@openssl.org>
Reviewed-by: Paul Dale <paul.dale@oracle.com>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/29134)

3 weeks agoOCSP_request_set1_name(): make use of GENERAL_NAME_set1_X509_NAME()
Dr. David von Oheimb [Fri, 7 Feb 2025 11:41:33 +0000 (12:41 +0100)] 
OCSP_request_set1_name(): make use of GENERAL_NAME_set1_X509_NAME()

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

3 weeks agocms_sd.c: Code style cleanup and removed redundant check
Tomas Mraz [Wed, 19 Nov 2025 10:53:05 +0000 (11:53 +0100)] 
cms_sd.c: Code style cleanup and removed redundant check

The `md == NULL` check is redundant as ossl_cms_adjust_md()
never returns success with `md == NULL`.

Fixes Coverity issue 1675014
Fixes #29170

Reviewed-by: Eugene Syromiatnikov <esyr@openssl.org>
Reviewed-by: Norbert Pocs <norbertp@openssl.org>
Reviewed-by: Paul Dale <paul.dale@oracle.com>
(Merged from https://github.com/openssl/openssl/pull/29171)

3 weeks agodoc: Add HISTORY entry for message signing functions in provider-signature(7)
Samaresh Kumar Singh [Wed, 12 Nov 2025 20:51:04 +0000 (14:51 -0600)] 
doc: Add HISTORY entry for message signing functions in provider-signature(7)

The OSSL_FUNC_signature_{sign,verify}_message_* functions were added
in OpenSSL 3.4 but weren't documented in the HISTORY section of
provider-signature(7), while the corresponding EVP_PKEY_sign_message_*
functions are properly documented in EVP_PKEY_sign(3).

This adds the missing HISTORY entry to document when these provider
functions were introduced.

Fixes #29088

CLA: trivial

Reviewed-by: Tomas Mraz <tomas@openssl.org>
Reviewed-by: Norbert Pocs <norbertp@openssl.org>
Reviewed-by: Paul Dale <paul.dale@oracle.com>
(Merged from https://github.com/openssl/openssl/pull/29130)

3 weeks agoapps/s_time: enable peer verification when -verify is used
Joshua Rogers [Sat, 11 Oct 2025 04:14:24 +0000 (12:14 +0800)] 
apps/s_time: enable peer verification when -verify is used

s_time loaded CA material but never turned verification on, so
-verify only changed the depth while handshakes skipped verification.

Signed-off-by: Joshua Rogers <MegaManSec@users.noreply.github.com>
Reviewed-by: Dmitry Belyavskiy <beldmit@gmail.com>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/28857)

3 weeks agobio_ok.c: Fixed undefined identifier 'SIZE_MAX'
Lars Erik Wik [Wed, 8 Oct 2025 15:06:39 +0000 (17:06 +0200)] 
bio_ok.c: Fixed undefined identifier 'SIZE_MAX'

This fixes the following compilation error on HP-UX:
```
11:07:19 crypto/evp/bio_ok.c: In function 'block_in':
11:07:19 crypto/evp/bio_ok.c:579: error: 'SIZE_MAX' undeclared (first use in this function)
11:07:19 crypto/evp/bio_ok.c:579: error: (Each undeclared identifier is reported only once
11:07:19 crypto/evp/bio_ok.c:579: error: for each function it appears in.)
```

Signed-off-by: Lars Erik Wik <lars.erik.wik@northern.tech>
CLA: trivial

Reviewed-by: Paul Dale <paul.dale@oracle.com>
Reviewed-by: Norbert Pocs <norbertp@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/28793)

(cherry picked from commit 695a5aaf0bb04bc2f2d395987f121c1ec41d3b3e)

3 weeks agodsaparam.c: Check return value of PEM_write_bio_PrivateKey()
Anton Moryakov [Wed, 5 Nov 2025 11:58:18 +0000 (14:58 +0300)] 
dsaparam.c: Check return value of PEM_write_bio_PrivateKey()

The result of PEM_write_bio_PrivateKey was not checked, which could lead
to silent failure when writing a generated DSA private key to output.

Now verify the return value and report an error if the write fails,
matching the error handling pattern used for other write operations.

Signed-off-by: Anton Moryakov <ant.v.moryakov@gmail.com>
Reviewed-by: Dmitry Belyavskiy <beldmit@gmail.com>
Reviewed-by: Norbert Pocs <norbertp@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/29075)

3 weeks agoEnable AES and SHA3 optimisations on Apple Silicon M5-based macOS systems
Tom Cosgrove [Thu, 30 Oct 2025 11:01:33 +0000 (11:01 +0000)] 
Enable AES and SHA3 optimisations on Apple Silicon M5-based macOS systems

ARMV8_UNROLL8_EOR3 gives a performance improvement of 6-35%.

ARMV8_HAVE_SHA3_AND_WORTH_USING gives 3-4% improvement.

Still no performance gain from ARMV8_UNROLL12_EOR3.

Change-Id: I692ad5711e7ff728cd59baba64830cd3f69c3687

Reviewed-by: Paul Dale <paul.dale@oracle.com>
Reviewed-by: Norbert Pocs <norbertp@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/29053)

3 weeks agomerge x509 and handshake memfail test
Neil Horman [Fri, 3 Oct 2025 13:41:14 +0000 (09:41 -0400)] 
merge x509 and handshake memfail test

Reviewed-by: Saša Nedvědický <sashan@openssl.org>
Reviewed-by: Norbert Pocs <norbertp@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/28736)

3 weeks agoAdd x509 memfail test to run_checker_daily
Neil Horman [Thu, 2 Oct 2025 17:19:30 +0000 (13:19 -0400)] 
Add x509 memfail test to run_checker_daily

Reviewed-by: Saša Nedvědický <sashan@openssl.org>
Reviewed-by: Norbert Pocs <norbertp@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/28736)

3 weeks agoadd a memfail test for x509 operations
Neil Horman [Thu, 2 Oct 2025 14:45:55 +0000 (10:45 -0400)] 
add a memfail test for x509 operations

Much like our handshake test, x509 has several operations that can be
tested easily in such a way that we ensure memory failures don't cause
cascading asan failures, and increase our test coverage.

Add a test to exercise some X509 apis to do so.

Reviewed-by: Saša Nedvědický <sashan@openssl.org>
Reviewed-by: Norbert Pocs <norbertp@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/28736)

3 weeks agoCMP doc: update RFC 4210 -> 9810, RFC 6712 -> 9811
Dr. David von Oheimb [Thu, 10 Jul 2025 15:54:33 +0000 (17:54 +0200)] 
CMP doc: update RFC 4210 -> 9810, RFC 6712 -> 9811

Reviewed-by: Dmitry Belyavskiy <beldmit@gmail.com>
Reviewed-by: Alicja Kario <hkario@redhat.com>
(Merged from https://github.com/openssl/openssl/pull/28017)

3 weeks ago80-test_cms.t: Fix regression in provider compatibility CI
Tomas Mraz [Wed, 19 Nov 2025 11:17:18 +0000 (12:17 +0100)] 
80-test_cms.t: Fix regression in provider compatibility CI

Fixes de83e655806

Reviewed-by: Eugene Syromiatnikov <esyr@openssl.org>
Reviewed-by: Tim Hudson <tjh@openssl.org>
Reviewed-by: Neil Horman <nhorman@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/29172)

3 weeks agoAllow get_params to return length of the AES-GCM tag parameter
Leon Timmermans [Mon, 11 Aug 2025 20:25:59 +0000 (22:25 +0200)] 
Allow get_params to return length of the AES-GCM tag parameter

Previously, EVP_CIPHER_CTX_get_params would not report the length of the
tag parameter when called with a NULL data pointer. This change makes the
function behave as documented.

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

3 weeks agoAllow get_params to return length of AES-GCM IV parameters
Leon Timmermans [Mon, 11 Aug 2025 20:08:39 +0000 (22:08 +0200)] 
Allow get_params to return length of AES-GCM IV parameters

Previously, EVP_CIPHER_CTX_get_params would not report the length of the
IV parameters when called with a NULL data pointer. This change makes the
function behave as documented.

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

3 weeks agoadd CI job for linux-x86 platform
Dmitry Misharov [Tue, 11 Nov 2025 14:11:36 +0000 (15:11 +0100)] 
add CI job for linux-x86 platform

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

4 weeks agoRemoved ossl_assert() calls from public OSSL_EN/DECODER_CTX_*() functions
Igor Ustinov [Thu, 13 Nov 2025 12:47:48 +0000 (13:47 +0100)] 
Removed ossl_assert() calls from public OSSL_EN/DECODER_CTX_*() functions

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

4 weeks agoAdded finalized flag to the OSSL_ENCODER/DECODER_CTX structures
Igor Ustinov [Tue, 11 Nov 2025 10:23:35 +0000 (11:23 +0100)] 
Added finalized flag to the OSSL_ENCODER/DECODER_CTX structures

After this flag is set, the generic OSSL_ENCODER/DECODER_CTX_set_*()
functions shouldn't be called anymore, so they return error in this case.

Fixes #28249

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

4 weeks agoapps/enc.c: Moved -pass, -k, -kfile to encryption options
Soumik Sarker [Sun, 9 Nov 2025 17:52:35 +0000 (23:52 +0600)] 
apps/enc.c: Moved -pass, -k, -kfile to encryption options

Signed-off-by: Soumik Sarker <ronodhirsoumik@gmail.com>
Reviewed-by: Dmitry Belyavskiy <beldmit@gmail.com>
Reviewed-by: Paul Dale <paul.dale@oracle.com>
(Merged from https://github.com/openssl/openssl/pull/29110)

4 weeks agoasn1: raise NOT_ENOUGH_DATA on header EOF
Joshua Rogers [Sat, 11 Oct 2025 12:42:59 +0000 (20:42 +0800)] 
asn1: raise NOT_ENOUGH_DATA on header EOF

If BIO_read returns 0 with no buffered data, raise ASN1_R_NOT_ENOUGH_DATA
so callers see a specific error instead of a generic -1.

Signed-off-by: Joshua Rogers <MegaManSec@users.noreply.github.com>
Reviewed-by: Saša Nedvědický <sashan@openssl.org>
Reviewed-by: Dmitry Belyavskiy <beldmit@gmail.com>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/28883)

4 weeks agoPrevent NULL deref in BN_is_zero when cofactor is missing
Anton Moryakov [Tue, 4 Nov 2025 22:18:47 +0000 (01:18 +0300)] 
Prevent NULL deref in BN_is_zero when cofactor is missing

In ossl_ec_curve_nid_from_params, EC_GROUP_get0_cofactor may return NULL,
but BN_is_zero was called on it unconditionally, leading to a potential
segmentation fault.

Now check that cofactor != NULL before calling BN_is_zero or BN_is_word,
aligning with safe practices used elsewhere in the codebase.

This fixes a critical NULL pointer dereference vulnerability that could
be triggered by EC groups with unset cofactor, preventing DoS via segfault.

Signed-off-by: Anton Moryakov <ant.v.moryakov@gmail.com>
Reviewed-by: Paul Dale <paul.dale@oracle.com>
Reviewed-by: Paul Yang <paulyang.inf@gmail.com>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/29069)

4 weeks agoML_KEM init refactoring, unconditional entropy cleanup
Igor Ustinov [Tue, 4 Nov 2025 13:20:47 +0000 (14:20 +0100)] 
ML_KEM init refactoring, unconditional entropy cleanup

Fixes #27746

Reviewed-by: Viktor Dukhovni <viktor@openssl.org>
Reviewed-by: Shane Lontis <shane.lontis@oracle.com>
Reviewed-by: Tim Hudson <tjh@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/29062)

4 weeks agoasn1_gen: add ASN1_object_size() return check and fix else braces
KubaBoi [Tue, 28 Oct 2025 17:22:57 +0000 (18:22 +0100)] 
asn1_gen: add ASN1_object_size() return check and fix else braces

Fixes: #6570
CLA: trivial

Reviewed-by: Norbert Pocs <norbertp@openssl.org>
Reviewed-by: Paul Yang <paulyang.inf@gmail.com>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/29022)

4 weeks agoCRYPTO_R_ cannot be used with ERR_LIB_OSSL_STORE
Tomas Mraz [Mon, 27 Oct 2025 14:48:40 +0000 (15:48 +0100)] 
CRYPTO_R_ cannot be used with ERR_LIB_OSSL_STORE

Use ERR_R_PASSED_NULL_PARAMETER instead.

Fixes e9e643bc580e4ba0c6f8f9b4dd2ce59397b1b786

Reviewed-by: Neil Horman <nhorman@openssl.org>
Reviewed-by: Tom Cosgrove <tom.cosgrove@arm.com>
Reviewed-by: Viktor Dukhovni <viktor@openssl.org>
Reviewed-by: Richard Levitte <levitte@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/29006)

4 weeks agoImplement EVP_SIGNATURE_hash_message_update() and use it
Stefan Berger [Thu, 6 Nov 2025 22:16:01 +0000 (16:16 -0600)] 
Implement EVP_SIGNATURE_hash_message_update() and use it

Implement EVP_SIGNATURE_hash_message_update() to check for support
of EVP_PKEY_sign_message_update() and EVP_PKEY_verify_message_update() and
use this function to replace the has_msg_update column in CMS.

Signed-off-by: Stefan Berger <stefanb@linux.ibm.com>
Reviewed-by: Dmitry Belyavskiy <beldmit@gmail.com>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/28923)

4 weeks agotests: Add CMS tests for no-attribute signing for ML/SLH-DSA and EdDSA
Stefan Berger [Tue, 14 Oct 2025 22:23:28 +0000 (17:23 -0500)] 
tests: Add CMS tests for no-attribute signing for ML/SLH-DSA and EdDSA

Add CMS test cases for no-attribute signing for ML-DSA, SLH-DSA
amd EdDSA (Ed448 and Ed25519 keys).

Fixes: #11915
Signed-off-by: Stefan Berger <stefanb@linux.ibm.com>
Reviewed-by: Dmitry Belyavskiy <beldmit@gmail.com>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/28923)

4 weeks agocms: Enable signature verification for no-attribute case (hashless signing)
Stefan Berger [Mon, 13 Oct 2025 18:54:17 +0000 (13:54 -0500)] 
cms: Enable signature verification for no-attribute case (hashless signing)

Enable signature verification for hashless signing schemes, such as ML-DSA
and EdDSA, for the non-attribute case of CMS. Also in this case the BIO
with the plain input data needs to be passed through to the signature
verification function so that the pure-mode signature verification method
can hash the plain data itself.

Signed-off-by: Stefan Berger <stefanb@linux.ibm.com>
Reviewed-by: Dmitry Belyavskiy <beldmit@gmail.com>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/28923)

4 weeks agocms: Enable signing with hashless signing for no-attributes case
Stefan Berger [Mon, 13 Oct 2025 16:00:38 +0000 (11:00 -0500)] 
cms: Enable signing with hashless signing for no-attributes case

Enable the ability to sign with a hashless signing schemes, such as ML-DSA
in pure mode, in case no attributes are used in CMS. To support this, pass
the BIO with the plain data through to the signing function so that key's
pure mode signing scheme can hash the data itself.

The current implementation relies on a seek'able BIO so that the data
stream can be read multiple times for support of multiple keys.

Some signing schemes, such as ML-DSA, support the message_update function
when signing data, others, such as EdDSA keys do not support it. The former
allows for reading data in smaller chunks and calling
EVP_PKEY_sign_message_update with the data, while the latter requires that
all data are all read into memory and then passed for signing. This latter
method could run into out-of-memory issue when signing very large files.

Fixes: #28279
Signed-off-by: Stefan Berger <stefanb@linux.ibm.com>
Reviewed-by: Dmitry Belyavskiy <beldmit@gmail.com>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/28923)

4 weeks agocms: Get a default hash for hash-less signing schemes
Stefan Berger [Tue, 14 Oct 2025 22:52:45 +0000 (17:52 -0500)] 
cms: Get a default hash for hash-less signing schemes

Get a default hash for hash-less signing schemes such as ML-DSA, SLH-DSA,
and EdDSA in the case when signed attributes are present as well as for the
no signed attributes case. For the latter case, EdDSA is the only signing
scheme that has a required hash (sha512 for ED25519 and shake256 for
ED448), all other ones have a suggested hash. Only use the suggested hash
if the hash provided by the caller of CMS_add1_signer passed a NULL pointer
for md. Use the required hash in any case, overriding any choice of the
caller.

Fixes: #13523
Signed-off-by: Stefan Berger <stefanb@linux.ibm.com>
Reviewed-by: Dmitry Belyavskiy <beldmit@gmail.com>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/28923)

4 weeks agoapps/s_socket: fix FD and addrinfo leak on SCTP failure in init_client
Joshua Rogers [Sat, 11 Oct 2025 22:34:40 +0000 (06:34 +0800)] 
apps/s_socket: fix FD and addrinfo leak on SCTP failure in init_client

If BIO_new_dgram_sctp(*sock, BIO_NOCLOSE) fails we returned 0 directly,
skipping the out: cleanup and leaking the just created socket plus the
addrinfo lists.

Signed-off-by: Joshua Rogers <MegaManSec@users.noreply.github.com>
Reviewed-by: Dmitry Belyavskiy <beldmit@gmail.com>
Reviewed-by: Tom Cosgrove <tom.cosgrove@arm.com>
(Merged from https://github.com/openssl/openssl/pull/28917)

4 weeks agocrypto/bio/bss_acpt: set b->init only on successful BIO_parse_hostserv
Joshua Rogers [Sat, 11 Oct 2025 21:43:38 +0000 (05:43 +0800)] 
crypto/bio/bss_acpt: set b->init only on successful BIO_parse_hostserv

BIO_C_SET_ACCEPT with num == 0 unconditionally set b->init = 1 even if
BIO_parse_hostserv failed. Only mark the BIO initialized when parsing
succeeds to avoid inconsistent state.

Signed-off-by: Joshua Rogers <MegaManSec@users.noreply.github.com>
Reviewed-by: Saša Nedvědický <sashan@openssl.org>
Reviewed-by: Dmitry Belyavskiy <beldmit@gmail.com>
(Merged from https://github.com/openssl/openssl/pull/28912)

4 weeks agoasn_mime: Harden SMIME_write_ASN1_ex() against an empty stack
Joshua Rogers [Sat, 11 Oct 2025 12:27:52 +0000 (20:27 +0800)] 
asn_mime: Harden SMIME_write_ASN1_ex() against an empty stack

Label an empty digest list as `signed-data` instead of `certs-only`.

Signed-off-by: Joshua Rogers <MegaManSec@users.noreply.github.com>
Reviewed-by: Saša Nedvědický <sashan@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/28881)

4 weeks agoasn_mime: Harden multi_split() against pushing NULL if a section is empty
Joshua Rogers [Sat, 11 Oct 2025 12:25:46 +0000 (20:25 +0800)] 
asn_mime: Harden multi_split() against pushing NULL if a section is empty

Signed-off-by: Joshua Rogers <MegaManSec@users.noreply.github.com>
Reviewed-by: Saša Nedvědický <sashan@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/28881)

4 weeks agoasn_mime: Harden strip_eol()
Joshua Rogers [Sat, 11 Oct 2025 12:24:58 +0000 (20:24 +0800)] 
asn_mime: Harden strip_eol()

Signed-off-by: Joshua Rogers <MegaManSec@users.noreply.github.com>
Reviewed-by: Saša Nedvědický <sashan@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/28881)

4 weeks agoasn_mime: Harden strip_end() against empty strings
Joshua Rogers [Sat, 11 Oct 2025 12:23:30 +0000 (20:23 +0800)] 
asn_mime: Harden strip_end() against empty strings

Signed-off-by: Joshua Rogers <MegaManSec@users.noreply.github.com>
Reviewed-by: Saša Nedvědický <sashan@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/28881)

4 weeks agocomp/zstd: fix BIO_CTRL_RESET to properly reset state
Joshua Rogers [Fri, 10 Oct 2025 23:15:05 +0000 (07:15 +0800)] 
comp/zstd: fix BIO_CTRL_RESET to properly reset state

BIO_CTRL_RESET zeroed compress.bufsize and did not reinitialize the ZSTD
streams or buffer positions. After a reset, the next write could try to use
a 0 byte buffer and stall or behave unpredictably.

Signed-off-by: Joshua Rogers <MegaManSec@users.noreply.github.com>
Reviewed-by: Saša Nedvědický <sashan@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/28844)

4 weeks agoFix CI Provider compatibility test breakage
slontis [Mon, 17 Nov 2025 03:37:00 +0000 (14:37 +1100)] 
Fix CI Provider compatibility test breakage

Fixes #29142

In https://github.com/openssl/openssl/pull/28349 I forgot to tag
to run 'extended tests', and the additional RSA keygen acvp test
did not check for backwards compatability when testing against
older FIPS providers.

Reviewed-by: Paul Dale <paul.dale@oracle.com>
Reviewed-by: Paul Yang <paulyang.inf@gmail.com>
(Merged from https://github.com/openssl/openssl/pull/29157)

4 weeks agoquic/quic_demux: Mirror int overflow check from demux_alloc_urxe into demux_resize_urxe
Joshua Rogers [Sun, 12 Oct 2025 00:14:24 +0000 (08:14 +0800)] 
quic/quic_demux: Mirror int overflow check from demux_alloc_urxe into demux_resize_urxe

Simple hardening. In practice new_alloc_len usually comes from demux->mtu or test injection length, but adding the same check here quiets analyzers.

Signed-off-by: Joshua Rogers <MegaManSec@users.noreply.github.com>
Reviewed-by: Neil Horman <nhorman@openssl.org>
Reviewed-by: Saša Nedvědický <sashan@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/28918)

4 weeks agoAdd negative test for PKCS12_SAFEBAG_get0_bag*() functions
Tomas Mraz [Wed, 12 Nov 2025 15:59:46 +0000 (16:59 +0100)] 
Add negative test for PKCS12_SAFEBAG_get0_bag*() functions

Reviewed-by: Paul Dale <paul.dale@oracle.com>
Reviewed-by: Dmitry Belyavskiy <beldmit@gmail.com>
(Merged from https://github.com/openssl/openssl/pull/29128)

4 weeks agoAdd safety checks to PKCS12_SAFEBAG_get0_bag*() functions
Tomas Mraz [Wed, 12 Nov 2025 15:49:04 +0000 (16:49 +0100)] 
Add safety checks to PKCS12_SAFEBAG_get0_bag*() functions

Fixes #26655

Reviewed-by: Paul Dale <paul.dale@oracle.com>
Reviewed-by: Dmitry Belyavskiy <beldmit@gmail.com>
(Merged from https://github.com/openssl/openssl/pull/29128)

4 weeks agoSimplify x509 time checking
Bob Beck [Wed, 22 Oct 2025 03:34:56 +0000 (21:34 -0600)] 
Simplify x509 time checking

This changes x509 verification to use int64 values of epoch
seconds internally instead of time_t. While time values from
a system will still come from/to a platform dependant time_t
which could be range constrained, we can simplify this
to convert the certificate time to a posix time and then
just do a normal comparison of the int64_t values. This
removes the need to do further computation to compare values
which potentially do not cover the range of certificate times,
and makes the internal functions a bit more readable.

This also modifies the tests to ensure the full range of
times are tested, without depending on time_t, and adds
tests for checking CRL expiry, which were lacking before.

Reviewed-by: Neil Horman <nhorman@openssl.org>
Reviewed-by: Paul Dale <paul.dale@oracle.com>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/28987)

4 weeks agoTest invalid out of range character handling in UTF8_getc()
Tomas Mraz [Tue, 11 Nov 2025 09:11:44 +0000 (10:11 +0100)] 
Test invalid out of range character handling in UTF8_getc()

Reviewed-by: Dmitry Belyavskiy <beldmit@gmail.com>
Reviewed-by: Paul Dale <paul.dale@oracle.com>
Reviewed-by: Norbert Pocs <norbertp@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/29119)

4 weeks agoUTF8_getc(): Fail with UTF8 values outside UNICODE_LIMIT
Tomas Mraz [Tue, 11 Nov 2025 09:08:30 +0000 (10:08 +0100)] 
UTF8_getc(): Fail with UTF8 values outside UNICODE_LIMIT

Reported by Aniruddhan Murali

Reviewed-by: Dmitry Belyavskiy <beldmit@gmail.com>
Reviewed-by: Paul Dale <paul.dale@oracle.com>
Reviewed-by: Norbert Pocs <norbertp@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/29119)

4 weeks agoTLS 1.3 session resumption convert nonce_label to ASCII hex
Angel Baez [Wed, 12 Nov 2025 12:46:28 +0000 (07:46 -0500)] 
TLS 1.3 session resumption convert nonce_label to ASCII hex

Fixes #27815
CLA: trivial

Reviewed-by: Bernd Edlinger <bernd.edlinger@hotmail.de>
Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Paul Dale <paul.dale@oracle.com>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/29127)

4 weeks agoDependabot update
dependabot[bot] [Wed, 12 Nov 2025 17:06:32 +0000 (17:06 +0000)] 
Dependabot update

CLA: trivial

(deps): Bump cross-platform-actions/action

Bumps [cross-platform-actions/action](https://github.com/cross-platform-actions/action) from 0.27.0 to 0.30.0.
- [Release notes](https://github.com/cross-platform-actions/action/releases)
- [Changelog](https://github.com/cross-platform-actions/action/blob/master/changelog.md)
- [Commits](https://github.com/cross-platform-actions/action/compare/fe0167d8082ac584754ef3ffb567fded22642c7d...46e8d7fb25520a8d6c64fd2b7a1192611da98eda)

---
updated-dependencies:
- dependency-name: cross-platform-actions/action
  dependency-version: 0.30.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Reviewed-by: Richard Levitte <levitte@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/29129)

4 weeks agoDependabot update
dependabot[bot] [Tue, 11 Nov 2025 17:05:59 +0000 (17:05 +0000)] 
Dependabot update

CLA: trivial

(deps): Bump docker/setup-docker-action

Bumps [docker/setup-docker-action](https://github.com/docker/setup-docker-action) from 4.4.0 to 4.5.0.
- [Release notes](https://github.com/docker/setup-docker-action/releases)
- [Commits](https://github.com/docker/setup-docker-action/compare/3fb92d6d9c634363128c8cce4bc3b2826526370a...efe9e3891a4f7307e689f2100b33a155b900a608)

---
updated-dependencies:
- dependency-name: docker/setup-docker-action
  dependency-version: 4.5.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Reviewed-by: Saša Nedvědický <sashan@openssl.org>
Reviewed-by: Richard Levitte <levitte@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/29126)

4 weeks agoDependabot update
dependabot[bot] [Tue, 11 Nov 2025 17:05:50 +0000 (17:05 +0000)] 
Dependabot update

CLA: trivial

(deps): Bump dtolnay/rust-toolchain

Bumps [dtolnay/rust-toolchain](https://github.com/dtolnay/rust-toolchain) from 6d653acede28d24f02e3cd41383119e8b1b35921 to 0f44b27771c32bda9f458f75a1e241b09791b331.
- [Release notes](https://github.com/dtolnay/rust-toolchain/releases)
- [Commits](https://github.com/dtolnay/rust-toolchain/compare/6d653acede28d24f02e3cd41383119e8b1b35921...0f44b27771c32bda9f458f75a1e241b09791b331)

---
updated-dependencies:
- dependency-name: dtolnay/rust-toolchain
  dependency-version: 0f44b27771c32bda9f458f75a1e241b09791b331
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Reviewed-by: Saša Nedvědický <sashan@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/29125)

4 weeks agoDependabot update
dependabot[bot] [Fri, 7 Nov 2025 17:05:59 +0000 (17:05 +0000)] 
Dependabot update

CLA: trivial

(deps): Bump actions/setup-python

Bumps [actions/setup-python](https://github.com/actions/setup-python) from 5.3.0 to 6.0.0.
- [Release notes](https://github.com/actions/setup-python/releases)
- [Commits](https://github.com/actions/setup-python/compare/v5.3.0...v6.0.0)

---
updated-dependencies:
- dependency-name: actions/setup-python
  dependency-version: 6.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Reviewed-by: Saša Nedvědický <sashan@openssl.org>
Reviewed-by: Richard Levitte <levitte@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/29105)

4 weeks agoinfo: Print CPUINFO for SPARCv9 processors
nia [Mon, 10 Nov 2025 22:36:18 +0000 (23:36 +0100)] 
info: Print CPUINFO for SPARCv9 processors

Signed-off-by: Nia Alarie <nia@NetBSD.org>
Reviewed-by: Paul Dale <paul.dale@oracle.com>
Reviewed-by: Shane Lontis <shane.lontis@oracle.com>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/29116)

4 weeks agoNote about different exclusion of GREASE extensions
Igor Ustinov [Tue, 4 Nov 2025 15:43:49 +0000 (16:43 +0100)] 
Note about different exclusion of GREASE extensions

Different SSL_client_hello_* functions have different behavior
in regards to GREASE extensions.

Fixes #27580

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

4 weeks agoRSA: Update RSA keygen.
slontis [Wed, 27 Aug 2025 04:24:59 +0000 (14:24 +1000)] 
RSA: Update RSA keygen.

The documentation now reference(s) FIPS 186-5 instead of FIPS 186-4,
and clarifies the keygen method used.

This PR also adds the new FIPS 186-5 2 optional parameters that allow
the generated probable primes to be congruent to a value mod 8.

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

4 weeks agorevert changes in "FIPS Check and ABIDIFF" workflow
Dmitry Misharov [Mon, 10 Nov 2025 09:11:18 +0000 (10:11 +0100)] 
revert changes in "FIPS Check and ABIDIFF" workflow

Applying labels is not possible from pull request
context. This commit reverts changes from
8948ccdf03435368cd894b944b116e6c5a17ec59 commit.

Reviewed-by: Saša Nedvědický <sashan@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/29112)

4 weeks agoRun CIFuzz workflow on schedule
Dmitry Misharov [Wed, 5 Nov 2025 15:48:02 +0000 (16:48 +0100)] 
Run CIFuzz workflow on schedule

There is no point to run oss-fuzz on each pull request.

Reviewed-by: Bernd Edlinger <bernd.edlinger@hotmail.de>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/29080)

5 weeks agodoc/man3/X509_STORE_get0_param.pod: mention how to free the returned objects
Eugene Syromiatnikov [Mon, 27 Oct 2025 09:17:57 +0000 (10:17 +0100)] 
doc/man3/X509_STORE_get0_param.pod: mention how to free the returned objects

It is not entirely obvious from the description how the objects returned
by X509_STORE_get1_objects() and X509_STORE_get1_all_certs() are
supposed to be freed, explicitly mention the relevant calls, and provide
a reference to DEFINE_STACK_OF(3).

Signed-off-by: Eugene Syromiatnikov <esyr@openssl.org>
Reviewed-by: Saša Nedvědický <sashan@openssl.org>
Reviewed-by: Todd Short <todd.short@me.com>
(Merged from https://github.com/openssl/openssl/pull/29002)

5 weeks agoDJGPP configuration fix, based on the PR #27595
Igor Ustinov [Thu, 6 Nov 2025 21:08:17 +0000 (22:08 +0100)] 
DJGPP configuration fix, based on the PR #27595

Fixes #27514

Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Paul Dale <paul.dale@oracle.com>
(Merged from https://github.com/openssl/openssl/pull/29093)

5 weeks agoConfigure: Add missing variables in build.info
Orgad Shaneh [Thu, 6 Nov 2025 11:52:51 +0000 (13:52 +0200)] 
Configure: Add missing variables in build.info

Fixes the following warnings:
No value given for CMAKECONFIGDIR
No value given for PKGCONFIGDIR
No value given for libdir

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

5 weeks agoClarify processing of CRYPTO frame in SSL_set_quic_tls_cbs(3ossl)
Alexandr Nedvedicky [Wed, 5 Nov 2025 07:24:59 +0000 (08:24 +0100)] 
Clarify processing of CRYPTO frame in SSL_set_quic_tls_cbs(3ossl)

We should remind 3rd-party QUIC stack implementors their QUIC stack
must ensure to provide all CRYPTO frames to OpeNSSL/TLS for processing.
The CRYPTO frames keeping coming even after confirmation of TLS
hanndshake.

Fixes #28963

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

5 weeks agoEnable ARMV8_UNROLL12_EOR3 optimization for Neoverse N2/N3
Gowtham Suresh Kumar [Tue, 14 Oct 2025 17:03:36 +0000 (17:03 +0000)] 
Enable ARMV8_UNROLL12_EOR3 optimization for Neoverse N2/N3

Unlike Neoverse N1, the Neoverse N2 and Neoverse N3 cores support the
EOR3 instruction. Enabling ARMV8_UNROLL12_EOR3 on these cores gives
performance uplift of 9-10% for AES-CTR 128/192/256 ciphers at larger
block sizes.

Signed-off-by: Gowtham Suresh Kumar <gowtham.sureshkumar@arm.com>
Reviewed-by: Tom Cosgrove <tom.cosgrove@arm.com>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/29044)

5 weeks agoAdd support for Arm V3_AE platform
Paul Elliott [Thu, 25 Sep 2025 10:41:33 +0000 (11:41 +0100)] 
Add support for Arm V3_AE platform

Add cpu MIDR and ensure relevant optimisations are enabled.

Signed-off-by: Paul Elliott <paul.elliott@arm.com>
Reviewed-by: Tom Cosgrove <tom.cosgrove@arm.com>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/29044)

5 weeks agoslh_dsa: fix leak in early return of slh_sign_internal()
Lidong Yan [Fri, 31 Oct 2025 06:40:06 +0000 (14:40 +0800)] 
slh_dsa: fix leak in early return of slh_sign_internal()

In slh_sign_internal(), if calling PACKET_buf_init() failed, this
function return without free wpkt. Replace `return 0` with `goto err`
to free wpkt before return.

CLA: trivial
Signed-off-by: Lidong Yan <502024330056@smail.nju.edu.cn>
Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Paul Dale <paul.dale@oracle.com>
(Merged from https://github.com/openssl/openssl/pull/29041)

5 weeks agocrypto/bn/rsaz_exp.h: use constant_time_select_bn in bn_select_words
Eugene Syromiatnikov [Fri, 31 Oct 2025 01:16:04 +0000 (02:16 +0100)] 
crypto/bn/rsaz_exp.h: use constant_time_select_bn in bn_select_words

MSVC complained about possible loss of data on assignment, and it seems
that constant_time_select_bn is more suitable here than
constant_time_select_64, change the call to the former.

Fixes: 6d702cebfce3 "Add an extra reduction step to RSAZ mod_exp implementations"
Signed-off-by: Eugene Syromiatnikov <esyr@openssl.org>
Reviewed-by: Paul Dale <paul.dale@oracle.com>
Reviewed-by: Kurt Roeckx <kurt@roeckx.be>
(Merged from https://github.com/openssl/openssl/pull/29040)

5 weeks agoCRL: RFC 5280 compliance for Certificate Issuer extension
Daniel Kubec [Tue, 28 Oct 2025 14:18:53 +0000 (15:18 +0100)] 
CRL: RFC 5280 compliance for Certificate Issuer extension

Add validation to ensure Certificate Issuer extensions in CRL entries
only appear when the Indirect CRL flag is TRUE in the Issuing
Distribution Point (IDP) extension, as required by RFC 5280 section
5.3.3.

Fixes #27465

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

5 weeks agoCorrection of grammar error in doc/man1/openssl-req.pod.in
Matteo [Mon, 27 Oct 2025 17:08:14 +0000 (18:08 +0100)] 
Correction of grammar error in doc/man1/openssl-req.pod.in

I changed the word "most" with the correct word "must" at the line 406.

CLA: trivial

Reviewed-by: Neil Horman <nhorman@openssl.org>
Reviewed-by: Dmitry Belyavskiy <beldmit@gmail.com>
Reviewed-by: Paul Dale <paul.dale@oracle.com>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/29009)

5 weeks agonamemap: use NID_undef instead of hardcoded 0
Nikola Pajkovsky [Fri, 24 Oct 2025 09:11:29 +0000 (11:11 +0200)] 
namemap: use NID_undef instead of hardcoded 0

Signed-off-by: Nikola Pajkovsky <nikolap@openssl.org>
Reviewed-by: Saša Nedvědický <sashan@openssl.org>
Reviewed-by: Tim Hudson <tjh@openssl.org>
Reviewed-by: Paul Dale <paul.dale@oracle.com>
(Merged from https://github.com/openssl/openssl/pull/28991)

5 weeks agokdf: Fix PVK KDF provider build.info typo
thomas-baumela-stormshield [Wed, 22 Oct 2025 13:16:05 +0000 (15:16 +0200)] 
kdf: Fix PVK KDF provider build.info typo

Fix the pvkkdf.c build when using PVKKDF_GOAL

CLA: trivial

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

5 weeks agoUse array sizeof for dtls cookie size checks instead of DTLS1_COOKIE_LENGTH
Frederik Wedel-Heinen [Fri, 17 Oct 2025 04:17:53 +0000 (06:17 +0200)] 
Use array sizeof for dtls cookie size checks instead of DTLS1_COOKIE_LENGTH

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

5 weeks agoREADME.md: Expand protocol acronyms
Jack Barsa [Thu, 16 Oct 2025 20:44:23 +0000 (16:44 -0400)] 
README.md: Expand protocol acronyms

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

5 weeks agoUpdate external test to use rpki-client 9.6
Theo Buehler [Wed, 1 Oct 2025 14:01:19 +0000 (16:01 +0200)] 
Update external test to use rpki-client 9.6

rpki-client 9.6 was released ten days ago:
https://marc.info/?l=openbsd-announce&m=175847509514928&w=2

Reviewed-by: Saša Nedvědický <sashan@openssl.org>
Reviewed-by: Neil Horman <nhorman@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/28718)

5 weeks agoProperly error out when AEAD Algorithms are used with Encrypted Data
Ryan Hooper [Tue, 30 Sep 2025 16:56:33 +0000 (12:56 -0400)] 
Properly error out when AEAD Algorithms are used with Encrypted Data

Encrypted Data does not support AEAD algorithms. If you wish to
use AEAD algorithms you will have to use a CMS_AuthEnvelopedData
structure. Therefore, when AEAD algorithms are used with
CMS_EncryptedData_set1_key will now return an error.

Fixes: #28607
Reviewed-by: Paul Dale <paul.dale@oracle.com>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/28711)

5 weeks agoInstruction Reordering Further Optimizes OpenSSL SHA256 Performance on RISC-V
zhoulu [Fri, 26 Sep 2025 10:43:08 +0000 (18:43 +0800)] 
Instruction Reordering Further Optimizes OpenSSL SHA256 Performance on RISC-V

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

5 weeks agoIn the RFC6979 test vectors, ensure private keys are correctly encoded
Alex Gaynor [Sun, 19 Oct 2025 16:30:09 +0000 (12:30 -0400)] 
In the RFC6979 test vectors, ensure private keys are correctly encoded

The encoding of these keys is supposed to have a fixed length based on the curve (this enables constant time processing, see oss-security this week). Several of these have private scalars that have leading 0s, but were encoded with the 0s truncated off. This adds back the 0s.

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

5 weeks agoImprove the CPUINFO display for RISC-V
Bernd Edlinger [Mon, 6 Oct 2025 06:37:20 +0000 (08:37 +0200)] 
Improve the CPUINFO display for RISC-V

Prefix the base architecture to the displayed RISC-V
architecture string, so the displayed OPENSSL_riscvcap
environment value can be used as is, since otherwise
the OPENSSL_cpuid_setup would ignore the first extension,
as it is expected to be the base architecture, usually
"RV64GC" or similar.
See the comment at parse_env in crypto/riscvcap.c
Furthermore also print the VLEN value, if the V-extension
is given, since that makes a significant difference
which assembler modules are activated by the V-extension.

Reviewed-by: Paul Dale <paul.dale@oracle.com>
Reviewed-by: Dmitry Belyavskiy <beldmit@gmail.com>
(Merged from https://github.com/openssl/openssl/pull/28760)

5 weeks agoprint CPUINFO in QEMU cross-compile jobs
Bernd Edlinger [Mon, 6 Oct 2025 06:54:38 +0000 (08:54 +0200)] 
print CPUINFO in QEMU cross-compile jobs

Reviewed-by: Paul Dale <paul.dale@oracle.com>
Reviewed-by: Dmitry Belyavskiy <beldmit@gmail.com>
(Merged from https://github.com/openssl/openssl/pull/28760)

5 weeks agoAES-GCM: Allow the IV getter to generate the IV if it is not set yet.
slontis [Fri, 7 Nov 2025 04:22:48 +0000 (15:22 +1100)] 
AES-GCM: Allow the IV getter to generate the IV if it is not set yet.

The EVP_CipherInit API allows mutiple calls to set up parameters such as
the key and iv. If the iv is not specified for encryption, then it is generated
internally during the update phase. If you try to get the IV before the
update it would return an error.
This PR allows the getter to generate the IV early for this case.
This also means that the gen_rand variable needs to be reset to 0 if an
iv is manually set after the getter is called.

Issue found by @davidmakepeace

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

5 weeks agoDependabot update
dependabot[bot] [Fri, 7 Nov 2025 09:51:08 +0000 (09:51 +0000)] 
Dependabot update

CLA: trivial

(deps): Bump actions/download-artifact

Bumps [actions/download-artifact](https://github.com/actions/download-artifact) from 4.1.8 to 6.0.0.
- [Release notes](https://github.com/actions/download-artifact/releases)
- [Commits](https://github.com/actions/download-artifact/compare/v4.1.8...v6.0.0)

---
updated-dependencies:
- dependency-name: actions/download-artifact
  dependency-version: 6.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Reviewed-by: Saša Nedvědický <sashan@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/29100)

5 weeks agoDependabot update
dependabot[bot] [Fri, 7 Nov 2025 09:51:02 +0000 (09:51 +0000)] 
Dependabot update

CLA: trivial

(deps): Bump actions/github-script

Bumps [actions/github-script](https://github.com/actions/github-script) from 7 to 8.
- [Release notes](https://github.com/actions/github-script/releases)
- [Commits](https://github.com/actions/github-script/compare/v7...v8)

---
updated-dependencies:
- dependency-name: actions/github-script
  dependency-version: '8'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Reviewed-by: Saša Nedvědický <sashan@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/29099)

5 weeks agoDependabot update
dependabot[bot] [Fri, 7 Nov 2025 09:50:59 +0000 (09:50 +0000)] 
Dependabot update

CLA: trivial

(deps): Bump actions/checkout

Bumps [actions/checkout](https://github.com/actions/checkout) from 4 to 5.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v4...v5)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: '5'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Reviewed-by: Saša Nedvědický <sashan@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/29098)

5 weeks agoDependabot update
dependabot[bot] [Fri, 7 Nov 2025 09:50:39 +0000 (09:50 +0000)] 
Dependabot update

CLA: trivial

(deps): Bump cygwin/cygwin-install-action

Bumps [cygwin/cygwin-install-action](https://github.com/cygwin/cygwin-install-action) from 5 to 6.
- [Release notes](https://github.com/cygwin/cygwin-install-action/releases)
- [Commits](https://github.com/cygwin/cygwin-install-action/compare/f61179d72284ceddc397ed07ddb444d82bf9e559...f2009323764960f80959895c7bc3bb30210afe4d)

---
updated-dependencies:
- dependency-name: cygwin/cygwin-install-action
  dependency-version: '6'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Reviewed-by: Saša Nedvědický <sashan@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/29097)

5 weeks agoDependabot update
dependabot[bot] [Fri, 7 Nov 2025 09:50:32 +0000 (09:50 +0000)] 
Dependabot update

CLA: trivial

(deps): Bump actions/upload-artifact

Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 4 to 5.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](https://github.com/actions/upload-artifact/compare/v4...v5)

---
updated-dependencies:
- dependency-name: actions/upload-artifact
  dependency-version: '5'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Reviewed-by: Saša Nedvědický <sashan@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/29096)

5 weeks agoadd missing input in dtolnay/rust-toolchain action
Dmitry Misharov [Thu, 23 Oct 2025 10:43:49 +0000 (12:43 +0200)] 
add missing input in dtolnay/rust-toolchain action

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

5 weeks agoremove workflow_run trigger in fips and abiddif workflows
Dmitry Misharov [Thu, 23 Oct 2025 10:29:34 +0000 (12:29 +0200)] 
remove workflow_run trigger in fips and abiddif workflows

workflow_run runs in the context of the target
repository rather than the fork repository, while
also being typically triggerable by the latter.
This can lead to attacker controlled code execution
or unexpected action runs with context controlled
by a malicious fork.

https://docs.zizmor.sh/audits/#dangerous-triggers

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

5 weeks agoremove workflow_run trigger in quic workflows
Dmitry Misharov [Thu, 23 Oct 2025 10:26:31 +0000 (12:26 +0200)] 
remove workflow_run trigger in quic workflows

workflow_run runs in the context of the target
repository rather than the fork repository, while
also being typically triggerable by the latter.
This can lead to attacker controlled code execution
or unexpected action runs with context controlled
by a malicious fork.

https://docs.zizmor.sh/audits/#dangerous-triggers

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

5 weeks agoremove potentially not secure template expansions
Dmitry Misharov [Thu, 23 Oct 2025 10:23:55 +0000 (12:23 +0200)] 
remove potentially not secure template expansions

https://docs.zizmor.sh/audits/#template-injection

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

5 weeks agoexplicitely set minimial workflow permissions
Dmitry Misharov [Thu, 23 Oct 2025 10:19:27 +0000 (12:19 +0200)] 
explicitely set minimial workflow permissions

https://docs.zizmor.sh/audits/#excessive-permissions

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

5 weeks agobump dtolnay/rust-toolchain action revision
Dmitry Misharov [Thu, 23 Oct 2025 10:17:48 +0000 (12:17 +0200)] 
bump dtolnay/rust-toolchain action revision

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

5 weeks agointroduce dependabot cooldown option
Dmitry Misharov [Thu, 23 Oct 2025 10:14:28 +0000 (12:14 +0200)] 
introduce dependabot cooldown option

https://docs.zizmor.sh/audits/#dependabot-cooldown

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

5 weeks agodo not persist credentials after check out
Dmitry Misharov [Thu, 23 Oct 2025 10:10:24 +0000 (12:10 +0200)] 
do not persist credentials after check out

https://docs.zizmor.sh/audits/#artipacked

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

5 weeks agoPKCS12_set_pbmac1_pbkdf2() fixups.
slontis [Wed, 5 Nov 2025 01:20:37 +0000 (12:20 +1100)] 
PKCS12_set_pbmac1_pbkdf2() fixups.

Adding a test that called PKCS12_set_pbmac1_pbkdf2() with a saltlen of
zero, pointed out that the libctx and propq were not being propagated.

Reviewed-by: Dmitry Belyavskiy <beldmit@gmail.com>
Reviewed-by: Paul Dale <paul.dale@oracle.com>
(Merged from https://github.com/openssl/openssl/pull/29068)

5 weeks agoFix potential malloc(-1) bugs.
slontis [Wed, 29 Oct 2025 06:12:00 +0000 (17:12 +1100)] 
Fix potential malloc(-1) bugs.

Reviewed-by: Dmitry Belyavskiy <beldmit@gmail.com>
Reviewed-by: Paul Dale <paul.dale@oracle.com>
(Merged from https://github.com/openssl/openssl/pull/29068)

5 weeks agoRollup fixes for NonStop builds.
Randall S. Becker [Tue, 28 Oct 2025 19:11:26 +0000 (19:11 +0000)] 
Rollup fixes for NonStop builds.

This change includes bss_sock.c to deal with introduction of EPROTO use.
Reroll of rsa_ossl.c changes made at 3.5 downward.
Build a workaround in timing_load_creds.c on NonStop for lack of rusage.
   This simulates getrusage() that is not available on NonStop.
Update bioprinttest.c to handle missing PTRxPRT definitions from inttypes.h.

Fixes: #29023
Signed-off-by: Randall S. Becker <randall.becker@nexbridge.ca>
Reviewed-by: Richard Levitte <levitte@openssl.org>
Reviewed-by: Neil Horman <nhorman@openssl.org>
Reviewed-by: Dmitry Belyavskiy <beldmit@gmail.com>
(Merged from https://github.com/openssl/openssl/pull/29024)