summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNikos Mavrogiannopoulos <nmav@gnutls.org>2013-02-13 20:30:30 +0100
committerNikos Mavrogiannopoulos <nmav@gnutls.org>2013-02-13 20:30:30 +0100
commit01ad9ae499df34c16b627f2e1538f51d23944960 (patch)
tree90425e1f88b141993e256e7d34fcf39ba1820710
parentb2ae2a7aee3b13124f655e829bac59b3dd4d3dc6 (diff)
downloadgnutls-01ad9ae499df34c16b627f2e1538f51d23944960.tar.gz
corrected gnutls_pubkey_verify_data()
-rw-r--r--lib/gnutls_pubkey.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/lib/gnutls_pubkey.c b/lib/gnutls_pubkey.c
index cc250215ed..8cd74de74d 100644
--- a/lib/gnutls_pubkey.c
+++ b/lib/gnutls_pubkey.c
@@ -1521,6 +1521,7 @@ gnutls_pubkey_verify_data (gnutls_pubkey_t pubkey, unsigned int flags,
const gnutls_datum_t * signature)
{
int ret;
+ gnutls_digest_algorithm_t hash;
if (pubkey == NULL)
{
@@ -1528,7 +1529,11 @@ gnutls_pubkey_verify_data (gnutls_pubkey_t pubkey, unsigned int flags,
return GNUTLS_E_INVALID_REQUEST;
}
- ret = pubkey_verify_data( pubkey->pk_algorithm, GNUTLS_DIG_UNKNOWN, data, signature,
+ ret = gnutls_pubkey_get_verify_algorithm (pubkey, signature, &hash);
+ if (ret < 0)
+ return gnutls_assert_val(ret);
+
+ ret = pubkey_verify_data( pubkey->pk_algorithm, hash, data, signature,
&pubkey->params);
if (ret < 0)
{
@@ -1593,7 +1598,6 @@ gnutls_pubkey_verify_data2 (gnutls_pubkey_t pubkey,
* Deprecated. This function cannot be easily used securely.
* Use gnutls_pubkey_verify_hash2() instead.
*
- *
* Returns: In case of a verification failure %GNUTLS_E_PK_SIG_VERIFY_FAILED
* is returned, and zero or positive code on success.
*