On 11/10/2010 11:37 AM, Andre Zepezauer wrote:
> Hello Douglas,
>
> you should check if NSS does support ECDSA. If it does, then it should
> verify the users certificate on its own. Calling a PKCS#11 provider for
> doing it, is some kind of abuse. (See quotation below)

I agree, but that is not what I am seeing.

>
> But if NSS tries to offload the verification to OpenSC, because it
> doesn't has support for ECDSA, then you are in trouble.

Yes it has some support, as it knows how to list the algorithm and its
parameters, as well as tell PKCS#11 to create the public key passing it
the CKA_EC_POINT.

> This is because
> the recipient of your signed e-mail also would need OpenSC for
> verification. Not practical I think.

Well I hope to find out in the next few days is it will try and use
PKCS#11 for verification of signatures too, or find out of any of the
Microsoft products can handle the e-mail too.

I also need to look at the PKCS#11 session to see if OpenSC somehow
indicated to NSS that it could do verification.

>
> PKCS#11 Section "6.2 Design goals":
> "Cryptoki was intended from the beginning to be an interface between
> applications and all kinds of portable cryptographic devices [...] It is
> not the goal of Cryptoki to be a generic interface to cryptographic
> operations or security services [...]"

Interesting, as Solaris 10 passes all its crypto through "Solaris Cryptographic
Framework" based on PKCS#11, so as to take advantage of any crypto hardware
if available.

http://docs.sun.com/app/docs/doc/816-4557/scf-1?l=en&a=view

>
> Regards
> Andre
>
> On Wed, 2010-11-10 at 10:56 -0600, Douglas E. Engert wrote:
>> Does OpenSC PKCS#11 support the creation of session objects?
>> Has anyone looked at doing this?
>>
>> I bring this up as I am testing EC mods to OpenSC using
>> Thunderbird to sign e-mail as a test. In my case, the user certificate
>> is using ECDSA with a named curve, and the test CA is also using
>> ECDSA to sign the user's certificate.
>>
>> Thunderbird 3.1.4 with NSS-3.12.x (x is at least 3) on Solaris 10
>> tries to create a session public key, where the key is the public
>> key of the CA. I think NSS is going to use this public key to verify
>> the signature of the user's certificate asking the OpenSC PKCS#11
>> ECDSA to do the verify. Depending on the card, this may have to be
>> done in software.
>>
>> See the attached edited PKCS11-SPY output, showing mechanisms,
>> open session, session info, and failed create object. Not shown
>> are pin/login, and retrieval of the user certificate.
>>
>> PKCS#11 2.20 says : Table 4 "R/O Public Session"
>> "The application has opened a read-only session. The application
>>    has read-only access to public token objects and read/write access
>>    to public session objects."
>>
>> I don't think NSS does this if the CA is using RSA to sign
>> the certificates, and I will try that next. (But eventually
>> some CA will start using ECDSA to sign certificates.)
>>
>> Even if the ECDSA verify was to be added to OpenSC PKCS11,
>> to be done in software, I would expect it might have to use
>> OpenSSL to do the verification.
>>
>> _______________________________________________
>> opensc-devel mailing list
>> opensc-devel@lists.opensc-project.org
>> http://www.opensc-project.org/mailman/listinfo/opensc-devel
>
>

-- 

  Douglas E. Engert  <deeng...@anl.gov>
  Argonne National Laboratory
  9700 South Cass Avenue
  Argonne, Illinois  60439
  (630) 252-5444
_______________________________________________
opensc-devel mailing list
opensc-devel@lists.opensc-project.org
http://www.opensc-project.org/mailman/listinfo/opensc-devel

Reply via email to