猿问

信任存储与密钥存储-使用keytools创建

信任存储与密钥存储-使用keytools创建

据我所知,密钥存储库通常只保存私钥/公钥,而信任存储库只保存公钥(并且表示要与您通信的受信任方的列表)。好吧,这是我的第一个假设,如果这不对,我可能开始的不是很好.

不过,我对如何/何时在使用keyTool时区分商店感兴趣。

到目前为止,我已经创建了一个keystore

keytool -import -alias bob -file bob.crt -keystore keystore.ks

创建我的keystore.ks文件。我回答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")设置后,我可以看到可信证书下的证书(但不能在keystore部分中看到)。我正在导入的特定证书只有一个公钥,我打算使用它通过SSL连接发送到Bob的东西(但最好还是留给另一个问题吧!)

如有任何指示或澄清,将不胜感激。KeyTool的输出是否与您导入的一样,以及它的公正约定,即一个是密钥存储库,另一个是信任存储库?使用SSL等是什么关系?


扬帆大鱼
浏览 539回答 3
3回答

湖上湖

密钥库和信任存储文件之间没有区别。两者都是专有JKS文件格式的文件。区别在于使用:据我所知,Java将只使用javax.net.ssl.trustStore若要在创建SSL连接时查找要信任的证书,请执行以下操作。钥匙也一样javax.net.ssl.keyStore..但从理论上讲,将同一个文件用于信任和密钥存储是可以的。
随时随地看视频慕课网APP

相关分类

Java
我要回答