- libgnutls: leancrypto was added as an interim option for PQC The library can now be built with leancrypto instead of liboqs for post-quantum cryptography (PQC), when configured with --with-leancrypto option instead of --with-liboqs. - libgnutls: Experimental support for ML-DSA signature algorithm The library and certtool now support ML-DSA signature algorithm as defined in FIPS 204 and based on draft-ietf-lamps-dilithium-certificates-04. This feature is currently marked as experimental and can only be enabled when compiled with --with-leancrypto or --with-liboqs. Contributed by David Dudas. - libgnutls: Support for ML-KEM-1024 key encapsulation mechanism The support for ML-KEM post-quantum key encapsulation mechanisms has been extended to cover ML-KEM-1024, in addition to ML-KEM-768. MLKEM1024 is only offered as SecP384r1MLKEM1024 hybrid as per draft-kwiatkowski-tls-ecdhe-mlkem-03. - libgnutls: Fix potential DoS in handling certificates with numerous name constraints, as a follow-up of CVE-2024-12133 in libtasn1. The bundled copy of libtasn1 has also been updated to the latest 4.20.0 release to complete the fix. Reported by Bing Shi (#1553). [GNUTLS-SA-2025-02-07, CVSS: medium] [bsc#1236974, CVE-2024-12243 - Licensing information moved to REAMDE.md, COPYING, COPYING.LESSERv2 * Rebased gnutls-FIPS-140-3-references.patch * Rebased gnutls-FIPS-TLS_KDF_selftest.patch * Rebased gnutls-FIPS-jitterentropy.patch * Rebased gnutls-disable-flaky-test-dtls-resume.patch * Rebased gnutls-srp-test-SIGPIPE.patch * Rebased gnutls-3.5.11-skip-trust-store-tests.patch * Add gnutls-set-cligen-python-interp.patch OBS-URL: https://build.opensuse.org/package/show/security:tls/gnutls?expand=0&rev=119
32 lines
1.2 KiB
Diff
32 lines
1.2 KiB
Diff
Index: gnutls-3.8.9/lib/fips.c
|
|
===================================================================
|
|
--- gnutls-3.8.9.orig/lib/fips.c
|
|
+++ gnutls-3.8.9/lib/fips.c
|
|
@@ -621,6 +621,26 @@ int _gnutls_fips_perform_self_checks2(vo
|
|
return gnutls_assert_val(GNUTLS_E_SELF_TEST_ERROR);
|
|
}
|
|
|
|
+ /* KDF */
|
|
+
|
|
+ char derived[512];
|
|
+
|
|
+ gnutls_datum_t secret = { (void *)"\x04\x50\xb0\xea\x9e\xcd\x36\x02\xee\x0d\x76\xc5\xc3\xc8\x6f\x4a", 16 };
|
|
+ gnutls_datum_t seed = { (void *)"\x20\x7a\xcc\x02\x54\xb8\x67\xf5\xb9\x25\xb4\x5a\x33\x60\x1d\x8b", 16 };
|
|
+ gnutls_datum_t label = { (void *)"test label", 10 };
|
|
+ gnutls_datum_t expected = { (void *)"\xae\x67\x9e\x0e\x71\x4f\x59\x75\x76\x37\x68\xb1\x66\x97\x9e\x1d", 16 };
|
|
+
|
|
+ ret = _gnutls_prf_raw(GNUTLS_MAC_SHA256, secret.size, secret.data,
|
|
+ label.size, (char*)label.data, seed.size, seed.data, expected.size, derived);
|
|
+ if (ret < 0) {
|
|
+ return gnutls_assert_val(GNUTLS_E_SELF_TEST_ERROR);
|
|
+ }
|
|
+
|
|
+ ret = memcmp(derived, expected.data, expected.size);
|
|
+ if (ret != 0) {
|
|
+ return gnutls_assert_val(GNUTLS_E_SELF_TEST_ERROR);
|
|
+ }
|
|
+
|
|
/* PK */
|
|
if (_gnutls_config_is_rsa_pkcs1_encrypt_allowed()) {
|
|
ret = gnutls_pk_self_test(0, GNUTLS_PK_RSA);
|