aboutsummaryrefslogtreecommitdiffstats
path: root/src/libstrongswan/plugins/openssl/openssl_rsa_public_key.c
diff options
context:
space:
mode:
authorMartin Willi <martin@strongswan.org>2008-11-03 09:44:20 +0000
committerMartin Willi <martin@strongswan.org>2008-11-03 09:44:20 +0000
commitd6dc9db5ef1dd6fe9015614ac20af88a33f2ad05 (patch)
treee369e018d6d97e65f9b6a2d1bb8363c63d541a14 /src/libstrongswan/plugins/openssl/openssl_rsa_public_key.c
parent9c3398747149d456ff2a84c641014097e62408d9 (diff)
downloadstrongswan-d6dc9db5ef1dd6fe9015614ac20af88a33f2ad05.tar.bz2
strongswan-d6dc9db5ef1dd6fe9015614ac20af88a33f2ad05.tar.xz
reverted 4541, does not fix the problem
Diffstat (limited to 'src/libstrongswan/plugins/openssl/openssl_rsa_public_key.c')
-rw-r--r--src/libstrongswan/plugins/openssl/openssl_rsa_public_key.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/libstrongswan/plugins/openssl/openssl_rsa_public_key.c b/src/libstrongswan/plugins/openssl/openssl_rsa_public_key.c
index 107404fa2..b4af3dc04 100644
--- a/src/libstrongswan/plugins/openssl/openssl_rsa_public_key.c
+++ b/src/libstrongswan/plugins/openssl/openssl_rsa_public_key.c
@@ -90,7 +90,15 @@ static bool verify_emsa_pkcs1_signature(private_openssl_rsa_public_key_t *this,
goto error;
}
+ /* remove any preceding 0-bytes from signature */
+ while (signature.len && *(signature.ptr) == 0x00)
+ {
+ signature.len -= 1;
+ signature.ptr++;
+ }
+
valid = (EVP_VerifyFinal(ctx, signature.ptr, signature.len, key) == 1);
+ DBG1("%s sig: %B", valid ? "good" : "bad", &signature);
error:
if (key)