Estoy tratando de configurar la autenticación del cliente SSL en nginx. Creé una CA raíz autofirmada. Usando eso, creé una sub-CA. Usé esta sub-CA para crear un certificado para un cliente. Concatenaba la CA secundaria y la CA raíz en un nuevo archivo. Verifiqué el certificado del cliente de la siguiente manera:
$ openssl verify -purpose sslclient -CAfile auth-root.crt testcert.crt
testcert.crt: OK
auth-root.crt es la CA concatenada sub y root; testcert.crt es el certificado del cliente.
Apunté nginx al auth-root.crt usando ssl_client_certificate
.
Cuando hago una solicitud HTTP usando el certificado testcert.crt, nginx falla. Encendí los registros de depuración y puedo ver lo siguiente:
2012/06/21 22:58:47 [debug] 8901#0: *2 verify:0, error:2, depth:1, subject:"/C=US/ST=Florida/L=Tampa/O=Test org/OU=Test OU/CN=AuthCerts TestCA",issuer: "/C=US/ST=Florida/L=tampa/O=Test org/OU=Test OU/CN=Root TestCA"
2012/06/21 22:58:47 [debug] 8901#0: *2 verify:0, error:27, depth:1, subject:"/C=US/ST=Florida/L=Tampa/O=Test org/OU=Test OU/CN=AuthCerts TestCA",issuer: "/C=US/ST=Florida/L=tampa/O=Test org/OU=Test OU/CN=Root TestCA"
2012/06/21 22:58:47 [debug] 8901#0: *2 verify:1, error:27, depth:0, subject:"/C=US/ST=Florida/L=Tampa/O=Accelerated Concepts/OU=NetBridge/CN=030202",issuer: "/C=US/ST=Florida/L=Tampa/O=Test org/OU=Test OU/CN=AuthCerts TestCA"