Someone asked about getting the s_client app working to test the opensc engine 
for openssl 0.9.7b.  From what I can tell, s_client doesn't accept a -keyform 
argument and assumes that the key is in a file.  Any objections or 
recommendations if I attempt to change that as below?   The only real 
headache will be getting the engine function references into the right place.  
Can I use the SSL_CTX structure that's already being passed in for that?


Also, is there a way to load certificates through the engine interface?

Thanks,
Kevin Stefanik


----------  Forwarded Message  ----------

Subject: Re: [OpenSC-devel] opensc and https client authentication
Date: Wednesday 23 July 2003 06:41 pm
From: Kevin Stefanik <[EMAIL PROTECTED]>
To: David Mattes <[EMAIL PROTECTED]>, [EMAIL PROTECTED]

Okay, here goes:
The s_client app is currently hardwired to expect file names.  In addition, I
don't see how the ssl engine structure provides for getting certificates from
the key.

The changes to s_client app to take a -keyform switch and load the key from
the opensc engine should be doable.. it does require changing the
set_cert_stuff function (not widely used) to accept a flag indicating key
type (PEM file, engine, etc.) and changing the SSL_CTX_use_Privatekey_file to
look at something other than a file (the flag is already being handed in to
it).  Both of these appear do-able. 

The certificate would then need to be dumped to a file and referenced that
way, though.  Unless I'm missing some path through the engine interface that
would enable the loading of a certificate via the engine?  Very likely!

I'll try to get a bit more info from the openssl folks.

Kevin

On Wednesday 23 July 2003 04:19 pm, David Mattes wrote:
> hi,
>
> i'm trying to use opensc and openssl for https (secure web) client
> authentication.  i'm trying to test the connection using openssl's
> s_client command.   i can do other openssl tasks with the card (req) and
> freeswan client authentication (which reads the cert).  i have an opensc
> smartcard (cryptoflex 16k) with the pkcs15 structure on it:
>
> X.509 Certificate [Certificate]
>         Flags    : 2
>         Authority: no
>         Path     : 3F0050155501
>         ID       : 45
>
> Private RSA Key [Private Key]
>         Com. Flags  : D
>         Usage       : [0x4], sign
>         Access Flags: [0x0]
>         ModLength   : 1024
>         Key ref     : 0
>         Native      : yes
>         Path        : 3F0050154B010012
>         Auth ID     : 01
>         ID          : 45
>
> I try to start the s_client connection as follows:
>
> OpenSSL> engine dynamic -pre
> SO_PATH:/usr/local/lib/opensc/engine_opensc.so -pre ID:opensc -pre
> LIST_ADD:1 -pre LOAD
> (dynamic) Dynamic engine loading support
> [Success]: SO_PATH:/usr/local/lib/opensc/engine_opensc.so
> [Success]: ID:opensc
> [Success]: LIST_ADD:1
> [Success]: LOAD
> Loaded: (opensc) opensc engine
> OpenSSL> s_client -engine opensc -connect localhost:443 -cert 45 -key 45
> -state -debug
> engine "opensc" set.
> unable to get certificate from '45'
> 16422:error:02001002:system library:fopen:No such file or
> directory:bss_file.c:259:fopen('45','r')
> 16422:error:20074002:BIO routines:FILE_CTRL:system lib:bss_file.c:261:
> 16422:error:140AD002:SSL routines:SSL_CTX_use_certificate_file:system
> lib:ssl_rsa.c:513:
>
>
> can anybody tell me why the certificate can't be retrieved?
>
> thanks,
> david
>
> _______________________________________________
> OpenSC-devel mailing list
> [EMAIL PROTECTED]
> http://www.opensc.org/cgi-bin/mailman/listinfo/opensc-devel

-------------------------------------------------------

______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
Development Mailing List                       [EMAIL PROTECTED]
Automated List Manager                           [EMAIL PROTECTED]

Reply via email to