diff options
-rw-r--r-- | ncr-key.c | 2 | ||||
-rw-r--r-- | ncr-pk.c | 9 | ||||
-rw-r--r-- | ncr-pk.h | 2 |
3 files changed, 6 insertions, 7 deletions
@@ -544,7 +544,7 @@ int ret; public->flags |= (NCR_KEY_FLAG_EXPORTABLE|NCR_KEY_FLAG_WRAPPABLE); if (public->type == NCR_KEY_TYPE_PUBLIC) { - ret = ncr_pk_generate(gen.params.algorithm, &gen.params, private, public); + ret = ncr_pk_generate(public->algorithm, &gen.params, private, public); if (ret < 0) { err(); goto fail; @@ -199,7 +199,7 @@ struct keygen_st { struct work_struct pk_gen; struct completion completed; int ret; - ncr_algorithm_t algo; + const struct algo_properties_st *algo; struct key_item_st* private; struct key_item_st* public; struct ncr_key_generate_params_st * params; @@ -212,7 +212,7 @@ static void keygen_handler(struct work_struct *instance) struct keygen_st *st = container_of(instance, struct keygen_st, pk_gen); - switch(st->algo) { + switch(st->algo->algo) { case NCR_ALG_RSA: e = st->params->params.rsa.e; @@ -248,15 +248,14 @@ static void keygen_handler(struct work_struct *instance) } -int ncr_pk_generate(ncr_algorithm_t algo, +int ncr_pk_generate(const struct algo_properties_st *algo, struct ncr_key_generate_params_st * params, struct key_item_st* private, struct key_item_st* public) { int ret; struct keygen_st st; - private->algorithm = public->algorithm = _ncr_algo_to_properties(algo); - BUG_ON(private->algorithm == NULL); + private->algorithm = public->algorithm = algo; st.algo = algo; st.private = private; @@ -19,7 +19,7 @@ struct ncr_pk_ctx { /* PK */ void ncr_pk_clear(struct key_item_st* key); -int ncr_pk_generate(ncr_algorithm_t algo, +int ncr_pk_generate(const struct algo_properties_st *algo, struct ncr_key_generate_params_st * params, struct key_item_st* private, struct key_item_st* public); int ncr_pk_pack( const struct key_item_st * key, uint8_t * packed, uint32_t * packed_size); |