Thank you, that did the trick! Such a beginners mistake on my part :)  

cheers,
Tom


On Saturday, April 13, 2013 at 7:25 AM, Baptiste wrote:

> ---------- Forwarded message ----------
> From: Baptiste <[email protected] (mailto:[email protected])>
> Date: Sat, Apr 13, 2013 at 4:23 PM
> Subject: Re: Can't get client side certificate to work (repost)
> To: Lukas Tribus <[email protected] (mailto:[email protected])>
> Cc: Thomas Dudziak <[email protected] (mailto:[email protected])>, 
> "[email protected] (mailto:[email protected])"
> <[email protected] (mailto:[email protected])>
>  
>  
> Hi Thomas,
>  
> I could reproduce the issue and I could also find the fix.
> Your CA, server and client certificate can't have the same CN!
>  
> Please update your certificate generation script like below:
> ===========
>  
> export SUBJECT_CA='/C=US/ST=California/L=San Francisco/CN=CA'
> export SUBJECT_SERVER='/C=US/ST=California/L=San Francisco/CN=www.example.com 
> (http://www.example.com)'
> export SUBJECT_CLIENT1='/C=US/ST=California/L=San Francisco/CN=client1'
>  
> # certificate authority creation
> openssl genrsa -out ca.key 4096
> openssl req -new -x509 -days 365 -key ca.key -out ca.crt -subj "$SUBJECT_CA"
>  
> # server certificate creation
> openssl genrsa -out server.key 1024
> openssl req -new -key server.key -out server.csr -subj "$SUBJECT_SERVER"
> openssl x509 -req -days 365 -in server.csr -CA ca.crt -CAkey ca.key
> -set_serial 01 -out server.crt
>  
> # client certificate creation
> openssl genrsa -out client.key 1024
> openssl req -new -key client.key -out client.csr -subj "$SUBJECT_CLIENT1"
> openssl x509 -req -days 365 -in client.csr -CA ca.crt -CAkey ca.key
> -set_serial 02 -out client.crt
>  
> cat server.crt server.key > server.pem
> sudo cp server.pem /etc/haproxy/server.pem
> sudo cp ca.crt /etc/haproxy/ca.crt
> ================
>  
> And it will work as expected:
> ================
> curl -vk --key client.key --cert client.crt https://localhost:4443
> * About to connect() to localhost port 4443 (#0)
> * Trying ::1... Connexion refusée
> * Trying 127.0.0.1... connected
> * Connected to localhost (127.0.0.1) port 4443 (#0)
> * successfully set certificate verify locations:
> * CAfile: none
> CApath: /etc/ssl/certs
> * SSLv3, TLS handshake, Client hello (1):
> * SSLv3, TLS handshake, Server hello (2):
> * SSLv3, TLS handshake, CERT (11):
> * SSLv3, TLS handshake, Request CERT (13):
> * SSLv3, TLS handshake, Server finished (14):
> * SSLv3, TLS handshake, CERT (11):
> * SSLv3, TLS handshake, Client key exchange (16):
> * SSLv3, TLS handshake, CERT verify (15):
> * SSLv3, TLS change cipher, Client hello (1):
> * SSLv3, TLS handshake, Finished (20):
> * SSLv3, TLS change cipher, Client hello (1):
> * SSLv3, TLS handshake, Finished (20):
> * SSL connection using AES256-SHA
> * Server certificate:
> * subject: C=AU; ST=Some-State; O=Internet Widgits Pty Ltd;
> CN=www.server.com (http://www.server.com)
> * start date: 2013-04-13 14:16:56 GMT
> * expire date: 2014-04-13 14:16:56 GMT
> * common name: www.server.com (http://www.server.com) (does not match 
> 'localhost')
> * issuer: C=AU; ST=Some-State; O=Internet Widgits Pty Ltd; CN=CA
> * SSL certificate verify result: self signed certificate in
> certificate chain (19), continuing anyway.
> > GET / HTTP/1.1
> > User-Agent: curl/7.21.0 (x86_64-pc-linux-gnu) libcurl/7.21.0 OpenSSL/0.9.8o 
> > zlib/1.2.3.4 libidn/1.15 libssh2/1.2.6
> > Host: localhost:4443
> > Accept: */*
>  
>  
> * HTTP 1.0, assume close after body
> < HTTP/1.0 503 Service Unavailable
> < Cache-Control: no-cache
> < Connection: close
> < Content-Type: text/html
> <
> <html><body><h1>503 Service Unavailable</h1>
> No server is available to handle this request.
> </body></html>
> * SSLv3, TLS alert, Client hello (1):
> * Closing connection #0
> * SSLv3, TLS alert, Client hello (1):
> ==================
>  
>  
>  
> Baptiste
>  
>  
>  
>  
> On Sat, Apr 13, 2013 at 9:20 AM, Baptiste <[email protected] 
> (mailto:[email protected])> wrote:
> > Hi Tom,
> >  
> > Sorry I did not have any time to answer you either on the blog or on
> > the ML. I'm very busy at works currently.
> > I'll have a look at your issue on Sunday and hopefully I'll find out the 
> > issue.
> > That said, please give a try to Lukas advice :)
> >  
> > Baptiste
> >  
> > On Fri, Apr 12, 2013 at 8:15 PM, Lukas Tribus <[email protected] 
> > (mailto:[email protected])> wrote:
> > > Hi Thomas,
> > >  
> > >  
> > >  
> > > > I'm trying to follow this blog post: 
> > > > http://blog.exceliance.fr/2012/10/03/ssl-client-certificate-management-at-application-level/,
> > > >  but I can't get the client certificate to work with 1.5dev18.
> > >  
> > >  
> > > Could you try a few older releases, specifically dev12, 13 and 14 (which 
> > > is around the time that blog post was written).
> > >  
> > > I did not play with client side certificates yet, so I'm not sure how it 
> > > works exactly, but testing older releases will help to understand whether 
> > > this is a regression in haproxy or if we need to focus on things like 
> > > certificate issues, etc.
> > >  
> > >  
> > > Cheers,
> > > Lukas
> >  
>  




Reply via email to