La vérification du certificat client SSL échoue dans Nginx


10

J'essaie de configurer l'authentification client SSL dans nginx. J'ai créé une autorité de certification racine auto-signée. En utilisant cela, j'ai créé une sous-autorité de certification. J'ai utilisé cette sous-autorité de certification pour créer un certificat pour un client. J'ai concaténé la sous-autorité de certification et l'autorité de certification racine dans un nouveau fichier. J'ai vérifié le certificat client comme suit:

$ openssl verify -purpose sslclient -CAfile auth-root.crt testcert.crt
testcert.crt: OK

auth-root.crt est l'autorité de certification secondaire et racine concatendée; testcert.crt est le certificat client.

J'ai pointé nginx vers l'auth-root.crt en utilisant ssl_client_certificate.

Lorsque je fais une demande HTTP à l'aide du certificat testcert.crt, nginx échoue. J'ai activé les journaux de débogage et je peux voir ce qui suit:

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"

Réponses:


13

Vous devez utiliser la ssl_verify_depthdirective définie sur au moins 2car votre chaîne de certificats nécessite deux sauts. Pour chaque autre sous-autorité de certification entre les certificats racine et client, vous devez augmenter ce nombre de un.


2
Merci d'avoir partager la solution. Vous voudrez peut-être marquer votre propre réponse comme correcte, lorsque vous en aurez l'occasion.
Pothi Kalimuthu
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.