Ich verstehe, dass der Keystore normalerweise private / öffentliche Schlüssel und der Trust Store nur öffentliche Schlüssel enthält (und die Liste der vertrauenswürdigen Parteien darstellt, mit denen Sie kommunizieren möchten). Nun, das ist meine erste Annahme. Wenn das nicht stimmt, habe ich wahrscheinlich nicht sehr gut angefangen ...
Ich war jedoch daran interessiert zu verstehen, wie / wann Sie die Geschäfte bei der Verwendung von Keytool unterscheiden.
Bisher habe ich einen Keystore mit erstellt
keytool -import -alias bob -file bob.crt -keystore keystore.ks
Dadurch wird meine Datei keystore.ks erstellt. Ich beantworte yes
die Frage, ob ich Bob vertraue, aber es ist mir unklar, ob dadurch eine Keystore-Datei oder eine Truststore-Datei erstellt wurde. Ich kann meine Anwendung so einrichten, dass sie die Datei auch als solche verwendet.
-Djavax.net.ssl.keyStore=keystore.ks -Djavax.net.ssl.keyStorePassword=x
-Djavax.net.ssl.trustStore=keystore.ks -Djavax.net.ssl.trustStorePassword=x
und mit System.setProperty( "javax.net.debug", "ssl")
set kann ich das Zertifikat unter vertrauenswürdigen Zertifizierungen sehen (aber nicht im Abschnitt Keystore). Das bestimmte Zertifikat, das ich importiere, hat nur einen öffentlichen Schlüssel und ich beabsichtige, ihn zum Senden von Daten über eine SSL-Verbindung an Bob zu verwenden (aber vielleicht bleibt das für eine andere Frage am besten!).
Hinweise oder Klarstellungen wären sehr dankbar. Ist die Ausgabe von Keytool dieselbe, was auch immer Sie importieren, und die gerechte Konvention besagt, dass einer ein Keystore und der andere ein Trust Store ist? Wie ist die Beziehung bei der Verwendung von SSL usw.?