From f241a981aa77bf0e7b66d773b166b2486f305bbd Mon Sep 17 00:00:00 2001 From: Tobias Brunner Date: Tue, 26 Sep 2017 16:44:02 +0200 Subject: [PATCH] gmp: Add support for static salts when signing with RSA-PSS --- src/libstrongswan/plugins/gmp/gmp_rsa_private_key.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/libstrongswan/plugins/gmp/gmp_rsa_private_key.c b/src/libstrongswan/plugins/gmp/gmp_rsa_private_key.c index e24fda8c26..aca232c865 100644 --- a/src/libstrongswan/plugins/gmp/gmp_rsa_private_key.c +++ b/src/libstrongswan/plugins/gmp/gmp_rsa_private_key.c @@ -380,7 +380,11 @@ static bool build_emsa_pss_signature(private_gmp_rsa_private_key_t *this, } salt.len = hash.len; - if (params->salt_len > RSA_PSS_SALT_LEN_DEFAULT) + if (params->salt.len) + { + salt = params->salt; + } + else if (params->salt_len > RSA_PSS_SALT_LEN_DEFAULT) { salt.len = params->salt_len; } @@ -388,7 +392,7 @@ static bool build_emsa_pss_signature(private_gmp_rsa_private_key_t *this, { /* too long */ goto error; } - if (salt.len) + if (salt.len && !params->salt.len) { salt = chunk_alloca(salt.len); rng = lib->crypto->create_rng(lib->crypto, RNG_STRONG); -- 2.39.5