aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTobias Brunner <tobias@strongswan.org>2017-09-26 16:44:02 +0200
committerTobias Brunner <tobias@strongswan.org>2017-11-08 16:48:10 +0100
commitf241a981aa77bf0e7b66d773b166b2486f305bbd (patch)
tree4fa6240c854e570fb64fc0ad91ffa1c1e96515ea
parentc380608a8914d07ff5dfe601c9b417f752207f78 (diff)
downloadstrongswan-f241a981aa77bf0e7b66d773b166b2486f305bbd.tar.bz2
strongswan-f241a981aa77bf0e7b66d773b166b2486f305bbd.tar.xz
gmp: Add support for static salts when signing with RSA-PSS
-rw-r--r--src/libstrongswan/plugins/gmp/gmp_rsa_private_key.c8
1 files 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 e24fda8c2..aca232c86 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);