diff options
author | Martin Willi <martin@revosec.ch> | 2010-09-03 16:22:10 +0200 |
---|---|---|
committer | Martin Willi <martin@revosec.ch> | 2010-09-03 16:22:10 +0200 |
commit | 7d7711aba4d4330155e1d4bd9fde5b75f2d154c7 (patch) | |
tree | d4c40e849ccff561bc097e25f78284dbd458f75c | |
parent | 2066918da2c85e3d9c3adc52d93484816ae2ee62 (diff) | |
download | strongswan-7d7711aba4d4330155e1d4bd9fde5b75f2d154c7.tar.bz2 strongswan-7d7711aba4d4330155e1d4bd9fde5b75f2d154c7.tar.xz |
Added a generic function to check if a DH group is an EC group
-rw-r--r-- | src/libstrongswan/crypto/diffie_hellman.c | 17 | ||||
-rw-r--r-- | src/libstrongswan/crypto/diffie_hellman.h | 8 |
2 files changed, 25 insertions, 0 deletions
diff --git a/src/libstrongswan/crypto/diffie_hellman.c b/src/libstrongswan/crypto/diffie_hellman.c index e3675603b..5f7365321 100644 --- a/src/libstrongswan/crypto/diffie_hellman.c +++ b/src/libstrongswan/crypto/diffie_hellman.c @@ -442,3 +442,20 @@ diffie_hellman_params_t *diffie_hellman_get_params(diffie_hellman_group_t group) return NULL; } +/** + * See header. + */ +bool diffie_hellman_group_is_ec(diffie_hellman_group_t group) +{ + switch (group) + { + case ECP_256_BIT: + case ECP_384_BIT: + case ECP_521_BIT: + case ECP_192_BIT: + case ECP_224_BIT: + return TRUE; + default: + return FALSE; + } +} diff --git a/src/libstrongswan/crypto/diffie_hellman.h b/src/libstrongswan/crypto/diffie_hellman.h index b9816df1a..9ae772363 100644 --- a/src/libstrongswan/crypto/diffie_hellman.h +++ b/src/libstrongswan/crypto/diffie_hellman.h @@ -147,4 +147,12 @@ struct diffie_hellman_params_t { */ diffie_hellman_params_t *diffie_hellman_get_params(diffie_hellman_group_t group); +/** + * Check if a given DH group is an ECDH group + * + * @param group group to check + * @return TUE if group is an ECP group + */ +bool diffie_hellman_group_is_ec(diffie_hellman_group_t group); + #endif /** DIFFIE_HELLMAN_H_ @}*/ |