summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ncr-key.c2
-rw-r--r--ncr-pk.c9
-rw-r--r--ncr-pk.h2
3 files changed, 6 insertions, 7 deletions
diff --git a/ncr-key.c b/ncr-key.c
index 82a3818..db5d458 100644
--- a/ncr-key.c
+++ b/ncr-key.c
@@ -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;
diff --git a/ncr-pk.c b/ncr-pk.c
index 50ab0ab..9ab5732 100644
--- a/ncr-pk.c
+++ b/ncr-pk.c
@@ -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;
diff --git a/ncr-pk.h b/ncr-pk.h
index f873255..76b8d36 100644
--- a/ncr-pk.h
+++ b/ncr-pk.h
@@ -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);