aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorTobias Brunner <tobias@strongswan.org>2017-09-25 18:07:58 +0200
committerTobias Brunner <tobias@strongswan.org>2017-11-08 16:48:10 +0100
commit126fd8af09b326f2224f686e4cd2ac99de8359ac (patch)
treeff9d8e4621ac1cd3ba86aca6f00933153f873e98 /src
parent883e7fcd65659ffc8540229934a39795d8411e13 (diff)
downloadstrongswan-126fd8af09b326f2224f686e4cd2ac99de8359ac.tar.bz2
strongswan-126fd8af09b326f2224f686e4cd2ac99de8359ac.tar.xz
gmp: Use helper to determine XOF type
Diffstat (limited to 'src')
-rw-r--r--src/libstrongswan/plugins/gmp/gmp_rsa_private_key.c19
-rw-r--r--src/libstrongswan/plugins/gmp/gmp_rsa_public_key.c19
2 files changed, 10 insertions, 28 deletions
diff --git a/src/libstrongswan/plugins/gmp/gmp_rsa_private_key.c b/src/libstrongswan/plugins/gmp/gmp_rsa_private_key.c
index 3a9296535..e24fda8c2 100644
--- a/src/libstrongswan/plugins/gmp/gmp_rsa_private_key.c
+++ b/src/libstrongswan/plugins/gmp/gmp_rsa_private_key.c
@@ -354,21 +354,12 @@ static bool build_emsa_pss_signature(private_gmp_rsa_private_key_t *this,
{
return FALSE;
}
- switch (params->mgf1_hash)
+ xof = xof_mgf1_from_hash_algorithm(params->mgf1_hash);
+ if (xof == XOF_UNDEFINED)
{
- case HASH_SHA1:
- xof = XOF_MGF1_SHA1;
- break;
- case HASH_SHA256:
- xof = XOF_MGF1_SHA256;
- break;
- case HASH_SHA512:
- xof = XOF_MGF1_SHA512;
- break;
- default:
- DBG1(DBG_LIB, "%N is not supported for MGF1", hash_algorithm_names,
- params->mgf1_hash);
- return FALSE;
+ DBG1(DBG_LIB, "%N is not supported for MGF1", hash_algorithm_names,
+ params->mgf1_hash);
+ return FALSE;
}
/* emBits = modBits - 1 */
embits = mpz_sizeinbase(this->n, 2) - 1;
diff --git a/src/libstrongswan/plugins/gmp/gmp_rsa_public_key.c b/src/libstrongswan/plugins/gmp/gmp_rsa_public_key.c
index 45fdf1d67..52bc9fb38 100644
--- a/src/libstrongswan/plugins/gmp/gmp_rsa_public_key.c
+++ b/src/libstrongswan/plugins/gmp/gmp_rsa_public_key.c
@@ -304,21 +304,12 @@ static bool verify_emsa_pss_signature(private_gmp_rsa_public_key_t *this,
{
return FALSE;
}
- switch (params->mgf1_hash)
+ xof = xof_mgf1_from_hash_algorithm(params->mgf1_hash);
+ if (xof == XOF_UNDEFINED)
{
- case HASH_SHA1:
- xof = XOF_MGF1_SHA1;
- break;
- case HASH_SHA256:
- xof = XOF_MGF1_SHA256;
- break;
- case HASH_SHA512:
- xof = XOF_MGF1_SHA512;
- break;
- default:
- DBG1(DBG_LIB, "%N is not supported for MGF1", hash_algorithm_names,
- params->mgf1_hash);
- return FALSE;
+ DBG1(DBG_LIB, "%N is not supported for MGF1", hash_algorithm_names,
+ params->mgf1_hash);
+ return FALSE;
}
chunk_skip_zero(signature);
if (signature.len == 0 || signature.len > this->k)