Ich habe mit Sicherheit in Java und Tomcat gespielt und kam zu dem Punkt, an dem ich neugierig war, welcher Keystore / Truststore am Ende von der JVM geladen wurde. Obwohl ich meinen eigenen Keystore erstellt hatte und in der Tomcat-Konfiguration sowohl als Keystore als auch als Trustore verwendet wurde, war die Standard-cacerts-Datei als Truststore geladen (als Keystore wurde meine Datei korrekt verwendet).
Ich habe versucht, den Namen der Datei zu erhalten, die JVM lädt, aber ich habe die Lösung nicht gefunden. Meine Idee war, System.getProperty ("javax.net.ssl.keyStore") zu bekommen, aber das gab mir null. Ich habe versucht, dies sowohl in Tomcat's server.xml via Connector als auch als Kommandozeilenparameter -Djavax.net.ssl.keyStore="file" einzustellen. Ich bin sicher, dass der Befehlszeilenparameter korrekt angegeben wurde, da ich JMX-Parameter an derselben Stelle setze.
br, Martin
Sie werden nicht unbedingt in der Lage sein, genau das zu bekommen, was Sie vom Dateinamen selbst des Typs erwarten, und die Einstellung keystore
im Konnektor hat absolut keine Auswirkung auf die Systemeigenschaft.
Darüber hinaus ist der Schlüsselspeicher, unabhängig davon, ob er aus der javax.net.ssl.keyStore
-Eigenschaft angegeben oder explizit instanziiert wurde, nur ein Teil des Setups von KeyManager
und SSLContext
. (Standardmäßig verwendet Apache Tomcat Dateien und einen relativ einfachen Lademechanismus, aber es ist auch möglich, dies mit Tomcat SSLImplementation
anzupassen.)
Wenn Sie wirklich sehen wollen, was geladen wird, würde ich mir die JSSE-Debugging-Flags , genauer gesagt etwa so:
BEARBEITEN:
Ich sollte hinzufügen, dass es im Allgemeinen keinen Standard-Keystore gibt (außerhalb des Tomcat-Kontextes), sondern nur einen Standard-Truststore. Tomcat's JSSEImplementation
verwendet standardmäßig System.getProperty("user.home") + "/.keystore"
.
Sind Sie auf Tomcat 6?
Ich habe versucht, dies in catalina.bat als
zu setzen %Vor% und es spiegelt sich in meinem Code wider, der als System.getProperty("javax.net.ssl.keyStore")
Auch zu Ihrer Information gab es ein Bugzilla auf anderem SSL Attribute werden ignoriert, was in 6.0.16 behoben wurde. keyStore ist dort nicht speziell erwähnt, aber meine Version ist 6.0.20 und es funktioniert