aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--pkcs11.c2
-rw-r--r--py11/__init__.py6
2 files changed, 6 insertions, 2 deletions
diff --git a/pkcs11.c b/pkcs11.c
index 83d0ed4..cfd14da 100644
--- a/pkcs11.c
+++ b/pkcs11.c
@@ -1686,8 +1686,6 @@ static int psnprintf(void *buffer_, size_t size, const char *format, ...)
/*
* Template checking and key generation.
- *
- * The checking code needs refactoring to support C_CreateObject().
*/
/*
diff --git a/py11/__init__.py b/py11/__init__.py
index 204c897..fa6e0f5 100644
--- a/py11/__init__.py
+++ b/py11/__init__.py
@@ -116,6 +116,12 @@ class PKCS11 (object):
def C_Verify(self, session, data, signature):
self.so.C_Verify(session, data, len(data), signature, len(signature))
+ def C_CreateObject(self, session, template):
+ template = self.adb.to_ctypes(template)
+ handle = CK_OBJECT_HANDLE()
+ self.so.C_CreateObject(session, template, len(template), byref(handle))
+ return handle.value
+
__all__ = ["PKCS11"]
__all__.extend(name for name in globals()
if name.startswith("CK")