diff options
author | Nikos Mavrogiannopoulos <nmav@redhat.com> | 2017-07-27 15:03:00 +0200 |
---|---|---|
committer | Nikos Mavrogiannopoulos <nmav@redhat.com> | 2017-08-04 09:38:27 +0200 |
commit | 8fc0854c03bb54e55e069fa0a78d8a5c1c79a131 (patch) | |
tree | 511c1b36d876eb9694249ad75d947ffc2934109a /lib/nettle | |
parent | a6d9eaf69858c66c215cc918a7f9d3f003a47701 (diff) | |
download | gnutls-8fc0854c03bb54e55e069fa0a78d8a5c1c79a131.tar.gz |
pct_test: use local SPKI structure to override parameters if not set
Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
Diffstat (limited to 'lib/nettle')
-rw-r--r-- | lib/nettle/pk.c | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/lib/nettle/pk.c b/lib/nettle/pk.c index 217025cd7b..13cec6022e 100644 --- a/lib/nettle/pk.c +++ b/lib/nettle/pk.c @@ -1464,6 +1464,9 @@ const char const_data_sha384[48] = "onetwothreefourfivesixseveneightnineteneleve const char const_data_sha512[64] = "onetwothreefourfivesixseveneightnineteneleventwelvethirteenfourt"; gnutls_datum_t ddata, tmp = {NULL,0}; char* gen_data = NULL; +gnutls_x509_spki_st spki; + + memcpy(&spki, ¶ms->spki, sizeof(spki)); if (algo == GNUTLS_PK_DSA || algo == GNUTLS_PK_EC) { unsigned hash_len; @@ -1475,7 +1478,10 @@ char* gen_data = NULL; ddata.data = (void*)gen_data; ddata.size = hash_len; } else if (algo == GNUTLS_PK_RSA_PSS) { - switch (params->spki.rsa_pss_dig) { + if (spki.rsa_pss_dig == GNUTLS_DIG_UNKNOWN) + spki.rsa_pss_dig = GNUTLS_DIG_SHA256; + + switch (spki.rsa_pss_dig) { case GNUTLS_DIG_SHA256: ddata.data = (void*)const_data_sha256; ddata.size = sizeof(const_data_sha256); @@ -1534,13 +1540,13 @@ char* gen_data = NULL; case GNUTLS_PK_EDDSA_ED25519: case GNUTLS_PK_DSA: case GNUTLS_PK_RSA_PSS: - ret = _gnutls_pk_sign(algo, &sig, &ddata, params, ¶ms->spki); + ret = _gnutls_pk_sign(algo, &sig, &ddata, params, &spki); if (ret < 0) { ret = gnutls_assert_val(GNUTLS_E_PK_GENERATION_ERROR); goto cleanup; } - ret = _gnutls_pk_verify(algo, &ddata, &sig, params, ¶ms->spki); + ret = _gnutls_pk_verify(algo, &ddata, &sig, params, &spki); if (ret < 0) { ret = gnutls_assert_val(GNUTLS_E_PK_GENERATION_ERROR); gnutls_assert(); |