summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDmitry Eremin-Solenikov <dbaryshkov@gmail.com>2018-11-13 02:47:39 +0300
committerDmitry Eremin-Solenikov <dbaryshkov@gmail.com>2018-11-16 03:36:27 +0300
commit057ed9e277cec22714111a7a16482c57f26bc8af (patch)
tree7dce8d042f7971daa8ff6e1ce7cae5076819ddae
parent3ec994cd50a9cc2650f6825d9b866b3fa7b8851b (diff)
downloadgnutls-057ed9e277cec22714111a7a16482c57f26bc8af.tar.gz
nettle: unmaks GOST private keys if necessary
Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
-rw-r--r--lib/nettle/pk.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/lib/nettle/pk.c b/lib/nettle/pk.c
index 6dcd2fdd08..4d945c89ad 100644
--- a/lib/nettle/pk.c
+++ b/lib/nettle/pk.c
@@ -2753,6 +2753,9 @@ wrap_nettle_pk_fixup(gnutls_pk_algorithm_t algo,
return gnutls_assert_val
(GNUTLS_E_ECC_UNSUPPORTED_CURVE);
+ if (ecc_bit_size(curve) < _gnutls_mpi_get_nbits(params->params[GOST_K]))
+ gostdsa_unmask_key(curve, TOMPZ(params->params[GOST_K]));
+
ret = _gost_params_to_privkey(params, &priv, curve);
if (ret < 0) {
return gnutls_assert_val(ret);