Entiendo que el almacén de claves generalmente contendría claves privadas / públicas y el almacén de confianza solo las claves públicas (y representa la lista de partes de confianza con las que tiene la intención de comunicarse). Bueno, esa es mi primera suposición, así que si eso no es correcto, probablemente no haya comenzado muy bien ...
Sin embargo, estaba interesado en comprender cómo / cuándo distingue las tiendas cuando usa keytool.
Entonces, hasta ahora he creado un almacén de claves usando
keytool -import -alias bob -file bob.crt -keystore keystore.ks
que crea mi archivo keystore.ks. Respondo yes
a la pregunta ¿Confío en Bob pero no me queda claro si esto ha creado un archivo de almacén de claves o un archivo de almacén de confianza? Puedo configurar mi aplicación para usar el archivo como cualquiera.
-Djavax.net.ssl.keyStore=keystore.ks -Djavax.net.ssl.keyStorePassword=x
-Djavax.net.ssl.trustStore=keystore.ks -Djavax.net.ssl.trustStorePassword=x
y con System.setProperty( "javax.net.debug", "ssl")
set, puedo ver el certificado en certificaciones de confianza (pero no en la sección del almacén de claves). El certificado particular que estoy importando solo tiene una clave pública y tengo la intención de usarlo para enviar cosas a través de una conexión SSL a Bob (¡pero tal vez sea mejor dejarlo para otra pregunta!).
Cualquier sugerencia o aclaración sería muy apreciada. ¿La salida de keytool es la misma que importa y es solo una convención que dice que uno es un almacén de claves y el otro un almacén de confianza? ¿Cuál es la relación cuando se usa SSL, etc.?