在Java中使用密钥库进行SSL握手的正确设置是什么

时间:2015-01-15 17:22:18

标签: java ssl keystore jsse

我正在使用JSSE在Java中开发一个安全的聊天程序。

要让2个人进行通信,请指定要使用的密钥库,例如Bob将使用bob.keystore启动该程序,alice将使用alice.keystore启动程序

我设置和工作的方式如下

在Bob方面,他有一个拥有密钥对的密钥库,并将Alice的证书作为可信证书导入。

在Alices方面,她有一个密钥库,其密钥对和Bob的证书作为可信证书导入。

这是正确的设置/程序吗?

1 个答案:

答案 0 :(得分:0)

  

在Bob方面,他有一个拥有密钥对的密钥库,并将Alice的证书作为可信证书导入。

鲍勃应该:

  • 包含其密钥对和证书的密钥库,以及
  • 包含Alice导出证书的 truststore
  

在Alices方面,她有一个密钥库,其密钥对和Bob的证书作为可信证书导入。

爱丽丝应该:

  • 包含密钥对和证书的密钥库,以及
  • 包含Bob导出证书的 truststore
  

这是正确的设置/程序吗?

没有。密钥库是包含隐私关键数据的珍贵私密内容。信任库只包含其他人的证书,因此没有任何宝贵的信息。您不应将同一物理文件用于这两个目的。这就是他们在JSSE中分开的原因。