summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMiloslav Trmač <mitr@redhat.com>2010-07-13 20:52:05 +0200
committerNikos Mavrogiannopoulos <nmav@gnutls.org>2010-07-19 09:29:22 +0200
commitdc89e6581946a1eb2d675c92ecc0a4d626b11ab2 (patch)
treec68c39f973fafdced70d0ac500a8de859f22c941
parentcf06dd8459db5331f744141e644ad756007f56e2 (diff)
downloadcryptodev-linux-dc89e6581946a1eb2d675c92ecc0a4d626b11ab2.tar.gz
cryptodev-linux-dc89e6581946a1eb2d675c92ecc0a4d626b11ab2.tar.xz
cryptodev-linux-dc89e6581946a1eb2d675c92ecc0a4d626b11ab2.zip
Refuse non-digest algorithms for pubkey sign/verify operations
Signed-off-by: Nikos Mavrogiannopoulos <nmav@gnutls.org>
-rw-r--r--ncr-sessions.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/ncr-sessions.c b/ncr-sessions.c
index b0ffe92..a8d888a 100644
--- a/ncr-sessions.c
+++ b/ncr-sessions.c
@@ -369,6 +369,11 @@ static int _ncr_session_init(struct ncr_lists* lists, struct ncr_session_st* ses
}
} else if (ns->key->type == NCR_KEY_TYPE_PRIVATE || ns->key->type == NCR_KEY_TYPE_PUBLIC) {
+ if (algo_can_digest(session->params.params.pk.sign_hash) == 0) {
+ err();
+ ret = -EINVAL;
+ goto fail;
+ }
str = _ncr_algo_to_str(session->params.params.pk.sign_hash);
if (str == NULL) {
err();