Clients%20g%C3%BCltigen%2C%20signierten%20Zertifikaten%20manchmal%20nicht%3F.png)
Dies ist eine eher kanonische Frage ... Ich hoffe, das ist okay.
In meiner Anstellung behebe ich häufig Probleme, wenn ein auf einem Linux-Server laufender Client (normalerweise eine Java-Anwendung) einem gültigen, signierten Zertifikat nicht vertraut – einem Zertifikat, dem Browser vertrauen. Unsere übliche schnelle Lösung besteht darin, das Zertifikat zum Java-Cacerts-Truststore hinzuzufügen, aber ich verstehe nicht, warum das nötig ist.
Meines Wissens gibt es zwei Möglichkeiten:
- Die Serverseite sendet nicht die vollständige Kette (Endentitätszertifikat + Zwischenzertifikate) in der richtigen Reihenfolge UND der Client vertraut den Zwischenzertifikaten nicht (möglicherweise, weil sie zu alt sind).
- Der Client-Truststore enthält nicht das Stammzertifikat, das als Vertrauensanker verwendet werden kann (möglicherweise, weil es zu alt ist).
Ist das richtig? Wenn ja, dann gibt es folgende alternative Möglichkeiten, das Vertrauen in das Endentitätszertifikat zu erzwingen:
- Konfigurieren Sie die Serveranwendung so, dass die vollständige Kette gesendet wird.
- Aktualisieren Sie den Client (z. B. Java) auf eine neuere Version. In meinem Fall ist die verwendbare Hauptversion von Java normalerweise durch Softwarevoraussetzungen eingeschränkt, aber vielleicht enthält jede Nebenversion einen aktualisierten Trust Store?
Alle klärenden Gedanken sind willkommen.