diff options
author | Miloslav Trmač <mitr@redhat.com> | 2010-07-13 20:52:05 +0200 |
---|---|---|
committer | Nikos Mavrogiannopoulos <nmav@gnutls.org> | 2010-07-19 09:29:22 +0200 |
commit | dc89e6581946a1eb2d675c92ecc0a4d626b11ab2 (patch) | |
tree | c68c39f973fafdced70d0ac500a8de859f22c941 | |
parent | cf06dd8459db5331f744141e644ad756007f56e2 (diff) | |
download | cryptodev-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.c | 5 |
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(); |