Die Überprüfung des SSL-Client-Zertifikats schlägt in Nginx fehl


10

Ich versuche, die SSL-Client-Authentifizierung in Nginx einzurichten. Ich habe eine selbstsignierte Stammzertifizierungsstelle erstellt. Damit habe ich eine Unter-CA erstellt. Ich habe diese Unterzertifizierungsstelle verwendet, um ein Zertifikat für einen Client zu erstellen. Ich habe die Unterzertifizierungsstelle und die Stammzertifizierungsstelle in eine neue Datei verkettet. Ich habe das Client-Zertifikat wie folgt überprüft:

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

auth-root.crt ist die verkettete Unter- und Stammzertifizierungsstelle. testcert.crt ist das Client-Zertifikat.

Ich habe nginx mit auf auth-root.crt verwiesen ssl_client_certificate.

Wenn ich eine HTTP-Anfrage mit dem Zertifikat testcert.crt stelle, schlägt nginx fehl. Ich habe Debug-Protokolle aktiviert und kann Folgendes sehen:

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"

Antworten:


13

Sie müssen den ssl_verify_depthDirektivensatz mindestens verwenden, 2da Ihre Zertifikatkette zwei Hops erfordert. Für jede andere Unterzertifizierungsstelle zwischen dem Stammzertifikat und den Clientzertifikaten müssen Sie diese Anzahl um eins erhöhen.


2
Vielen Dank, dass Sie die Lösung geteilt haben. Vielleicht möchten Sie Ihre eigene Antwort als richtig markieren, wenn Sie eine Chance bekommen.
Pothi Kalimuthu
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.