Hi,
I use opensc 0.11.13 [gcc 4.4.5] with an Aladdin eToken PRO 64k on
Debian/Sid AMD_64.
For me it seems that the PKCS#11 module does not support the
CKA_DECRYPT, CKA_SIGN attributes when you create an object. That
is why each private key, which is created by opensc pkcs#11, has
the same usage, regardless of the template values: [0x4] = sign.
[..]
CK_ATTRIBUTE privkey_template[] = {
{CKA_DECRYPT, &_true, sizeof (_true)}
};
Whenever I used the pkcs#15 code directly, it works as expected.
I could not find any ticket or reports about the issue in the list
archive but in my opinion the correction of the problem would be simple:
--- framework-pkcs15.c.orig 2011-05-24 20:35:54.000000000 +0200
+++ framework-pkcs15.c 2011-05-24 20:35:47.000000000 +0200
@@ -1181,7 +1181,14 @@
case CKA_PRIME_1:
bn = &rsa->p; break;
case CKA_PRIME_2:
- bn = &rsa->q; break;
+ bn = &rsa->q; break;
+ case CKA_SIGN:
+ args.usage = SC_PKCS15_PRKEY_USAGE_SIGN;
+ break;
+ case CKA_DECRYPT:
+ args.usage = SC_PKCS15_PRKEY_USAGE_DECRYPT;
+ break;
+
default:
/* ignore unknown attrs, or flag error? */
continue;
If I missed a point and there is reason for this behavior, I would
be glad if somebody could shed some light on it.
Timo
--
"The more I think about language, the more it amazes me that people
ever understand each other at all." -Kurt Gödel
_______________________________________________
opensc-devel mailing list
[email protected]
http://www.opensc-project.org/mailman/listinfo/opensc-devel