Comprendo che il keystore di solito conterrà le chiavi private / pubbliche e il trust store solo le chiavi pubbliche (e rappresenta l'elenco delle parti fidate con cui si intende comunicare). Bene, questa è la mia prima ipotesi, quindi se ciò non è corretto, probabilmente non ho iniziato molto bene ...
Mi interessava però capire come / quando si distinguono i negozi quando si usa keytool.
Quindi, finora ho creato un keystore usando
keytool -import -alias bob -file bob.crt -keystore keystore.ks
che crea il mio file keystore.ks. Rispondo yes
alla domanda, mi fido di bob ma non mi è chiaro se questo ha creato un file keystore o un file truststore? Posso impostare la mia applicazione per utilizzare il file come entrambi.
-Djavax.net.ssl.keyStore=keystore.ks -Djavax.net.ssl.keyStorePassword=x
-Djavax.net.ssl.trustStore=keystore.ks -Djavax.net.ssl.trustStorePassword=x
e con System.setProperty( "javax.net.debug", "ssl")
set, posso vedere il certificato sotto certificazioni attendibili (ma non nella sezione keystore). Il particolare certificato che sto importando ha solo una chiave pubblica e intendo usarlo per inviare roba su una connessione SSL a Bob (ma forse è meglio lasciarla per un'altra domanda!).
Qualsiasi suggerimento o chiarimento sarebbe molto apprezzato. L'output di keytool è lo stesso qualunque cosa importiate e la sua giusta convenzione che dice che uno è un keystore e l'altro un negozio di fiducia? Qual è la relazione quando si utilizza SSL ecc?