我有一个java应用程序dat向我的服务器发送https请求。我必须创建一个密钥库:
keytool -import -file mycert.cer -alias myalias -keystore keystore.jks
并将其用作我的Java应用程序中的信任库。但我服务器上的证书有效期为一年。一年后证书发生变化。
这是否意味着当发生这种情况时我必须生成一个新的密钥库?或者有更好的方法来实现这一目标吗?
答案 0 :(得分:0)
是的,通常您必须在证书更改时在密钥库中上载新证书。
证书的目的是建立可信连接。证书告诉您的程序,它尝试访问的URL实际上是真实的URL,而不是虚假的URL。
安全总是需要付出代价。每年更改证书对于它提供的安全性来说是一个小小的开销,以避免任何DNS欺骗攻击。
要回答是否有更好的方法 - 是的,更好的方法是在同一个密钥库中导入证书。您无需更改密钥库。
您可以使用以下命令来实现相同目的:
keytool -import -file newcert.cer -alias mynewcertificate -keystore keystore.jks
在被要求时输入密钥库的密码。
答案 1 :(得分:0)
不。您只需将新证书添加到密钥库即可。一旦确定不再使用旧的,就可以从密钥库中删除它。