]> git.ipfire.org Git - thirdparty/gnutls.git/log
thirdparty/gnutls.git
16 months agoNEWS: mention leancrypto support
Daiki Ueno [Sat, 25 Jan 2025 00:58:25 +0000 (09:58 +0900)] 
NEWS: mention leancrypto support

Signed-off-by: Daiki Ueno <ueno@gnu.org>
16 months agotests: add a way to assume enabled groups in pqc-hybrid-kx.sh
Daiki Ueno [Sat, 25 Jan 2025 08:58:01 +0000 (17:58 +0900)] 
tests: add a way to assume enabled groups in pqc-hybrid-kx.sh

With this patch, if TESTS_ENABLED_GROUPS is set, the listed groups
must be enabled and the pqc-hybrid-kx.sh test would fail.

Signed-off-by: Daiki Ueno <ueno@gnu.org>
16 months ago.gitlab-ci.yml: exercise --with-leancrypto
Daiki Ueno [Wed, 22 Jan 2025 06:15:49 +0000 (15:15 +0900)] 
.gitlab-ci.yml: exercise --with-leancrypto

Signed-off-by: Daiki Ueno <ueno@gnu.org>
16 months agoleancrypto: support leancrypto for post-quantum algorithms
Daiki Ueno [Mon, 20 Jan 2025 05:18:10 +0000 (14:18 +0900)] 
leancrypto: support leancrypto for post-quantum algorithms

This adds support for leancrypto as an additional and the preferred
backend for now, until Nettle gains the proper support for PQC
algorithms. There are a few advantages over liboqs, namely:

- It already has required input validations for ML-KEM as in FIPS 203,
  such as Modulus check, which are currently missing in liboqs

- It provides an API to generate ML-KEM/ML-DSA key pairs from a seed,
  which is required to support the seed-only private key format proposed
  in draft-ietf-lamps-dilithium-certificates-05 and later

- No need to avoid undesired OpenSSL dependency; all the symmetric
  algorithms are natively implemented by leancrypto itself

As the supposed use-case of this is to statically link leancrypto with
GnuTLS, this doesn't support loading leancrypto with dlopen.

Signed-off-by: Daiki Ueno <ueno@gnu.org>
16 months agodatum, mem, str: add helper functions to steal pointers
Daiki Ueno [Tue, 21 Jan 2025 22:45:46 +0000 (07:45 +0900)] 
datum, mem, str: add helper functions to steal pointers

This introduces 3 new inline functions, namely _gnutls_steal_datum,
_gnutls_steal_buffer, and _gnutls_steal_pointer, to return a copy of
data structure and reset the original pointer. Those would enable to
return a populated data structure upon success; otherwise free the
partially filled data structure in a single code path, e.g.,

```c
  gnutls_datum_t tmp_result = { NULL, 0 };

  // Calculate tmp_result
  ...
  if (error)
    goto cleanup;

  // Propagate tmp_result to *result
  *result = _gnutls_steal_datum(&tmp_result);

cleanup:
  _gnutls_free_datum(&tmp_result);
  return ret;
```

Signed-off-by: Daiki Ueno <ueno@gnu.org>
16 months agoAdd check for empty compressed certificate
Zoltan Fridrich [Fri, 24 Jan 2025 16:12:52 +0000 (17:12 +0100)] 
Add check for empty compressed certificate

Signed-off-by: Zoltan Fridrich <zfridric@redhat.com>
16 months agoMerge branch 'wip/dueno/liboqs-followup' into 'master'
Daiki Ueno [Wed, 22 Jan 2025 02:13:32 +0000 (02:13 +0000)] 
Merge branch 'wip/dueno/liboqs-followup' into 'master'

pkcs8: remove HAVE_LIBOQS ifdefs

See merge request gnutls/gnutls!1924

16 months agopkcs8: remove HAVE_LIBOQS ifdefs
Daiki Ueno [Thu, 16 Jan 2025 02:46:14 +0000 (11:46 +0900)] 
pkcs8: remove HAVE_LIBOQS ifdefs

The key encoding and decoding operations currently do not use liboqs
functions. Remove unnecessary HAVE_LIBOQS ifdefs so it will be easier
to port to other implementations.

Signed-off-by: Daiki Ueno <ueno@gnu.org>
16 months agoMerge branch 'interop-update' into 'master'
Daiki Ueno [Tue, 21 Jan 2025 11:05:01 +0000 (11:05 +0000)] 
Merge branch 'interop-update' into 'master'

tls-interop: update

See merge request gnutls/gnutls!1926

16 months agotls-interop: update
Stanislav Zidek [Thu, 16 Jan 2025 15:33:59 +0000 (16:33 +0100)] 
tls-interop: update

Signed-off-by: Stanislav Zidek <szidek@redhat.com>
16 months agoMerge branch 'zfridric_devel2' into 'master'
Zoltán Fridrich [Wed, 15 Jan 2025 12:51:04 +0000 (12:51 +0000)] 
Merge branch 'zfridric_devel2' into 'master'

Fix Edwards EC_POINT encoding

Closes #957

See merge request gnutls/gnutls!1920

16 months agoMerge branch 'wip/dueno/gnulib-update' into 'master'
Daiki Ueno [Tue, 14 Jan 2025 12:17:39 +0000 (12:17 +0000)] 
Merge branch 'wip/dueno/gnulib-update' into 'master'

gnulib: update gnulib submodule

See merge request gnutls/gnutls!1921

16 months agoFix Edwards EC_POINT encoding
Zoltan Fridrich [Wed, 8 Jan 2025 14:15:12 +0000 (15:15 +0100)] 
Fix Edwards EC_POINT encoding

Signed-off-by: Zoltan Fridrich <zfridric@redhat.com>
16 months agognulib: update gnulib submodule
Daiki Ueno [Sun, 12 Jan 2025 02:36:39 +0000 (11:36 +0900)] 
gnulib: update gnulib submodule

Signed-off-by: Daiki Ueno <ueno@gnu.org>
16 months agodoc: update copy of LGPLv2.1 to the latest, without FSF address
Daiki Ueno [Sun, 12 Jan 2025 02:24:56 +0000 (11:24 +0900)] 
doc: update copy of LGPLv2.1 to the latest, without FSF address

Signed-off-by: Daiki Ueno <ueno@gnu.org>
16 months agognulib: work around misinteractions between close and fchdir modules
Daiki Ueno [Sun, 12 Jan 2025 02:34:13 +0000 (11:34 +0900)] 
gnulib: work around misinteractions between close and fchdir modules

This caused a build failure on mingw. The workaround was suggested by
Bruno Haible in:
<https://lists.gnu.org/archive/html/bug-gnulib/2024-12/msg00179.html>

Signed-off-by: Daiki Ueno <ueno@gnu.org>
16 months agobuild: define GNUTLS_BUILDING_LIB while compiling sources in lib/
Daiki Ueno [Sun, 12 Jan 2025 02:35:28 +0000 (11:35 +0900)] 
build: define GNUTLS_BUILDING_LIB while compiling sources in lib/

Signed-off-by: Daiki Ueno <ueno@gnu.org>
16 months agoconfigure: run autoupdate
Daiki Ueno [Fri, 10 Jan 2025 08:39:18 +0000 (17:39 +0900)] 
configure: run autoupdate

This fixes the warnings generated by autoupdate:

  configure.ac:55: warning: AC_PROG_CC_C99 is obsolete; use AC_PROG_CC

  configure.ac:139: warning: The preprocessor macro `STDC_HEADERS' is obsolete.
    Except in unusual embedded environments, you can safely include all
    ISO C90 headers unconditionally.

Signed-off-by: Daiki Ueno <ueno@gnu.org>
16 months agoMerge branch 'fix-doc-parallel-build' into 'master'
Daiki Ueno [Tue, 14 Jan 2025 09:59:58 +0000 (09:59 +0000)] 
Merge branch 'fix-doc-parallel-build' into 'master'

doc: Avoid failures in a parallel build.

See merge request gnutls/gnutls!1911

16 months agoMerge branch 'wip/dueno/mlkem-followup' into 'master'
Daiki Ueno [Tue, 14 Jan 2025 08:11:55 +0000 (08:11 +0000)] 
Merge branch 'wip/dueno/mlkem-followup' into 'master'

Rename ML-KEM and ML-DSA constants without underscore

See merge request gnutls/gnutls!1922

16 months agodoc: Fix races in a parallel build.
Maxim Cournoyer [Sun, 22 Dec 2024 02:29:59 +0000 (11:29 +0900)] 
doc: Fix races in a parallel build.

* configure.ac: Use AC_PROG_MKDIR_P macro.
* doc/Makefile.am (stamp_functions, stamp_enums): Use the MKDIR_P
variable it defines.
(error_codes.texi, algorithms.texi, alerts.texi): Add dependency on
errcodes via a prerequisite, not a make invocation
(DISTCLEANFILES): Register the newly depended upon binaries.

Fixes: <https://gitlab.com/gnutls/gnutls/-/issues/1635>
Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
16 months agoalgorithms: centrally define KEM algorithm sizes in group entries
Daiki Ueno [Tue, 14 Jan 2025 02:25:34 +0000 (11:25 +0900)] 
algorithms: centrally define KEM algorithm sizes in group entries

This switches to define the public key and ciphertext sizes of ML-KEM
algorithms in gnutls_group_entry_st, instead of deriving those from
the algorithm name at the usage in the TLS key shares.

Signed-off-by: Daiki Ueno <ueno@gnu.org>
16 months agoalgorithms: rename GNUTLS_{PK,SIGN}_ML_DSA_* to GNUTLS_*_MLDSA*
Daiki Ueno [Tue, 14 Jan 2025 02:15:13 +0000 (11:15 +0900)] 
algorithms: rename GNUTLS_{PK,SIGN}_ML_DSA_* to GNUTLS_*_MLDSA*

To be consistent with ML-KEM algorithms, omit underscores in ML-DSA
gnutls_pk_algorithm_t and gnutls_sign_algorithm_t enum definitions,
while keeping hyphens in the human readable names.

Signed-off-by: Daiki Ueno <ueno@gnu.org>
16 months agoalgorithms: rename GNUTLS_PK_ML_KEM_* to GNUTLS_PK_MLKEM*
Daiki Ueno [Tue, 14 Jan 2025 02:12:34 +0000 (11:12 +0900)] 
algorithms: rename GNUTLS_PK_ML_KEM_* to GNUTLS_PK_MLKEM*

To be consistent with the naming of hybrid groups, omit underscores in
the enum definition, while keeping hyphens in human readable names.

Signed-off-by: Daiki Ueno <ueno@gnu.org>
16 months agoMerge branch 'SecP384r1MLKEM1024' into 'master'
Daiki Ueno [Mon, 13 Jan 2025 23:56:52 +0000 (23:56 +0000)] 
Merge branch 'SecP384r1MLKEM1024' into 'master'

Add MLKEM-1024 and SecP384r1MLKEM1024.

See merge request gnutls/gnutls!1919

16 months agokey_share: support SecP384r1MLKEM1024 group
Loganaden Velvindron [Mon, 13 Jan 2025 23:56:52 +0000 (23:56 +0000)] 
key_share: support SecP384r1MLKEM1024 group

Signed-off-by: Loganaden Velvindron <logan@cyberstorm.mu>
Signed-off-by: Jaykishan Mutkawoa <jay@cyberstorm.mu>
Signed-off-by: Kavish Nadan <kn@cyberstorm.mu>
16 months agoMerge branch 'wip/dueno/mldsa-followup' into 'master'
Daiki Ueno [Fri, 10 Jan 2025 02:01:46 +0000 (02:01 +0000)] 
Merge branch 'wip/dueno/mldsa-followup' into 'master'

Follow-up on ML-KEM and ML-DSA support

See merge request gnutls/gnutls!1916

16 months agox509: stop using version field of MLDSAPrivateKey
Daiki Ueno [Tue, 7 Jan 2025 03:36:19 +0000 (12:36 +0900)] 
x509: stop using version field of MLDSAPrivateKey

Previously we indicated the used ML-DSA algorithm in the version field
of MLDSAPrivateKey, though this information is also available in
privateKeyAlgorithm field as OID. With this change, the version field
is always set to 1 to be compatible with OneAsymmetricKey with a
non-empty publicKey field. When decoding, if the version is 1, the
public key is read from publicKey field; otherwise it will be
extracted from the privateKey field to interoperate with the other
implementations such as OpenSSL/oqsprovider.

Signed-off-by: Daiki Ueno <ueno@gnu.org>
16 months agoNEWS: add entry for ML-DSA support
Daiki Ueno [Thu, 26 Dec 2024 08:34:51 +0000 (17:34 +0900)] 
NEWS: add entry for ML-DSA support

Signed-off-by: Daiki Ueno <ueno@gnu.org>
16 months agotests: add basic tests for ML-DSA usage with certtool
Daiki Ueno [Thu, 26 Dec 2024 01:56:08 +0000 (10:56 +0900)] 
tests: add basic tests for ML-DSA usage with certtool

Signed-off-by: Daiki Ueno <ueno@gnu.org>
16 months agonettle: ensure liboqs is loaded for signing operations with ML-DSA
Daiki Ueno [Thu, 26 Dec 2024 02:07:15 +0000 (11:07 +0900)] 
nettle: ensure liboqs is loaded for signing operations with ML-DSA

Signed-off-by: Daiki Ueno <ueno@gnu.org>
16 months agoalgorithms: document ML-KEM/ML-DSA in public enums
Daiki Ueno [Thu, 26 Dec 2024 01:31:05 +0000 (10:31 +0900)] 
algorithms: document ML-KEM/ML-DSA in public enums

Signed-off-by: Daiki Ueno <ueno@gnu.org>
16 months agoalgorithms: rename GNUTLS_PK_MLKEM768 to GNUTLS_PK_ML_KEM_768
Daiki Ueno [Thu, 26 Dec 2024 01:28:08 +0000 (10:28 +0900)] 
algorithms: rename GNUTLS_PK_MLKEM768 to GNUTLS_PK_ML_KEM_768

To be consistent with ML-DSA algorithms, this renames
GNUTLS_PK_MLKEM768 to GNUTLS_PK_ML_KEM_768, while the old name is
preserved through a compatibility macro.

Signed-off-by: Daiki Ueno <ueno@gnu.org>
16 months agocerttool: enable ML-DSA private key generation
Daiki Ueno [Tue, 24 Dec 2024 09:14:39 +0000 (18:14 +0900)] 
certtool: enable ML-DSA private key generation

Signed-off-by: Daiki Ueno <ueno@gnu.org>
16 months agoalgorithms: expose ML-DSA algorithm entries regardless of liboqs
Daiki Ueno [Thu, 26 Dec 2024 01:38:33 +0000 (10:38 +0900)] 
algorithms: expose ML-DSA algorithm entries regardless of liboqs

Also this omits mapping between ML-DSA-44 and secparams, as there is
no way to express an algorithm is at security level category 2, which
uses a hash collision search instead of a brute-force key search on
AES. See Appendix B of draft-ietf-lamps-dilithium-certificates for
further details.

Signed-off-by: Daiki Ueno <ueno@gnu.org>
16 months agofips: perform pair-wise consistency test for ML-DSA
Daiki Ueno [Tue, 24 Dec 2024 07:57:54 +0000 (16:57 +0900)] 
fips: perform pair-wise consistency test for ML-DSA

Also mark the signature creation and verification operation as
non-approved, as the current version of liboqs doesn't implement
sufficient checks for input.

Signed-off-by: Daiki Ueno <ueno@gnu.org>
16 months agoMerge branch 'wip/dueno/minor-fixes' into 'master'
Daiki Ueno [Thu, 9 Jan 2025 06:25:43 +0000 (06:25 +0000)] 
Merge branch 'wip/dueno/minor-fixes' into 'master'

Assorted minor improvements to the build infrastructure

See merge request gnutls/gnutls!1915

16 months ago.gitlab-ci.yml: bump cache version
Daiki Ueno [Tue, 7 Jan 2025 14:23:22 +0000 (23:23 +0900)] 
.gitlab-ci.yml: bump cache version

Signed-off-by: Daiki Ueno <ueno@gnu.org>
16 months agoUpdate year of copyright notices in doc/gnutls.texi
Daiki Ueno [Tue, 7 Jan 2025 11:30:15 +0000 (20:30 +0900)] 
Update year of copyright notices in doc/gnutls.texi

Signed-off-by: Daiki Ueno <ueno@gnu.org>
16 months agoconfigure: cache results of AC_*_IFELSE checks
Daiki Ueno [Tue, 24 Dec 2024 01:15:45 +0000 (10:15 +0900)] 
configure: cache results of AC_*_IFELSE checks

This make the configure process a little faster when --cache-file is
given from the previous build, as it avoids running compilers, etc.,
as well as makes the features configurable through cached variables.

Signed-off-by: Daiki Ueno <ueno@gnu.org>
16 months agoconfigure: fix output for checking whether dlopen(SONAME) works
Daiki Ueno [Mon, 23 Dec 2024 07:36:26 +0000 (16:36 +0900)] 
configure: fix output for checking whether dlopen(SONAME) works

Signed-off-by: Daiki Ueno <ueno@gnu.org>
16 months agotests: fix "fail" function usage
Daiki Ueno [Tue, 10 Dec 2024 06:54:15 +0000 (15:54 +0900)] 
tests: fix "fail" function usage

The "fail" shell function takes a PID as the first argument.

Signed-off-by: Daiki Ueno <ueno@gnu.org>
16 months agotests: fix tense in messages
Daiki Ueno [Tue, 10 Dec 2024 04:48:08 +0000 (13:48 +0900)] 
tests: fix tense in messages

Signed-off-by: Daiki Ueno <ueno@gnu.org>
16 months agobuild: error "make distcheck" if bootstrap is called with --skip-po
Daiki Ueno [Mon, 9 Dec 2024 12:40:07 +0000 (21:40 +0900)] 
build: error "make distcheck" if bootstrap is called with --skip-po

This prevents mistakes when creating a tarball, as in 3.8.7.

Signed-off-by: Daiki Ueno <ueno@gnu.org>
17 months agoMerge branch 'find-p11-kit-trust-via-pkg-config' into 'master'
Daiki Ueno [Sun, 29 Dec 2024 01:49:57 +0000 (01:49 +0000)] 
Merge branch 'find-p11-kit-trust-via-pkg-config' into 'master'

tests: Find p11-kit module directory via pkg-config.

See merge request gnutls/gnutls!1913

17 months agoMerge branch 'add-missing-test-skip-conditions' into 'master'
Daiki Ueno [Thu, 26 Dec 2024 17:58:48 +0000 (17:58 +0000)] 
Merge branch 'add-missing-test-skip-conditions' into 'master'

Skip tests when dependencies are missing

See merge request gnutls/gnutls!1910

17 months agotests: Find p11-kit module directory via pkg-config.
Maxim Cournoyer [Tue, 24 Dec 2024 11:44:12 +0000 (20:44 +0900)] 
tests: Find p11-kit module directory via pkg-config.

* tests/p11-kit-load.sh (P11_MODULE_PATH): New variable; use it to
locate p11-kit-trust.so.
* tests/p11-kit-trust.sh (PKG_CONFIG, P11_MODULE_PATH): Likewise.

Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
17 months agobuild: Skip tls-fuzzer when python-six is not available.
Maxim Cournoyer [Sat, 21 Dec 2024 15:00:39 +0000 (00:00 +0900)] 
build: Skip tls-fuzzer when python-six is not available.

* configure.ac [HAVE_PYTHON_SIX]: New conditional.
* tests/suite/Makefile.am (scripts_to_test)
[HAVE_PYTHON_SIX]: Conditionally include tls-fuzzer test scripts.

Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
17 months agotests: Skip multi-ticket-reception test when valgrind is not available.
Maxim Cournoyer [Sat, 21 Dec 2024 12:47:56 +0000 (21:47 +0900)] 
tests: Skip multi-ticket-reception test when valgrind is not available.

This test would hang when attempting to run without valgrind
available.

* tests/suite/multi-ticket-reception.sh: Skip when VALGRIND is not set.

Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
17 months agoMerge branch 'add-bison-to-bootstrap-conf-buildreq' into 'master'
Daiki Ueno [Sat, 21 Dec 2024 22:37:33 +0000 (22:37 +0000)] 
Merge branch 'add-bison-to-bootstrap-conf-buildreq' into 'master'

bootstrap.conf: Require the 'bison' command.

See merge request gnutls/gnutls!1909

17 months agoconfigure.ac: Ensure Python is available when it's needed.
Maxim Cournoyer [Sat, 21 Dec 2024 13:51:02 +0000 (22:51 +0900)] 
configure.ac: Ensure Python is available when it's needed.

* configure.ac: Use AM_PATH_PYTHON only when needed, and ensure it
then succeeds.

Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
17 months agobootstrap.conf: Sort requirements.
Maxim Cournoyer [Sat, 21 Dec 2024 07:29:39 +0000 (16:29 +0900)] 
bootstrap.conf: Sort requirements.

* bootstrap.conf (buildreq): Sort.

Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
17 months agobootstrap.conf: Require the 'wget' command.
Maxim Cournoyer [Sat, 21 Dec 2024 03:47:56 +0000 (12:47 +0900)] 
bootstrap.conf: Require the 'wget' command.

wget is used to retrieve translation files.

* bootstrap.conf (buildreq): Register wget.

Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
17 months agobootstrap.conf: Require the 'bison' command.
Maxim Cournoyer [Sat, 21 Dec 2024 02:37:51 +0000 (11:37 +0900)] 
bootstrap.conf: Require the 'bison' command.

* bootstrap.conf (buildreq): Register bison.

Fixes: <https://gitlab.com/gnutls/gnutls/-/issues/1196>
Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
17 months agoMerge branch 'client_early_data_size' into 'master'
Daiki Ueno [Thu, 19 Dec 2024 06:58:26 +0000 (06:58 +0000)] 
Merge branch 'client_early_data_size' into 'master'

Set default value of early date size for client to 0

See merge request gnutls/gnutls!1906

17 months agoSet default value of early date size for client to 0
Sahil Siddiq [Thu, 12 Dec 2024 12:59:39 +0000 (18:29 +0530)] 
Set default value of early date size for client to 0

This commit sets the default value of "early_data_size" to 0 for
the client. "early_data_size" is set to a non-zero value when the
server sends the relevant extension in a session ticket to the
client.

This makes it easy for the client to determine if a server
supports early data.

Link: https://gitlab.com/gnutls/gnutls/-/issues/1619
Signed-off-by: Sahil Siddiq <sahilcdq@proton.me>
17 months agoMerge branch 'wip/dueno/hybrid-kx-liboqs-followup2' into 'master'
Daiki Ueno [Wed, 11 Dec 2024 01:53:11 +0000 (01:53 +0000)] 
Merge branch 'wip/dueno/hybrid-kx-liboqs-followup2' into 'master'

groups: represent hybrid groups with an array of IDs

Closes #1604

See merge request gnutls/gnutls!1904

17 months agoMerge branch 'wip/dueno/print-nc-import-error' into 'master'
Daiki Ueno [Wed, 11 Dec 2024 01:51:48 +0000 (01:51 +0000)] 
Merge branch 'wip/dueno/print-nc-import-error' into 'master'

x509: print errors when importing name constraints fails

Closes #1596

See merge request gnutls/gnutls!1902

17 months agogroups: represent hybrid groups with an array of IDs
Daiki Ueno [Fri, 6 Dec 2024 00:53:18 +0000 (09:53 +0900)] 
groups: represent hybrid groups with an array of IDs

Previously, the supported_groups array contained externally defined
elements, which is legitimate in C99 but caused error with Clang:

  groups.c:93:2: error: initializer element is not a compile-time constant
          group_x25519,
          ^~~~~~~~~~~~

This reworks the array definition of indirection through group
IDs (gnutls_group_t, i.e., integer).

This also makes pqc-hybrid-kx test more exhaustive.

Signed-off-by: Daiki Ueno <ueno@gnu.org>
17 months agoMerge branch 'interop-fix' into 'master'
Daiki Ueno [Mon, 9 Dec 2024 14:01:29 +0000 (14:01 +0000)] 
Merge branch 'interop-fix' into 'master'

fix tmt provision -h local

See merge request gnutls/gnutls!1905

17 months agofix tmt provision -h local
Stanislav Zidek [Mon, 9 Dec 2024 12:32:14 +0000 (13:32 +0100)] 
fix tmt provision -h local

TMT started requiring --feeling-safe for local provisioning.

Signed-off-by: Stanislav Zidek <szidek@redhat.com>
17 months agox509: print errors when importing name constraints fails
Daiki Ueno [Tue, 3 Dec 2024 12:50:05 +0000 (21:50 +0900)] 
x509: print errors when importing name constraints fails

Like printing SCTS, report any error to stdout when iterating over
name constraints in a certificate.

Signed-off-by: Daiki Ueno <ueno@gnu.org>
18 months agoMerge branch 'pqc' into 'master'
Daiki Ueno [Fri, 29 Nov 2024 00:51:45 +0000 (00:51 +0000)] 
Merge branch 'pqc' into 'master'

Add experimental support for post-quantum algorithms in X.509 certificates

See merge request gnutls/gnutls!1786

18 months agoMerge branch 'fips/mark-eddsa-approved' into 'master'
Daiki Ueno [Thu, 28 Nov 2024 23:43:06 +0000 (23:43 +0000)] 
Merge branch 'fips/mark-eddsa-approved' into 'master'

fips: mark EdDSA as approved in FIPS mode

See merge request gnutls/gnutls!1897

18 months agoMerge branch 'fips/no_dsa_selfcheck' into 'master'
Daiki Ueno [Thu, 28 Nov 2024 23:37:40 +0000 (23:37 +0000)] 
Merge branch 'fips/no_dsa_selfcheck' into 'master'

fips: Remove DSA selftest check in FIPS mode.

See merge request gnutls/gnutls!1901

18 months agoAs DSA is not-approved in FIPS 140-3, there is no need to run a self test on it.
Angel Yankov [Thu, 28 Nov 2024 08:54:45 +0000 (10:54 +0200)] 
As DSA is not-approved in FIPS 140-3, there is no need to run a self test on it.

Signed-off-by: Angel Yankov <angel.yankov@suse.com>
18 months agoRemoved support for Falcon algorithms
d-Dudas [Sun, 17 Nov 2024 13:12:28 +0000 (15:12 +0200)] 
Removed support for Falcon algorithms

Signed-off-by: David Dudas <david.dudas03@e-uvt.ro>
18 months agofips: mark EdDSA as approved in FIPS mode
pohsingwu [Sat, 16 Nov 2024 18:01:37 +0000 (02:01 +0800)] 
fips: mark EdDSA as approved in FIPS mode

FIPS 186-5 approves EdDSA.

Signed-off-by: Po-Hsing Wu <pohsingwu@synology.com>
18 months agoRemoved support for Sphincs algorithms
d-Dudas [Wed, 6 Nov 2024 18:46:59 +0000 (20:46 +0200)] 
Removed support for Sphincs algorithms

Signed-off-by: David Dudas <david.dudas03@e-uvt.ro>
18 months agoAdded SHA3x4 callbacks for liboqs.
David Dudas [Thu, 24 Oct 2024 15:56:30 +0000 (18:56 +0300)] 
Added SHA3x4 callbacks for liboqs.

Signed-off-by: David Dudas <david.dudas03@e-uvt.ro>
18 months agoMoved ML-DSA algorithms from the experimtental algorithms to non-exeperimental algori...
d-Dudas [Sun, 22 Sep 2024 13:22:13 +0000 (16:22 +0300)] 
Moved ML-DSA algorithms from the experimtental algorithms to non-exeperimental algorithms.

Signed-off-by: David Dudas <david.dudas03@e-uvt.ro>
18 months agoChanged from Dilithium to ML-DSA
d-Dudas [Sat, 31 Aug 2024 16:46:02 +0000 (19:46 +0300)] 
Changed from Dilithium to ML-DSA

Signed-off-by: David Dudas <david.dudas03@e-uvt.ro>
18 months agoAdd experimental support for post-quantum digital signature algorithms in X.509 certi...
d-Dudas [Sun, 28 Jul 2024 21:00:40 +0000 (00:00 +0300)] 
Add experimental support for post-quantum digital signature algorithms in X.509 certificates

- Dilithium
- Falcon
- Sphincs family

Signed-off-by: David Dudas <david.dudas03@e-uvt.ro>
18 months agoMerge branch 'wip/dueno/assorted-fixes' into 'master'
Daiki Ueno [Fri, 15 Nov 2024 07:54:19 +0000 (07:54 +0000)] 
Merge branch 'wip/dueno/assorted-fixes' into 'master'

Assorted fixes

See merge request gnutls/gnutls!1894

18 months agoliboqs: don't call OQS_destroy if the version is 0.11.0
Daiki Ueno [Thu, 7 Nov 2024 13:10:20 +0000 (22:10 +0900)] 
liboqs: don't call OQS_destroy if the version is 0.11.0

OQS_destroy in liboqs 0.11.0 unconditionally calls OpenSSL functions
for cleanup; see:
https://github.com/open-quantum-safe/liboqs/pull/1982

As it doesn't do anything other than that so far, just skip it for
now.

Signed-off-by: Daiki Ueno <ueno@gnu.org>
18 months agoliboqs: add SHA3x4 callbacks
David Dudas [Thu, 7 Nov 2024 00:31:53 +0000 (09:31 +0900)] 
liboqs: add SHA3x4 callbacks

Signed-off-by: David Dudas <david.dudas03@e-uvt.ro>
Modified-by: Daiki Ueno <ueno@gnu.org>
18 months agoMerge branch 'fips/p192-disabled' into 'master'
Daiki Ueno [Wed, 6 Nov 2024 10:50:11 +0000 (10:50 +0000)] 
Merge branch 'fips/p192-disabled' into 'master'

fips: Mark operations using P-192 as not approved

See merge request gnutls/gnutls!1887

18 months agoMerge branch 'fips/rsa2048' into 'master'
Daiki Ueno [Wed, 6 Nov 2024 10:48:59 +0000 (10:48 +0000)] 
Merge branch 'fips/rsa2048' into 'master'

fips: Allow SigVer only with RSA keys with modulus >= 2048 bits

See merge request gnutls/gnutls!1889

18 months agoMerge branch gnutls:master into fips/p192-disabled
Angel Yankov [Wed, 6 Nov 2024 09:03:48 +0000 (09:03 +0000)] 
Merge branch gnutls:master into fips/p192-disabled

18 months agofips: Allow SigVer only with RSA keys with modulus >= 2048 bits
Angel Yankov [Thu, 24 Oct 2024 12:00:28 +0000 (15:00 +0300)] 
fips: Allow SigVer only with RSA keys with modulus >= 2048 bits

This is for easier complience with FIPS 186-5,
otherwise it would be necessary to justify how
the timestamp is provided to prove that only
pre-existing signatures can be verified in compliance
with FIPS 186-5.

Signed-off-by: Angel Yankov <angel.yankov@suse.com>
18 months agoMerge branch 'fips/gnutls_hash_fast_approved' into 'master'
Daiki Ueno [Wed, 6 Nov 2024 05:29:44 +0000 (05:29 +0000)] 
Merge branch 'fips/gnutls_hash_fast_approved' into 'master'

fips: Mark gnutls_hash_fast as approved in FIPS SLI

See merge request gnutls/gnutls!1888

18 months agodlwrap: regenerate files
Daiki Ueno [Wed, 6 Nov 2024 05:24:05 +0000 (14:24 +0900)] 
dlwrap: regenerate files

Signed-off-by: Daiki Ueno <ueno@gnu.org>
18 months agognutls_privkey_get_spki: avoid NULL dereference in invalid call
Daiki Ueno [Wed, 6 Nov 2024 05:14:50 +0000 (14:14 +0900)] 
gnutls_privkey_get_spki: avoid NULL dereference in invalid call

Reported and solution suggested by David Meliksetyan in:
https://gitlab.com/gnutls/gnutls/-/issues/1579

Signed-off-by: Daiki Ueno <ueno@gnu.org>
18 months agognutls-cli-debug: skip GOST and X25519 tests in FIPS mode
Daiki Ueno [Tue, 5 Nov 2024 13:56:36 +0000 (22:56 +0900)] 
gnutls-cli-debug: skip GOST and X25519 tests in FIPS mode

Signed-off-by: Daiki Ueno <ueno@gnu.org>
18 months agoMerge branch 'wip/dueno/release-3.8.8' into 'master' 3.8.8
Daiki Ueno [Tue, 5 Nov 2024 02:33:05 +0000 (02:33 +0000)] 
Merge branch 'wip/dueno/release-3.8.8' into 'master'

Release 3.8.8

See merge request gnutls/gnutls!1893

18 months agoRelease 3.8.8
Daiki Ueno [Sat, 2 Nov 2024 03:13:54 +0000 (12:13 +0900)] 
Release 3.8.8

Signed-off-by: Daiki Ueno <ueno@gnu.org>
18 months agoFixed the check at src/benchmark-tls.c
Daiki Ueno [Sat, 14 Sep 2024 12:31:04 +0000 (15:31 +0300)] 
Fixed the check at src/benchmark-tls.c

Signed-off-by: David Meliksetyan <d.meliksetyan@fobos-nt.ru>
Signed-off-by: Daiki Ueno <ueno@gnu.org>
18 months agoMerge branch 'wip/dueno/dlwrap-doc' into 'master'
Daiki Ueno [Tue, 5 Nov 2024 00:06:34 +0000 (00:06 +0000)] 
Merge branch 'wip/dueno/dlwrap-doc' into 'master'

dlwrap: clarify the code generation is one time only [ci skip]

Closes #1581

See merge request gnutls/gnutls!1878

18 months agodlwrap: clarify the code generation is one time only [ci skip]
Daiki Ueno [Wed, 25 Sep 2024 02:27:30 +0000 (11:27 +0900)] 
dlwrap: clarify the code generation is one time only [ci skip]

This makes it clear that dlwrap is not a build-time dependency but a
one-time passive code generator.

Signed-off-by: Daiki Ueno <ueno@gnu.org>
18 months agodevel/generate-dlwrap.sh: remove --clang-resource-dir option
Daiki Ueno [Wed, 25 Sep 2024 00:59:42 +0000 (09:59 +0900)] 
devel/generate-dlwrap.sh: remove --clang-resource-dir option

The option is automatically inferred in dlwrap 0.3.6.

Signed-off-by: Daiki Ueno <ueno@gnu.org>
19 months agoMerge branch 'wip/dueno/kem-group-ordering' into 'master'
Daiki Ueno [Fri, 1 Nov 2024 10:40:06 +0000 (10:40 +0000)] 
Merge branch 'wip/dueno/kem-group-ordering' into 'master'

key_share: detect overlap of PK types in hybrid groups

Closes #1602

See merge request gnutls/gnutls!1892

19 months agopriority: give KEM groups precedence over EC(DH) groups in TLS 1.3
Daiki Ueno [Fri, 1 Nov 2024 02:10:49 +0000 (11:10 +0900)] 
priority: give KEM groups precedence over EC(DH) groups in TLS 1.3

Signed-off-by: Daiki Ueno <ueno@gnu.org>
19 months agokey_share: detect overlap of PK types in hybrid groups
Daiki Ueno [Fri, 1 Nov 2024 01:50:56 +0000 (10:50 +0900)] 
key_share: detect overlap of PK types in hybrid groups

The client limits sending the key_share extension to at most one from
each public key type. To support hybrid groups, the logic needs to be
extedended to check all siblings.

Signed-off-by: Daiki Ueno <ueno@gnu.org>
19 months ago_gnutls_session_supports_group: return boolean instead of error code
Daiki Ueno [Wed, 30 Oct 2024 05:05:10 +0000 (14:05 +0900)] 
_gnutls_session_supports_group: return boolean instead of error code

Signed-off-by: Daiki Ueno <ueno@gnu.org>
19 months agoMerge branch 'wip/dueno/liboqs-update' into 'master'
Daiki Ueno [Tue, 29 Oct 2024 14:25:44 +0000 (14:25 +0000)] 
Merge branch 'wip/dueno/liboqs-update' into 'master'

Update liboqs version requirement to 0.11.0 to support final version of ML-KEM

See merge request gnutls/gnutls!1883

19 months agogroups: register SecP256r1MLKEM768 and X25519MLKEM768
Daiki Ueno [Mon, 7 Oct 2024 23:51:44 +0000 (08:51 +0900)] 
groups: register SecP256r1MLKEM768 and X25519MLKEM768

This adds entries for SecP256r1MLKEM768 and X25519MLKEM768
post-quantum hybrid key agreement schemes as defined in
draft-kwiatkowski-tls-ecdhe-mlkem.

Signed-off-by: Daiki Ueno <ueno@gnu.org>
19 months agokey_share: rework hybrid algorithms handling
Daiki Ueno [Wed, 9 Oct 2024 08:09:04 +0000 (17:09 +0900)] 
key_share: rework hybrid algorithms handling

Previously we put 2 public key algorithms in a single
gnutls_group_entry_st, with pk and pk2 fields. That turned to be not
flexible enough to handle the cases where the number of combinations
increases or the order of algorithms is swapped. This changes the
representation with a linked list so one can easily construct and
traverse any combinations.

Signed-off-by: Daiki Ueno <ueno@gnu.org>
19 months agopriority: take into account of KEM groups
Daiki Ueno [Mon, 14 Oct 2024 08:50:27 +0000 (17:50 +0900)] 
priority: take into account of KEM groups

When constructing a ciphersuite list, include hybrid PQC groups with
KEM as the first key share.

Signed-off-by: Daiki Ueno <ueno@gnu.org>
19 months agosupported_groups: give KEM groups higher priority than DH
Daiki Ueno [Wed, 9 Oct 2024 09:10:25 +0000 (18:10 +0900)] 
supported_groups: give KEM groups higher priority than DH

Signed-off-by: Daiki Ueno <ueno@gnu.org>
19 months agostr: add _gnutls_ro_buffer_init
Daiki Ueno [Wed, 9 Oct 2024 08:04:44 +0000 (17:04 +0900)] 
str: add _gnutls_ro_buffer_init

Signed-off-by: Daiki Ueno <ueno@gnu.org>