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"
Shawn J. Goff
la source

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.

Shawn J. Goff
la source
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