我知道密钥存储库通常会保存私钥/公钥,而信任存储库只保存公钥(并表示您打算与之通信的受信任方的列表).这是我的第一个假设,如果这不正确,我可能还没有很好的开始...
I was interested though in understanding how / when you distinguish the stores when using keytool.
到目前为止,我已经使用
keytool -import -alias bob -file bob.crt -keystore keystore.ks
这就创建了我的密钥库.ks文件.我对我是否信任bob这个问题回答yes
,但我不清楚这是否创建了密钥库文件或信任库文件?我可以将我的应用程序设置为使用该文件.
-Djavax.net.ssl.keyStore=keystore.ks -Djavax.net.ssl.keyStorePassword=x
-Djavax.net.ssl.trustStore=keystore.ks -Djavax.net.ssl.trustStorePassword=x
设置为System.setProperty( "javax.net.debug", "ssl")
后,我可以在Trusted Certiments下(但不在KeyStore部分下)看到证书.我要导入的特定证书只有一个公钥,我打算使用它通过SSL连接将内容发送给Bob(但这最好留给另一个问题!)
如有任何提示或澄清,将不胜感激.keytool的输出是否与您导入的内容相同,以及它的唯一约定,即一个是密钥库,另一个是信任存储?使用SSL等时有什么关系?