Nginx içinde ssl istemci kimlik doğrulaması kurmaya çalışıyorum. Kendinden imzalı bir kök CA oluşturdum. Bunu kullanarak bir alt CA oluşturdum. Bu alt CA'yı bir istemci için sertifika oluşturmak için kullandım. Alt CA'yı ve kök CA'yı yeni bir dosyaya birleştirdim. İstemci sertifikasını şu şekilde doğruladım:
$ openssl verify -purpose sslclient -CAfile auth-root.crt testcert.crt
testcert.crt: OK
auth-root.crt, birleştirilmiş alt ve kök CA'dır; testcert.crt istemci sertifikasıdır.
Ben agin-root.crt kullanarak nginx işaret etti ssl_client_certificate
.
Testcert.crt sertifikasını kullanarak bir HTTP isteği yaptığımda, nginx başarısız olur. Hata ayıklama günlüklerini açtım ve aşağıdakileri görebiliyorum:
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"