diff options
-rw-r--r-- | userspace/ncrypto.h | 1 | ||||
-rw-r--r-- | userspace/ncrypto_key.c | 10 |
2 files changed, 11 insertions, 0 deletions
diff --git a/userspace/ncrypto.h b/userspace/ncrypto.h index 09455d6..6f75de8 100644 --- a/userspace/ncrypto.h +++ b/userspace/ncrypto.h @@ -29,6 +29,7 @@ int ncr_key_init(ncr_key_t *key); int ncr_key_generate(ncr_key_t key, ncr_key_generate_params_t params); int ncr_key_generate_pair(ncr_key_t key1, ncr_key_t key2, ncr_key_generate_params_t params); int ncr_key_derive(ncr_key_t newkey, unsigned int keyflags, ncr_key_t key, ncr_key_params_t key_params); +ncr_algorithm_t ncr_key_get_algorithm(ncr_key_t key); int ncr_key_get_flags(ncr_key_t key); ncr_key_type_t ncr_key_get_type(ncr_key_t key); int ncr_key_get_id(ncr_key_t key, void *id, size_t *id_size); diff --git a/userspace/ncrypto_key.c b/userspace/ncrypto_key.c index e424c87..db46ee4 100644 --- a/userspace/ncrypto_key.c +++ b/userspace/ncrypto_key.c @@ -123,6 +123,16 @@ ncr_key_get_info(struct ncr_key_info_st *dest, ncr_key_t key) return 0; } +ncr_algorithm_t +ncr_key_get_algorithm(ncr_key_t key) +{ + struct ncr_key_info_st io; + + if (ncr_key_get_info(&io, key) < 0) + return -1; + return io.algorithm; +} + int ncr_key_get_flags(ncr_key_t key) { |