TrustStore用于存储来自认证机构(CA)的证书,以验证服务器在SSL连接中提交的证书。而Keystore用于存储私钥和身份证书,特定的程序应该向双方(服务器或客户端)出示这些证书进行验证。这就得出结论,它们是相互对立的。用通俗的语言来说,我们可以直接得出结论:在一个认证中,trustStore存放识别他人的身份证书,而keyStore存放持有我们的身份证书。

在java和编程语言中,每当我们试图与第三方应用程序进行通信时,就会用到这个概念。

TrustStore和KeyStore的区别在下面的表格内容中显示:

TrustStore KeyStore
TrustStore不包含私人和敏感信息。 Keystore包含私人和敏感信息。
javax.net.ssl.trustStore是用来指定TrustStore的。 javax.net.ssl.keyStore用于指定Keystore。
TrustStore的设置对于客户端的成功连接是必需的。 当在SSL上设置服务器端时,需要Keystore。
TrustStore存储其他人的凭证。 密钥库存储证书。
TrustStore存储所信任的外部系统的证书。 钥匙库保存你的应用程序的证书。
TrustStore的密码是由Djavax.net.ssl.trustStorePassword扩展给出的。 KeyStore密码由以下扩展Djavax.net.ssl.keyStorePassword给出。
TrustStore和TrustStore的密码存储在透明文件中,对所有人都是可见的。 Keystore和钥匙密码以纯文本形式存储在一个文件中,只有相应组的成员可以阅读。