diff options
author | Miloslav Trmač <mitr@redhat.com> | 2010-08-16 16:18:07 +0200 |
---|---|---|
committer | Miloslav Trmač <mitr@redhat.com> | 2010-08-24 23:44:25 +0200 |
commit | 96ec7e16575010e4d48c47ade593ca91690c105b (patch) | |
tree | 61366a140136256e28165bd143ef1cc1811a7246 /examples | |
parent | 3ab6fc7d0d19f62b48ecef310249014192289613 (diff) | |
download | cryptodev-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.c | 26 | ||||
-rw-r--r-- | examples/pk.c | 30 |
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) { |