aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorTobias Brunner <tobias@strongswan.org>2014-08-26 18:26:33 +0200
committerTobias Brunner <tobias@strongswan.org>2014-09-02 08:15:17 +0200
commit581846763919e8b73a205f37e09ddafbd900cd0b (patch)
treee2f045283c426ce50e6bd9f25e4b7cc56f5bbfb9 /src
parent8d80528a60f82603b495b88a348cb26130ac6f0b (diff)
downloadstrongswan-581846763919e8b73a205f37e09ddafbd900cd0b.tar.bz2
strongswan-581846763919e8b73a205f37e09ddafbd900cd0b.tar.xz
openssl: Report correct key length for EC keys when not using NIST curves
Fixes #688.
Diffstat (limited to 'src')
-rw-r--r--src/libstrongswan/plugins/openssl/openssl_ec_private_key.c12
-rw-r--r--src/libstrongswan/plugins/openssl/openssl_ec_public_key.c12
2 files changed, 2 insertions, 22 deletions
diff --git a/src/libstrongswan/plugins/openssl/openssl_ec_private_key.c b/src/libstrongswan/plugins/openssl/openssl_ec_private_key.c
index 12f264267..bc7884c99 100644
--- a/src/libstrongswan/plugins/openssl/openssl_ec_private_key.c
+++ b/src/libstrongswan/plugins/openssl/openssl_ec_private_key.c
@@ -181,17 +181,7 @@ METHOD(private_key_t, decrypt, bool,
METHOD(private_key_t, get_keysize, int,
private_openssl_ec_private_key_t *this)
{
- switch (EC_GROUP_get_curve_name(EC_KEY_get0_group(this->ec)))
- {
- case NID_X9_62_prime256v1:
- return 256;
- case NID_secp384r1:
- return 384;
- case NID_secp521r1:
- return 521;
- default:
- return 0;
- }
+ return EC_GROUP_get_degree(EC_KEY_get0_group(this->ec));
}
METHOD(private_key_t, get_type, key_type_t,
diff --git a/src/libstrongswan/plugins/openssl/openssl_ec_public_key.c b/src/libstrongswan/plugins/openssl/openssl_ec_public_key.c
index 382c55418..21dcb0120 100644
--- a/src/libstrongswan/plugins/openssl/openssl_ec_public_key.c
+++ b/src/libstrongswan/plugins/openssl/openssl_ec_public_key.c
@@ -179,17 +179,7 @@ METHOD(public_key_t, encrypt, bool,
METHOD(public_key_t, get_keysize, int,
private_openssl_ec_public_key_t *this)
{
- switch (EC_GROUP_get_curve_name(EC_KEY_get0_group(this->ec)))
- {
- case NID_X9_62_prime256v1:
- return 256;
- case NID_secp384r1:
- return 384;
- case NID_secp521r1:
- return 521;
- default:
- return 0;
- }
+ return EC_GROUP_get_degree(EC_KEY_get0_group(this->ec));
}
/**