summaryrefslogtreecommitdiffstats
path: root/examples
diff options
context:
space:
mode:
authorMiloslav Trmač <mitr@redhat.com>2010-08-16 16:18:07 +0200
committerMiloslav Trmač <mitr@redhat.com>2010-08-24 23:44:25 +0200
commit96ec7e16575010e4d48c47ade593ca91690c105b (patch)
tree61366a140136256e28165bd143ef1cc1811a7246 /examples
parent3ab6fc7d0d19f62b48ecef310249014192289613 (diff)
downloadcryptodev-linux-96ec7e16575010e4d48c47ade593ca91690c105b.tar.gz
cryptodev-linux-96ec7e16575010e4d48c47ade593ca91690c105b.tar.xz
cryptodev-linux-96ec7e16575010e4d48c47ade593ca91690c105b.zip
Convert *_KEY_UNWRAP
Diffstat (limited to 'examples')
-rw-r--r--examples/ncr.c26
-rw-r--r--examples/pk.c30
2 files changed, 41 insertions, 15 deletions
diff --git a/examples/ncr.c b/examples/ncr.c
index 7324c16..d4af05d 100644
--- a/examples/ncr.c
+++ b/examples/ncr.c
@@ -355,7 +355,13 @@ test_ncr_wrap_key(int cfd)
struct nlattr algo_head ALIGN_NL;
uint32_t algo ALIGN_NL;
} kwrap;
- struct ncr_key_wrap_st kunwrap;
+ struct __attribute__((packed)) {
+ struct ncr_key_unwrap f;
+ struct nlattr wrap_algo_head ALIGN_NL;
+ uint32_t wrap_algo ALIGN_NL;
+ struct nlattr algo_head ALIGN_NL;
+ uint32_t algo ALIGN_NL;
+ } kunwrap;
uint8_t data[WRAPPED_KEY_DATA_SIZE];
int data_size;
@@ -483,12 +489,18 @@ test_ncr_wrap_key(int cfd)
return 1;
}
- memset(&kunwrap, 0, sizeof(kunwrap));
- kunwrap.algorithm = NCR_WALG_AES_RFC3394;
- kunwrap.keytowrap = key2;
- kunwrap.key = key;
- kunwrap.io = data;
- kunwrap.io_size = data_size;
+ memset(&kunwrap.f, 0, sizeof(kunwrap.f));
+ kunwrap.f.input_size = sizeof(kunwrap);
+ kunwrap.f.wrapping_key = key;
+ kunwrap.f.dest_key = key2;
+ kunwrap.f.data = data;
+ kunwrap.f.data_size = data_size;
+ kunwrap.wrap_algo_head.nla_len = NLA_HDRLEN + sizeof(kunwrap.wrap_algo);
+ kunwrap.wrap_algo_head.nla_type = NCR_ATTR_WRAPPING_ALGORITHM;
+ kunwrap.wrap_algo = NCR_WALG_AES_RFC3394;
+ kunwrap.algo_head.nla_len = NLA_HDRLEN + sizeof(kunwrap.algo);
+ kunwrap.algo_head.nla_type = NCR_ATTR_ALGORITHM;
+ kunwrap.algo = NCR_ALG_AES_CBC;
if (ioctl(cfd, NCRIO_KEY_UNWRAP, &kunwrap)) {
perror("ioctl(NCRIO_KEY_UNWRAP)");
diff --git a/examples/pk.c b/examples/pk.c
index f2a8a68..ac95820 100644
--- a/examples/pk.c
+++ b/examples/pk.c
@@ -613,7 +613,13 @@ test_ncr_wrap_key3(int cfd)
struct nlattr algo_head ALIGN_NL;
uint32_t algo ALIGN_NL;
} kwrap;
- struct ncr_key_wrap_st kunwrap;
+ struct __attribute__((packed)) {
+ struct ncr_key_unwrap f;
+ struct nlattr wrap_algo_head ALIGN_NL;
+ uint32_t wrap_algo ALIGN_NL;
+ struct nlattr algo_head ALIGN_NL;
+ uint32_t algo ALIGN_NL;
+ } kunwrap;
struct __attribute__((packed)) {
struct ncr_key_generate_pair f;
struct nlattr algo_head ALIGN_NL;
@@ -753,13 +759,21 @@ test_ncr_wrap_key3(int cfd)
data_size = ret;
/* try unwrapping */
- memset(&kunwrap, 0, sizeof(kunwrap));
- kunwrap.algorithm = NCR_WALG_AES_RFC5649;
- kunwrap.wrapped_key_algorithm = NCR_ALG_RSA;
- kunwrap.keytowrap = privkey;
- kunwrap.key = key;
- kunwrap.io = data;
- kunwrap.io_size = data_size;
+ memset(&kunwrap.f, 0, sizeof(kunwrap.f));
+ kunwrap.f.input_size = sizeof(kunwrap);
+ kunwrap.f.wrapping_key = key;
+ kunwrap.f.dest_key = privkey;
+ kunwrap.f.data = data;
+ kunwrap.f.data_size = data_size;
+ kunwrap.wrap_algo_head.nla_len
+ = NLA_HDRLEN + sizeof(kunwrap.wrap_algo);
+ kunwrap.wrap_algo_head.nla_type
+ = NCR_ATTR_WRAPPING_ALGORITHM;
+ kunwrap.wrap_algo = NCR_WALG_AES_RFC5649;
+ kunwrap.algo_head.nla_len
+ = NLA_HDRLEN + sizeof(kunwrap.algo);
+ kunwrap.algo_head.nla_type = NCR_ATTR_ALGORITHM;
+ kunwrap.algo = NCR_ALG_RSA;
ret = ioctl(cfd, NCRIO_KEY_UNWRAP, &kunwrap);
if (ret) {