summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMiloslav Trmač <mitr@redhat.com>2010-08-06 01:55:25 +0200
committerMiloslav Trmač <mitr@redhat.com>2010-08-23 20:01:59 +0200
commit8776b83f4f8301b944fd2d511ca7ee4c09d318ab (patch)
tree175311bc12b5320e370bc197dc4398999dda5744
parent6404fb1b9aaa2b4a5d85bf5f9422f3179e772689 (diff)
downloadcryptodev-linux-8776b83f4f8301b944fd2d511ca7ee4c09d318ab.tar.gz
cryptodev-linux-8776b83f4f8301b944fd2d511ca7ee4c09d318ab.tar.xz
cryptodev-linux-8776b83f4f8301b944fd2d511ca7ee4c09d318ab.zip
Implement DH key params
New function ncr_key_params_set_dh_pub(), replacing ncr_key_params_set_dh_key().
-rw-r--r--userspace/ncrypto.h2
-rw-r--r--userspace/ncrypto_params.c11
2 files changed, 9 insertions, 4 deletions
diff --git a/userspace/ncrypto.h b/userspace/ncrypto.h
index 6f75de8..cc30f2f 100644
--- a/userspace/ncrypto.h
+++ b/userspace/ncrypto.h
@@ -46,7 +46,7 @@ int ncr_masterkey_set(void *key, size_t key_size);
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_key(ncr_key_params_t key_params, ncr_key_t dh_priv);
+int ncr_key_params_set_dh_pub(ncr_key_params_t params, void *pub, size_t pub_size);
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 d365432..253664b 100644
--- a/userspace/ncrypto_params.c
+++ b/userspace/ncrypto_params.c
@@ -47,9 +47,14 @@ ncr_key_params_set_cipher_iv(ncr_key_params_t params, void* iv, unsigned int iv_
}
int
-ncr_key_params_set_dh_key(ncr_key_params_t params, ncr_key_t dh_priv)
+ncr_key_params_set_dh_pub(ncr_key_params_t params, void *pub, size_t pub_size)
{
- errno = EINVAL;
- return -1;
+ if (!params || !pub || !pub_size) {
+ errno = EINVAL;
+ return -1;
+ }
+ params->params.dh.pub = pub;
+ params->params.dh.pub_size = pub_size;
+ return 0;
}