diff options
Diffstat (limited to 'examples/pk.c')
-rw-r--r-- | examples/pk.c | 20 |
1 files changed, 7 insertions, 13 deletions
diff --git a/examples/pk.c b/examples/pk.c index 6acbadf12b0..81c5b49263d 100644 --- a/examples/pk.c +++ b/examples/pk.c @@ -624,10 +624,8 @@ test_ncr_wrap_key3(int cfd) struct ncr_key_unwrap f; struct nlattr wrap_algo_head ALIGN_NL; char wrap_algo[sizeof(NCR_WALG_AES_RFC5649)] ALIGN_NL; - struct nlattr algo_head ALIGN_NL; - char algo[sizeof(ALG_RSA)] ALIGN_NL; - struct nlattr type_head ALIGN_NL; - uint32_t type ALIGN_NL; + struct nlattr flags_head ALIGN_NL; + uint32_t flags ALIGN_NL; } kunwrap; struct __attribute__((packed)) { struct ncr_key_generate_pair f; @@ -694,7 +692,7 @@ test_ncr_wrap_key3(int cfd) strcpy(kimport.algo, ALG_AES_CBC); kimport.flags_head.nla_len = NLA_HDRLEN + sizeof(kimport.flags); kimport.flags_head.nla_type = NCR_ATTR_KEY_FLAGS; - kimport.flags = NCR_KEY_FLAG_EXPORTABLE|NCR_KEY_FLAG_WRAPPING; + kimport.flags = NCR_KEY_FLAG_EXPORTABLE|NCR_KEY_FLAG_WRAPPING|NCR_KEY_FLAG_UNWRAPPING; if (ioctl(cfd, NCRIO_KEY_IMPORT, &kimport)) { fprintf(stderr, "Error: %s:%d\n", __func__, __LINE__); @@ -782,14 +780,10 @@ test_ncr_wrap_key3(int cfd) kunwrap.wrap_algo_head.nla_type = NCR_ATTR_WRAPPING_ALGORITHM; strcpy(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; - strcpy(kunwrap.algo, ALG_RSA); - kunwrap.type_head.nla_len - = NLA_HDRLEN + sizeof(kunwrap.type); - kunwrap.type_head.nla_type = NCR_ATTR_KEY_TYPE; - kunwrap.type = NCR_KEY_TYPE_PRIVATE; + kunwrap.flags_head.nla_len + = NLA_HDRLEN + sizeof(kunwrap.flags); + kunwrap.flags_head.nla_type = NCR_ATTR_KEY_FLAGS; + kunwrap.flags = 0; ret = ioctl(cfd, NCRIO_KEY_UNWRAP, &kunwrap); if (ret) { |