Hello,

it works fine when you specify the "sign" method. If you leave it with the 
default (auto) OpenSC tricks your code to think that it supports SignRecover 
and it fails.

OpenSC says that the private key supports SignRecover (CKA_SIGN_RECOVER) when 
you ask it (see function pkcs15_prkey_get_attribute in 
http://www.opensc.org/opensc/file/releases/opensc-0.9.6/src/pkcs11/framework-pkcs15.c),
 but the problem is that OpenSC itself doesn't implement the function 
C_SignRecover and C_SignRecoverInit.

The problem is clearly on OpenSC pkcs#11 implementation, but with the option 
--pkcs11-sign-mode you have included we can workarround it!

I agree to drop support for OpenSC. The PKCS#11 approach works well with OpenSC 
and it will broad the support for other PKCS#11-aware smartcards/libraries.

One suggestion. I have noticed that if you don't give the argument --askpass to 
OpenVPN it will not start (doesn't have the PIN to the smartcard), giving a bit 
confusing message:
"Cannot set PKCS#11 parameters 7-CKR_ARGUMENTS_BAD".

Can the code check wether there's a PIN specified by the user before calling 
pkcs11_openSession and give a message like "You need to specify a PIN to access 
the smartcard."?

Iván Casado Ruiz
SADIEL, S.A.



-----Mensaje original-----
De: openvpn-devel-ad...@lists.sourceforge.net
[mailto:openvpn-devel-ad...@lists.sourceforge.net]En nombre de Alon
Bar-Lev
Enviado el: lunes, 12 de septiembre de 2005 22:40
Para: openvpn-devel@lists.sourceforge.net
Asunto: [Openvpn-devel] openvpn - support PKCS#11 smartcards



Hello,

C. Ruiz, Ivan wrote:
>  
>  I only changed C_SignRecover to C_Sign and C_SignRecoverInit to C_SignInit 
> (pkcs11.c) and
> it worked for me with OpenSC. Can you test if it's OK for you with this minor 
> change?

Hmmm... It should be SignRecover... strange they don't support 
it... Anyway, please check the new patch... I've added a new 
argument:

--pkcs11-sign-mode mode
        auto (default) - try to find out which to use.
        recover - use sign recover.
        sign - use sign.

Please tell me if the default works.

>  
>  Apart from this i've tested that I can specify certs both by label and by id 
> <- OK!

I am very glad!!!

>  
>  Not been able to test under Windows as I don't have the compiler for this 
> platform.
>  

I hope someone will check it out...

So... Can we drop the request for OpenSC support and focus on 
PKCS#11?

Best Regards,
Alon Bar-Lev.

Reply via email to