Client-SSL-Authentifizierung verursacht 403.7-Fehlermeldung vom IIS
Ich versuche, eine Verbindung zu einem web service (nicht unter meiner Kontrolle) konfiguriert ist zum authentifizieren von Benutzern über SSL-client-CERT. Ich habe ein gültiges Zertifikat im PKCS12-format mit dem client-Zertifikat und den zugehörigen privaten Schlüssel. Ausgestellt wird das Zertifikat von einer CA akzeptiert der web-service-provider.
Installieren des Zertifikats und versucht Zugriff auf den geschützten Bereich in verschiedenen Browsern gibt die folgenden Ergebnisse:
-
IE6 - Funktioniert einwandfrei und ich kann abrufen der WSDL -
-
IE7 - Fordert für das Zertifikat aber dann nicht mit einem 403.7 vom server
-
Firefox3 - Set zu Fragen, aber kein prompt und schlägt mit einem 403.7
-
Safari 4 - Zertifikat installiert ist, das im Schlüsselbund, aber keine Aufforderung und eine 403.7
Auch, versuchen, den Zugriff auf die web-service-programmatisch (Java) schlägt mit dem gleichen Fehler 403.7-code.
Seltsam, dass dies funktioniert im IE6, aber in keinem anderen browser, was bin ich? Muss ich den kompletten CA-Zertifikat-Kette in der PKCS12-Datei?
Jegliche Hilfe würde sehr geschätzt werden.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Das funktioniert wirklich! Wenn Sie verwirrt sind durch die -inkey und -Optionen, werden Sie den privaten Schlüssel und das Zertifikat aus der p12-Datei. Sie können konvertieren Sie die p12-Datei zum pem-format mit:
und verwenden Sie den obigen Befehl mit "-in-Datei.pem" nur.
Können, können Sie auch importieren Sie die Stamm-CA-Zertifikat in den vertrauenswürdigen CERT-store, hier ist die Beschreibung, wie das geht: http://gagravarr.org/writing/openssl-certs/others.shtml#ca-openssl, und dann müssen Sie nicht haben, um manuell kopieren Sie die Zertifikate. Nach der Installation des cert verwenden Sie den Befehl oben ohne "-CAfile Kette.pem".
Ok, habe diese arbeiten. Die Antwort ist ja, ich habe benötigen alle Vermittler-CA-CERT in die PKCS12-Datei. Ich verkettet alle Vermittler-CA-CERT plus das Root-CA-cert in die Datei "chain.pem" dann ausgeführt wird, den folgenden Befehl ein: