Validieren von HTTPS-Clients mit Zertifikaten, die von anderen Zertifizierungsstellen als der Zertifizierungsstelle des Servers signiert wurden

Validieren von HTTPS-Clients mit Zertifikaten, die von anderen Zertifizierungsstellen als der Zertifizierungsstelle des Servers signiert wurden

Ich habe einen Apache-Webserver mit SSL, der ein von einer vertrauenswürdigen offiziellen Zertifizierungsstelle signiertes Serverzertifikat besitzt. Kann ich Apache SSL so konfigurieren, dass es Clients mit gültigen Zertifikaten akzeptiert, die von anderen Zertifizierungsstellen als der Zertifizierungsstelle signiert wurden, die das Serverzertifikat signiert hat?

Ich erhalte eine , ssl_error_unknown_ca_alertobwohl ich andere CAs in Apache konfiguriert habe und der Server ohne Fehler gestartet ist. Ich habe eine Datei erstellt, die das CA-Zertifikat der CA enthält, die das Serverzertifikat signiert hat, und die Zertifikate der anderen CAs der CAs, denen ich vertrauen möchte. Dann habe ich die SSLCertificateChainFileDirektive auf diese Datei gerichtet.

Ich verwende Apache 2.2.22

Bearbeiten:

Ich verwende
SSLCertificateFileden Verweis auf das Serverzertifikat
SSLCertificateKeyFile, den Verweis auf den Serverschlüssel,
SSLCertificateChainFileden Verweis auf die Zertifikatskette, die das Serverzertifikat signiert hat,
SSLCACertificateFileden Verweis auf eine Datei mit allen Zertifikatsketten, die ich akzeptieren möchte

SSLVerifyClient require
SSLVerifyDepth  1

Apache erkennt sie alle im Protokoll, wenn ich den Server neu starte, und es gibt keine Fehler. Trotzdem bekomme ich einen ssl_error_certificate_unknown_alertFehler. Ich habe auch überprüft, dass die Client-Zertifikatkette im SSLCACertificateFileTextvergleich in Meld vorhanden ist.

Antwort1

Habe herausgefunden, wo das Problem liegt. Das Zertifikat ist von einer Kette aus 3 CAs signiert und ich habe SSLVerifyDepth auf 1 gesetzt. Auf 10 gesetzt und es hat funktioniert.

Antwort2

Ich glaube, Sie möchten ein Verzeichnis mit den Zertifikaten, die Sie verwenden möchten. Möglicherweise müssen Sie SSL-Magie anwenden, um die symbolischen Links für die Zertifikate zu erstellen. Siehemod_ssl SSLCACertificatePath Richtige Verwendung oder Was ist der beste Weg, um mehrere akzeptable Client-Zertifikat-CAs zu handhabenfür die erforderlichen Befehle.

verwandte Informationen