Sto cercando di configurare l'autenticazione client SSL in nginx. Ho creato una CA radice autofirmata. Usando quello, ho creato una CA secondaria. Ho usato questa CA secondaria per creare un certificato per un client. Ho concatenato la CA secondaria e la CA principale in un nuovo file. Ho verificato il certificato client come segue:
$ openssl verify -purpose sslclient -CAfile auth-root.crt testcert.crt
testcert.crt: OK
auth-root.crt è la CA secondaria e root concatendata; testcert.crt è il certificato client.
Ho indicato nginx con auth-root.crt usando ssl_client_certificate
.
Quando faccio una richiesta HTTP usando il certificato testcert.crt, nginx fallisce. Ho attivato i log di debug e posso vedere quanto segue:
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"