summaryrefslogtreecommitdiff
path: root/lib/pkcs11_write.c
diff options
context:
space:
mode:
authorNikos Mavrogiannopoulos <nmav@redhat.com>2014-11-07 08:55:40 +0100
committerNikos Mavrogiannopoulos <nmav@redhat.com>2014-11-07 08:57:26 +0100
commit2ee532e5f988e0866950a90fe9f429075c2ad353 (patch)
treedb376732b6501d7f19e02a47bbd2ee901b0275cf /lib/pkcs11_write.c
parent52dacdc599683c736c4bd72b3b94cc825f41982b (diff)
downloadgnutls-2ee532e5f988e0866950a90fe9f429075c2ad353.tar.gz
pkcs11: support the CKA_EXTRACTABLE and CKA_NEVER_EXTRACTABLE flags
Diffstat (limited to 'lib/pkcs11_write.c')
-rw-r--r--lib/pkcs11_write.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/lib/pkcs11_write.c b/lib/pkcs11_write.c
index d1a19cf35c..5d6bf3a7a4 100644
--- a/lib/pkcs11_write.c
+++ b/lib/pkcs11_write.c
@@ -438,6 +438,18 @@ gnutls_pkcs11_copy_x509_privkey(const char *token_url,
a_val++;
}
+ if (flags & GNUTLS_PKCS11_OBJ_FLAG_MARK_EXTRACTABLE) {
+ a[a_val].type = CKA_EXTRACTABLE;
+ a[a_val].value = (void *) &tval;
+ a[a_val].value_len = sizeof(tval);
+ (a_val)++;
+ } else {
+ a[a_val].type = CKA_EXTRACTABLE;
+ a[a_val].value = (void *) &fval;
+ a[a_val].value_len = sizeof(fval);
+ (a_val)++;
+ }
+
if (label) {
a[a_val].type = CKA_LABEL;
a[a_val].value = (void *) label;