Wenn ich security dump-trust-settings -d auf meinem MacBook ausführe, werden einige unternehmensspezifische Zertifikate angezeigt, denen Javas TrustManager beim Erstellen von SSL/TLS-Verbindungen zu internen Unternehmensservern vertrauen soll. Ich kann dafür sorgen, dass dies funktioniert, indem ich eine Java-Befehlszeileneigenschaft festlege:
Code: Select all
-Djavax.net.ssl.trustStoreType=KeychainStore
Durch Ausführen von security dump-trust-settings -s werden alle standardmäßigen vertrauenswürdigen Roots angezeigt, die es Java ermöglichen, SSL/TLS-Verbindungen zu Internetservern einzurichten. Ich kann dafür sorgen, dass dies funktioniert, indem ich die Befehlszeileneigenschaft festlege, solange ich Java 23 oder höher verwende:
Code: Select all
-Djavax.net.ssl.trustStoreType=KeychainStore-ROOT
Was jedoch wirklich erforderlich ist, ist, den Zertifikaten beider Schlüsselbunde zu vertrauen, damit die Software bei Bedarf Verbindungen sowohl zu unternehmensinternen Servern als auch zu externen Internetservern herstellen kann. Es scheint keinen offensichtlichen Weg zu geben, dies zu erreichen, ohne einen TrustManager im Code zu konfigurieren.
Ich möchte damit in der Java-Laufzeitkonfiguration umgehen können, damit ich bereits vorhandene Software ausführen kann. Ist dies ein Versehen in der Apple KeychainStore-Bestimmung? Oder gibt es einen Mechanismus, den ich nicht finden kann, um beiden Shops vertrauenswürdig zu machen?