我知道密钥存储库通常保存私有/公共密钥,而信任存储库只存储公共密钥(并且表示您打算与之通信的受信任方的列表)。嗯,这是我的第一个假设,所以如果这不是正确的,我可能没有很好地开始……
虽然我有兴趣了解如何/当你使用keytool区分商店。
至此,我已经使用
keytool -import -alias bob -file bob.crt -keystore keystore.ks
它创建了我的密钥存储库。ks文件。我回答yes
的问题,我是否信任鲍勃,但我不清楚这是否创建了一个keystore文件或信任库文件?我可以设置我的应用程序使用该文件。
-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")
,我可以在受信任的证书下看到证书(但不在keystore部分下)。我正在导入的特定证书只有一个公钥,我打算使用它通过SSL连接向Bob发送内容(但这可能最好留给另一个问题!)。
任何指示或澄清将非常感激。keytool的输出是否与您导入的任何内容相同,只是约定说一个是密钥存储库,另一个是信任存储库?使用SSL等时是什么关系?