Herstellen einer SSL-Verbindung nur mit der Stammzertifizierungsstelle im Vertrauensspeicher

Herstellen einer SSL-Verbindung nur mit der Stammzertifizierungsstelle im Vertrauensspeicher

Ich habe eine SSL-Client/Server-Anwendung.

Mein SSL-Client hat nur eine Stammzertifizierungsstelle (nennen wir sie rootCA1), die in seinem Vertrauensspeicher konfiguriert ist.
Mein SSL-Server erstellt jedoch ein Zertifikat, das von einer Zwischenzertifizierungsstelle (nennen wir sie interCA1) signiert ist.
Das Zertifikat der Zwischenzertifizierungsstelle (nennen wir sie deviceCert) ist von rootCA1 (der der Client vertraut) signiert. Der SSL-Server erstellt die Zertifikate von interCA1 sowie rootCA1 zusammen mit deviceCert während SSL Hello.

Nun lehnt openssl eine solche Verbindung auf der Clientseite ab.

Openssl sollte in der Lage sein, die Vertrauenskette herzustellen, indem es sich Folgendes ansieht:
deviceCert--signed by-->interCA1--signed by-->rootCA1

Da es rootCA1 vertraut und die Vertrauenskette nach meinem Verständnis ersichtlich ist.

Warum schlägt es also fehl? Warum ist es erforderlich, Zwischenzertifizierungsstellen im Vertrauensspeicher des Clients mitzukonfigurieren?

Antwort1

Ich denke, der Grund für die Konfiguration aller Zertifikate der Zwischenzertifizierungsstellen ist folgender.

Nehmen wir der Argumentation halber an, dass es nur notwendig ist, nur das Zertifikat der Stammzertifizierungsstelle in der Vertrauenskette zu haben.
Der Client kann dann allen von der Stammzertifizierungsstelle signierten Zertifikaten sowie allen anderen Zwischenzertifizierungsstellen vertrauen, deren Zertifikat von der Stammzertifizierungsstelle signiert ist (oder von einer anderen Zwischenzertifizierungsstelle signiert ist, die ein von der Stammzertifizierungsstelle signiertes Zertifikat besitzt).

Wenn nun der private Schlüssel der Zwischenzertifizierungsstelle aus irgendeinem Grund kompromittiert wird, wäre dies ein Problem.

Durch die Konfiguration der Zwischenzertifizierungsstellen im Vertrauensspeicher erklärt der Client, dass er den von ihm signierten Zertifikaten vertraut und dass sein privater Schlüssel nicht kompromittiert ist.

Natürlich gibt es CRLs, aber das ist ein Unterthema

verwandte Informationen