diff options
author | Stef Walter <stef@memberwebs.com> | 2008-12-24 21:18:39 +0000 |
---|---|---|
committer | Stef Walter <stef@memberwebs.com> | 2008-12-24 21:18:39 +0000 |
commit | 8804d957de520b394b669e60b4cb1877b80778a2 (patch) | |
tree | 0533d7ea50e17f5a306ce0b3fda5d55d80365431 /src/key.c | |
parent | cdaffa87e8578503bc2f86fe1c0a3e000233666d (diff) |
Add generic crypto testing.
Diffstat (limited to 'src/key.c')
-rw-r--r-- | src/key.c | 15 |
1 files changed, 8 insertions, 7 deletions
@@ -760,13 +760,14 @@ p11t_key_login_context_specific (CK_SESSION_HANDLE session, CK_OBJECT_HANDLE key assert(session != CK_INVALID); assert(p11t_module_funcs); - attr.type = CKA_ALWAYS_AUTHENTICATE; - attr.ulValueLen = sizeof (always); - attr.pValue = &always; - - if (!p11t_object_get (session, key, &attr, 1) || !always) { - p11t_check_fail ("Key wants context specific login, but CKA_ALWAYS_AUTHENTICATE not set"); - return CKR_ATTRIBUTE_VALUE_INVALID; + if (key != CK_INVALID) { + attr.type = CKA_ALWAYS_AUTHENTICATE; + attr.ulValueLen = sizeof (always); + attr.pValue = &always; + if (!p11t_object_get (session, key, &attr, 1) || !always) { + p11t_check_fail ("Key wants context specific login, but CKA_ALWAYS_AUTHENTICATE not set"); + return CKR_ATTRIBUTE_VALUE_INVALID; + } } rv = (p11t_module_funcs->C_GetSessionInfo)(session, &info); |