Ich habe Root-CA und Server-Zertifikat wie folgt erstellt:Blog von Didier Stevens. Mein Browser vertraut dem Zertifikat immer noch, auch nachdem das Serverzertifikat widerrufen wurde. Ich habe die Fehlermeldung „Zertifikat widerrufen“ für meine alte Zertifizierungsstelle und mein altes Zertifikat erhalten. Ich bin demselben Blog gefolgt, um eine neue Zertifizierungsstelle und ein neues Zertifikat zu erstellen, aber jetzt funktioniert es nicht.
Ich habe meine Testanwendung in IIS 10.0.10586.0 gehostet, meine Client-Browser sind Chrome 63.0.3239.132 und IE 11.1295.10586.0. Ich habe bestätigt, dass auf die CRL-Datei zugegriffen werden kann und die Überprüfung auf Zertifikatswiderruf in beiden Browsern aktiviert ist. Die CRL-Verifizierung findet jedoch immer noch nicht statt.
Antwort1
Der Widerruf eines Zertifikats ist ein Vorgang, der vom Browser/der Anwendung ausgeführt wird, der/die das Zertifikat in erster Linie verarbeitet. Wenn er/sie eine Verbindung mit der Anwendung herstellt und das Zertifikat erhält, prüft er/sie zuerst den allgemeinen Namen (oder SAN), um sicherzustellen, dass der Name des Servers mit dem Zertifikat übereinstimmt. Danach führt er/sie einige andere Prüfungen durch (die für diese Frage nicht relevant sind) und gelangt schließlich zur CRL-Prüfung.
Die CRL-Prüfung erfordert, dass die Anwendung den aufgelisteten Server kontaktiert, auf dem die CRL-Datei gehostet wird (oder den OCSP-Server), um zu überprüfen, ob das vorgelegte Zertifikat noch gültig ist. Dies bedeutet, dass Sie die CRL nicht nur ordnungsgemäß mit dem ausstellenden Zertifikat signieren müssen, sondern die CRL-Datei auch so hosten müssen, dass die Clients darauf zugreifen können. Wenn die CRL nicht ordnungsgemäß aktualisiert und signiert ist, schlägt die CRL-Prüfung fehl, sodass das Zertifikat noch gültig ist.
Haben Sie die CRL an einem Ort gehostet, auf den Clients zugreifen können, die die CRL zunächst überprüfen würden?