Java将https请求发送到服务器

时间:2018-04-24 15:30:59

标签: java https certificate keystore truststore

我有一个java应用程序dat向我的服务器发送https请求。我必须创建一个密钥库:

keytool -import -file mycert.cer -alias myalias -keystore keystore.jks

并将其用作我的Java应用程序中的信任库。但我服务器上的证书有效期为一年。一年后证书发生变化。

这是否意味着当发生这种情况时我必须生成一个新的密钥库?或者有更好的方法来实现这一目标吗?

2 个答案:

答案 0 :(得分:0)

是的,通常您必须在证书更改时在密钥库中上载新证书。

证书的目的是建立可信连接。证书告诉您的程序,它尝试访问的URL实际上是真实的URL,而不是虚假的URL。

安全总是需要付出代价。每年更改证书对于它提供的安全性来说是一个小小的开销,以避免任何DNS欺骗攻击。

要回答是否有更好的方法 - 是的,更好的方法是在同一个密钥库中导入证书。您无需更改密钥库。

您可以使用以下命令来实现相同目的:

keytool -import -file newcert.cer -alias mynewcertificate -keystore keystore.jks

在被要求时输入密钥库的密码。

答案 1 :(得分:0)

不。您只需将新证书添加到密钥库即可。一旦确定不再使用旧的,就可以从密钥库中删除它。

相关问题