From 252f0b771dab08a1ad0f7396a133f5bbca227bc0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Love=20H=C3=B6rnquist=20=C3=85strand?= Date: Mon, 9 Feb 2009 17:18:34 +0000 Subject: [PATCH] Fix output length, with this the code sign and verfies cms data. git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@24668 ec53bebd-3082-4978-b11e-865c3cabbd6b --- lib/hx509/crypto.c | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/lib/hx509/crypto.c b/lib/hx509/crypto.c index 245002ad0..71c37b086 100644 --- a/lib/hx509/crypto.c +++ b/lib/hx509/crypto.c @@ -286,6 +286,15 @@ ecdsa_verify_signature(hx509_context context, der_free_octet_string(&digest); EC_KEY_free(key); if (ret != 1) { +#ifdef HAVE_OPENSSL + unsigned long l; + + ERR_load_ERR_strings(); + ERR_load_crypto_strings(); + + while ((l=ERR_get_error())) + fprintf(stderr,"ERROR:%s\n", ERR_error_string(l,NULL)); +#endif ret = HX509_CRYPTO_SIG_INVALID_FORMAT; return ret; } @@ -356,7 +365,7 @@ ecdsa_create_signature(hx509_context context, if (siglen > sig->length) _hx509_abort("ECDSA signature prelen longer the output len"); - sig->length = ret; + sig->length = siglen; return 0; }