diff options
author | Miloslav Trmač <mitr@redhat.com> | 2010-08-06 02:21:53 +0200 |
---|---|---|
committer | Miloslav Trmač <mitr@redhat.com> | 2010-08-24 20:58:32 +0200 |
commit | 9c1054f1e24af545bdb1b88834482937253364eb (patch) | |
tree | 910e10490b446750619d3b0d4286d159256b8771 | |
parent | 73cf9125fae0d3873095d9faee178c7a9c04ec90 (diff) | |
download | cryptodev-linux-9c1054f1e24af545bdb1b88834482937253364eb.tar.gz cryptodev-linux-9c1054f1e24af545bdb1b88834482937253364eb.tar.xz cryptodev-linux-9c1054f1e24af545bdb1b88834482937253364eb.zip |
Add remaining accessors for ncr_key_params_t
-rw-r--r-- | userspace/ncrypto.h | 5 | ||||
-rw-r--r-- | userspace/ncrypto_params.c | 58 |
2 files changed, 63 insertions, 0 deletions
diff --git a/userspace/ncrypto.h b/userspace/ncrypto.h index cc30f2f..2660dde 100644 --- a/userspace/ncrypto.h +++ b/userspace/ncrypto.h @@ -47,6 +47,11 @@ int ncr_key_params_init(ncr_key_params_t *key_params); void ncr_key_params_deinit(ncr_key_params_t key_params); int ncr_key_params_set_cipher_iv(ncr_key_params_t key_params, void* iv, unsigned int iv_size); int ncr_key_params_set_dh_pub(ncr_key_params_t params, void *pub, size_t pub_size); +int ncr_key_params_set_rsa_type(ncr_key_params_t params, ncr_rsa_type_t type); +int ncr_key_params_set_rsa_oaep_hash(ncr_key_params_t params, ncr_algorithm_t oaep_hash); +int ncr_key_params_set_rsa_sign_hash(ncr_key_params_t params, ncr_algorithm_t sign_hash); +int ncr_key_params_set_rsa_pss_salt(ncr_key_params_t params, unsigned int pss_salt); +int ncr_key_params_set_dsa_sign_hash(ncr_key_params_t params, ncr_algorithm_t sign_hash); int ncr_session_once_key_data(ncr_key_t key, ncr_key_params_t params, ncr_crypto_op_t op, ncr_algorithm_t algorithm, ncr_key_t input, void *output, size_t output_size); int ncr_session_once_direct_data(ncr_key_t key, ncr_key_params_t params, ncr_crypto_op_t op, ncr_algorithm_t algorithm, void *input, size_t input_size, void *output, size_t output_size); diff --git a/userspace/ncrypto_params.c b/userspace/ncrypto_params.c index 253664b..f5385f4 100644 --- a/userspace/ncrypto_params.c +++ b/userspace/ncrypto_params.c @@ -58,3 +58,61 @@ ncr_key_params_set_dh_pub(ncr_key_params_t params, void *pub, size_t pub_size) return 0; } +int +ncr_key_params_set_rsa_type(ncr_key_params_t params, ncr_rsa_type_t type) +{ + if (!params) { + errno = EINVAL; + return -1; + } + params->params.rsa.type = type; + return 0; +} + +int +ncr_key_params_set_rsa_oaep_hash(ncr_key_params_t params, + ncr_algorithm_t oaep_hash) +{ + if (!params) { + errno = EINVAL; + return -1; + } + params->params.rsa.oaep_hash = oaep_hash; + return 0; +} + +int +ncr_key_params_set_rsa_sign_hash(ncr_key_params_t params, + ncr_algorithm_t sign_hash) +{ + if (!params) { + errno = EINVAL; + return -1; + } + params->params.rsa.sign_hash = sign_hash; + return 0; +} + +int +ncr_key_params_set_rsa_pss_salt(ncr_key_params_t params, unsigned int pss_salt) +{ + if (!params) { + errno = EINVAL; + return -1; + } + params->params.rsa.pss_salt = pss_salt; + return 0; +} + +int +ncr_key_params_set_dsa_sign_hash(ncr_key_params_t params, + ncr_algorithm_t sign_hash) +{ + if (!params) { + errno = EINVAL; + return -1; + } + params->params.dsa.sign_hash = sign_hash; + return 0; +} + |