hello,

so close, yet so far....

i fixed it where the client is sending the it's certs over and the
handshake is complete.  but i have two problems:

1.  for different clients, i have different CA certs. so i load them all
up when the server starts up using:
     SSL_CTX_load_verify_locations(ssl_ctx, <CA cert location>,NULL)

and then when it is time for a renegotiation, i call:
SSL_set_client_CA_list(...)

with only the CA names that the particular client's certs are for.  but
even when the CA certs CN  and the client cert's issuer CN do not match,
the handshake completes successfully.  i'm i wrong in assuming that it
should fail?  or does openssl on the server side (which i am writing),
does not check to make sure the the cert and the CA cert match?

2.  Given the cert and CA certs, is there a nice and simple call, like
SSL_make_sure_certs_match_CA_certs(X509 *cert, STACK_OF(X509_NAME)
*ca_stack)?  that would really make my day.

thanks everyone for all there help on this questions, the past
questions, and the undoubtedly  future questions,
-=- adam grossman



On Wed, 2010-01-27 at 23:29 -0500, Adam Grossman wrote:
> i am trying to emulate something that mod_ssl does, and it used 0.9.7d.
> i verified that the same exact certs are working on another system.
> Also, the CA cert on the server has the correct CN.  to load the client
> CA i use:
> 
> list=SSL_load_client_CA_file(<path to CA cert>);
> SSL_set_client_CA_list(ssl, list); 
> 
> and then call the rest of the functions i described in my original
> message.
> 
> SSL_set_verify(ssl, SSL_VERIFY_PEER |
> SSL_VERIFY_FAIL_IF_NO_PEER_CERT ,NULL);
> SSL_renegotiate(ssl);
> SSL_do_handshake(ssl);
> ssl->state=SSL_ST_ACCEPT;
> SSL_do_handshake(ssl);
> 
> 
> could i be missing something or calling something incorrectly?
> 
> thanks,
> -=- adam grossman
> 
> On Wed, 2010-01-27 at 22:01 -0500, Brett Schoppert wrote:
> > Not sure if the problem I had it is the same as yours, but I meant 0.9.8k ( 
> > not 7k ).
> > 
> > I first verified my setup was working ( certs were correct, etc. ) by 
> > setting up client-side SSL for the whole VirtualHost once that worked, I 
> > changed it to be only for a specific location where it had to renegotiate 
> > and it failed ( until switching to 0.9.8k ).
> > 
> > I don't know what your server application does, but maybe you could do 
> > something similar where you could verify the everything without 
> > renegotiation ... just to narrow down that it is the renegotiation causing 
> > a problem and not the rest of the setup ?
> > 
> > 
> > -----Original Message-----
> > From: owner-openssl-us...@openssl.org 
> > [mailto:owner-openssl-us...@openssl.org] On Behalf Of Adam Grossman
> > Sent: Wednesday, January 27, 2010 9:37 PM
> > To: openssl-users@openssl.org
> > Subject: RE: renegotiation with client certificate
> > 
> > i just tried 0.9.7m, and to no avail.  i double checked my certs, i made
> > sure my CA cert on the server is correct, and i am still getting the
> > same error on the server and the browser is giving to "Peer does not
> > recognize and trust the CA that issued your certificate."
> > 
> > thanks,
> > -=- adam grossman
> > 
> > On Wed, 2010-01-27 at 17:53 -0500, Brett Schoppert wrote:
> > > I recently had the same issue that was resolved when I changed Apache to 
> > > use 0.9.7k.
> > > 
> > > -----Original Message-----
> > > From: owner-openssl-us...@openssl.org 
> > > [mailto:owner-openssl-us...@openssl.org] On Behalf Of Adam Grossman
> > > Sent: Wednesday, January 27, 2010 5:01 PM
> > > To: openssl-users@openssl.org
> > > Subject: renegotiation with client certificate
> > > 
> > > hello.
> > > 
> > > I am having trouble getting my server renegotiation working with client
> > > certificates.  Without certificates, it works fine.  The one thing is
> > > that the server initially does not need a client cert, but it does
> > > during renegotiation  (a requirement i have that is out of my hands).
> > > 
> > > i am using 0.9.7d.
> > > 
> > > The server talks to a web browser.  This is what i am doing (leaving out
> > > the error handling):
> > > 
> > > SSL_set_verify(ssl, SSL_VERIFY_PEER |SSL_VERIFY_FAIL_IF_NO_PEER_CERT ,
> > > NULL);
> > > SSL_renegotiate(ssl);
> > > SSL_do_handshake(ssl);
> > > ssl->state=SSL_ST_ACCEPT;
> > > SSL_do_handshake(ssl);
> > > 
> > > when it renegotiates, the browser says "The site requested you to
> > > identify yourself with a certificate".  but then the 2nd handshake gives
> > > the error:
> > > 
> > > 1780:error:140890B2:SSL routines:SSL3_GET_CLIENT_CERTIFICATE:no
> > > certificate returned:s3_srvr.c:2010:
> > > 
> > > i even looked at mod_ssl, and it seems to be doing the samething.  what
> > > am i missing?
> > > 
> > > thanks everyone once again,
> > > -=- adam grossman
> > > 
> > > ______________________________________________________________________
> > > OpenSSL Project                                 http://www.openssl.org
> > > User Support Mailing List                    openssl-users@openssl.org
> > > Automated List Manager                           majord...@openssl.org
> > > 
> > > ______________________________________________________________________
> > > OpenSSL Project                                 http://www.openssl.org
> > > User Support Mailing List                    openssl-users@openssl.org
> > > Automated List Manager                           majord...@openssl.org
> > 
> > 
> > ______________________________________________________________________
> > OpenSSL Project                                 http://www.openssl.org
> > User Support Mailing List                    openssl-users@openssl.org
> > Automated List Manager                           majord...@openssl.org
> > 
> > ______________________________________________________________________
> > OpenSSL Project                                 http://www.openssl.org
> > User Support Mailing List                    openssl-users@openssl.org
> > Automated List Manager                           majord...@openssl.org
> 
> 
> ______________________________________________________________________
> OpenSSL Project                                 http://www.openssl.org
> User Support Mailing List                    openssl-users@openssl.org
> Automated List Manager                           majord...@openssl.org


______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
User Support Mailing List                    openssl-users@openssl.org
Automated List Manager                           majord...@openssl.org

Reply via email to