gnutls/gnutls-FIPS-TLS_KDF_selftest.patch
Marcus Meissner 2d2be530a7 Accepting request 850542 from home:vitezslav_cizek:branches:security:tls
- Don't forward to Factory yet, the policy needs more testing.

- Use the centralized crypto policy profile (jsc#SLE-15832)

- FIPS: Use 2048 bit prime in DH selftest (bsc#1176086)
  * add gnutls-FIPS-use_2048_bit_prime_in_DH_selftest.patch
- FIPS: Add TLS KDF selftest (bsc#1176671)
  * add gnutls-FIPS-TLS_KDF_selftest.patch

OBS-URL: https://build.opensuse.org/request/show/850542
OBS-URL: https://build.opensuse.org/package/show/security:tls/gnutls?expand=0&rev=43
2020-12-05 17:16:13 +00:00

34 lines
1.1 KiB
Diff

Index: gnutls-3.6.15/lib/fips.c
===================================================================
--- gnutls-3.6.15.orig/lib/fips.c 2020-09-03 16:59:05.000000000 +0200
+++ gnutls-3.6.15/lib/fips.c 2020-11-10 12:51:40.420071675 +0100
@@ -398,6 +398,28 @@ int _gnutls_fips_perform_self_checks2(vo
goto 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) {
+ gnutls_assert();
+ goto error;
+ }
+
+ ret = memcmp(derived, expected.data, expected.size);
+ if (ret != 0) {
+ gnutls_assert();
+ goto error;
+ }
+
/* PK */
ret = gnutls_pk_self_test(0, GNUTLS_PK_RSA);
if (ret < 0) {