So the patch that I needed to apply to make it work (which is still required)
is this:
--- p11_object.c.orig 2008-05-31 09:24:52.000000000 -0700
+++ p11_object.c 2010-02-23 09:18:42.000000000 -0800
@@ -378,11 +378,28 @@
}
else
{
+ if (pTemplate[i].type == 0x103) {
+ log_Log(LOG_LOW, "Got expected error, faking a 103
attribute (TRUE)");
+ pTemplate[i].ulValueLen = (CK_ULONG)1;
+ if (pTemplate[i].pValue != 0) {
+ ((char*)(pTemplate[i].pValue))[0] = 1;
+ }
+ rv = CKR_OK;
+ } else if (pTemplate[i].type == 0x162) {
+ log_Log(LOG_LOW, "Got expected error, faking a 162
attribute (FALSE)");
+ pTemplate[i].ulValueLen = (CK_ULONG)1;
+ if (pTemplate[i].pValue != 0) {
+ ((char*)(pTemplate[i].pValue))[0] = 0;
+ }
+ rv = CKR_OK;
+ } else
+ {
pTemplate[i].ulValueLen = (CK_ULONG)-1;
perm_rv = rv;
rv = CKR_OK;
}
}
+ }
if ((rv == CKR_OK) && (perm_rv != CKR_OK))
rv = perm_rv;
I don't say that's the best solution to the problem, but it is necessary for
any activities that use a private key using the Sun PKCS11 provider configured
to use libmusclepkcs11. The better solution, no doubt, would be to insure that
private keys actually *have* those attributes so that libmusclepkcs11 can find
them.
It's also unclear to me why jarsigner only works with -sigalg specified. Even
if I specify md5withrsa (which is supposed to be jarsigner's default), it
*works*, but without any sigalg argument, it fails.
On Feb 23, 2010, at 1:39 AM, Nick Sayer wrote:
> Eureka.
>
> Just as I was about to give up, I wrote some sample code that signed a blob
> of crap with the private key and verified it against the cert. And it worked.
> So I wondered if the issue had something to do with the choice of signature
> algorithms.
>
> And sure enough
>
> jarsigner -sigalg sha256withrsa -storetype pkcs11 gpj.jar signer
>
> works.
>
> And jarsigner -verify gpj.jar also works.
>
> Unless there is some reason why such a signature would not be acceptable for
> things like webstart, I think that means that I could happily put a code
> signing cert and key on a smart card and leave it sitting on my desk except
> when I wanted to use it. Which is nice and secure.
>
>
>
> _______________________________________________
> Muscle mailing list
> [email protected]
> http://lists.drizzle.com/mailman/listinfo/muscle
_______________________________________________
Muscle mailing list
[email protected]
http://lists.drizzle.com/mailman/listinfo/muscle