Meine Anwendung erfordert die Clientauthentifizierung für eine bestimmte URL. Nach erfolgreicher Clientauthentifizierung führt die Anwendung selbst eine Überprüfung des Clientzertifikats durch (mithilfe des Filters feature x509). Ich wollte Tomcat so konfigurieren, dass die Client-Authentifizierung (clientAuth = true) für die spezifische URL erzwungen wird, aber basierend auf diesem Post scheint es, dass ich dies nicht nur mit tomcat - Tomcat für die Client-Authentifizierung nur für bestimmte URL-Muster konfigurieren .
Meine Frage ist, wenn ich clientAuth = will, wird folgendes sein, wenn der Server ein Zertifikat anfordert:
Gibt es eine Sicherheitslücke, die ich möglicherweise mit dieser Konfiguration von want + security filter vermisse? Ich denke, die Frage ist - wenn ein Zertifikat schließlich vom Gerät an den Server übergeben wird, wird der Server es immer validieren (nicht abgelaufen, vertrauenswürdig usw.), auch wenn clientAuth = will, und es dem Client nicht erlauben weiterzumachen, wenn das Zertifikat ist ungültig? Der Fall, in dem kein Zertifikat übergeben wird, wird vom Sicherheitsfilter abgedeckt, der überprüft, ob das Zertifikat nicht null ist.
Danke!
Ihre Annahmen in 1. und 2. sind richtig. Tomcat lässt keine nicht vertrauenswürdigen oder ungültigen Zertifikate für Ihre Anwendung zu. Wenn Sie ein Null-Zertifikat erhalten, können Sie davon ausgehen, dass entweder kein Zertifikat übergeben wurde oder ein nicht vertrauenswürdiges / ungültiges Zertifikat übergeben wurde.
An dem Projekt, an dem ich arbeite, haben wir die gleiche Anforderung wie Sie: Client-Zertifikate nur für bestimmte URLs. Wir haben durch Experimente herausgefunden, wie "clientAuth = will" funktioniert.
Tags und Links authentication tomcat client