Hi,
regarding to our problem with accessing multiple PIN protected
storages with pkcs11, we investigated the problem.
It seems that the keycache may get entries, with an invalid length
arguments.
Problem that has been solved with the attached patch:
Prerequisite: 2 PIN protected areas on CryptoToken ( We used the
Alladin eToken32 )
If you have logged into PIN1 and closed the session, and immediately
log into PIN2, creating Objects may fail with different error
messages. ( Internal OpenSC Error / Free space too small etc ... )
Index: opensc-0.11.9/src/pkcs15init/keycache.c
===================================================================
--- opensc-0.11.9/src/pkcs15init/keycache.c (revision 21)
+++ opensc-0.11.9/src/pkcs15init/keycache.c (working copy)
@@ -264,6 +264,10 @@
s = new_entry(path, SC_AC_CHV, ref);
if (s == NULL)
return SC_ERROR_OUT_OF_MEMORY;
+
+ s->len = sc_keycache_get_key(path, SC_AC_CHV, -1,
s->value,
MAX_SECRET);
+ if(s->len < 0)
+ return SC_ERROR_OBJECT_NOT_FOUND;
}
/* Set the pin name */
_______________________________________________
opensc-devel mailing list
[email protected]
http://www.opensc-project.org/mailman/listinfo/opensc-devel