SSL client Authentication

Hi !!

I am using nginx as reverse proxy with HTTPS on both client side as well
as
server side . My ssl configuration looks like below :-

          ssl_protocols        SSLv3 TLSv1 TLSv1.1 TLSv1.2;
          ssl_ciphers          ALL:!MD5:!ADH:!DH;
          ssl_prefer_server_ciphers on;
          keepalive_timeout    60;
          ssl_session_cache    shared:SSL:1m;
          ssl_session_timeout  10m;

   ### Mutual_Authentication parameters ###
         ssl_verify_client on ;
         ssl_verify_depth 1 ;
         ssl_client_certificate 

/usr/local/ipcs/cert/ca/NewCA_Cert.pem
;

The client certificate is a self signed certificate

Here when I send a HTTPS request to nginx .

My client receives a 400 bad request with the following error msg :

“client sent no required SSL certificate while reading client request
headers”

However I verified using wireshark that the client is sending the
certificate , same as the one given in ssl_client_certificate directive.

Could anyone please let me know if there is anything wrong in the
configuration or nginx doesn’t accept non CA certificate.

Thanks and Regards

Shobhit

Posted at Nginx Forum:

On 5 August 2014 02:49, Shobhit M. [email protected] wrote:

However I verified using wireshark that the client is sending the
certificate , same as the one given in ssl_client_certificate directive.

But that’s not the certificate that Nginx is expecting, it expects the
client to send a certificate that has been signed by the
ssl_client_certificate.

You can use the openssl command line tools to verify that your client’s
cert is signed correctly:

openssl verify -verbose -CAfile NewCA_Cert.pem client_to_verify.crt

Cheers,
Nicholas Sherlock