summaryrefslogtreecommitdiffstats
path: root/ncr-sessions.c
diff options
context:
space:
mode:
authorNikos Mavrogiannopoulos <nmav@gnutls.org>2010-07-23 09:10:28 +0200
committerNikos Mavrogiannopoulos <nmav@gnutls.org>2010-07-23 09:10:28 +0200
commit6fbb3400ff70070dc12460c5336b201cfa275ab4 (patch)
tree6ffd48aec7a4b511555186b0a7c781a6b7d637d6 /ncr-sessions.c
parentf58e82a071a25531f7e7f83cc4ed8982131dea5c (diff)
downloadcryptodev-linux-6fbb3400ff70070dc12460c5336b201cfa275ab4.tar.gz
cryptodev-linux-6fbb3400ff70070dc12460c5336b201cfa275ab4.tar.xz
cryptodev-linux-6fbb3400ff70070dc12460c5336b201cfa275ab4.zip
Splitted key from key_params structure. Also separated dsa from rsa structure in params.
Diffstat (limited to 'ncr-sessions.c')
-rw-r--r--ncr-sessions.c16
1 files changed, 12 insertions, 4 deletions
diff --git a/ncr-sessions.c b/ncr-sessions.c
index d8a9b4f..6856310 100644
--- a/ncr-sessions.c
+++ b/ncr-sessions.c
@@ -290,6 +290,7 @@ static int _ncr_session_init(struct ncr_lists* lists, struct ncr_session_st* ses
{
struct session_item_st* ns = NULL;
int ret;
+ ncr_algorithm_t sign_hash;
const char* str = NULL;
ns = ncr_session_new(&lists->sessions);
@@ -310,7 +311,7 @@ static int _ncr_session_init(struct ncr_lists* lists, struct ncr_session_st* ses
}
/* read key */
- ret = ncr_key_item_get_read( &ns->key, &lists->key, session->params.key);
+ ret = ncr_key_item_get_read( &ns->key, &lists->key, session->key);
if (ret < 0) {
err();
goto fail;
@@ -365,7 +366,7 @@ static int _ncr_session_init(struct ncr_lists* lists, struct ncr_session_st* ses
}
/* read key */
- ret = ncr_key_item_get_read( &ns->key, &lists->key, session->params.key);
+ ret = ncr_key_item_get_read( &ns->key, &lists->key, session->key);
if (ret < 0) {
err();
goto fail;
@@ -386,12 +387,19 @@ 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) {
+ ret = ncr_key_params_get_sign_hash(ns->key->algorithm, &session->params);
+ if (ret < 0) {
+ err();
+ return ret;
+ }
+ sign_hash = ret;
+
+ if (algo_can_digest(sign_hash) == 0) {
err();
ret = -EINVAL;
goto fail;
}
- str = _ncr_algo_to_str(session->params.params.pk.sign_hash);
+ str = _ncr_algo_to_str(sign_hash);
if (str == NULL) {
err();
ret = -EINVAL;