您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

如何将指纹添加到密钥库

如何将指纹添加到密钥库

不是您需要添加到信任库中的指纹,而是实际的证书。

您可以添加服务器证书本身,也可以在链中添加一个CA证书(如果您希望信任该CA中的所有证书,而不仅仅是该特定服务器)。

要了解证书是什么,可以使用OpenSSL:

openssl s_client -showcerts -connect your.host.name:443

(用您使用的实际端口替换主机名和443。)

两者之间的--BEGIN/END CERT...--是PEM格式的证书。您可以使用openssl x509 -text -noout(并在其中粘贴每个块)检查其内容

将您要导入的证书保存到纯文本文件中(例如certificate.pem)。您应该只导入您信任的证书。这里有一定的信念飞跃。(例如,您可能想连接浏览器并检查密钥材料是否匹配。)

要导入您的信任库,请使用:

keytool -importcert -keystore truststore.jks -file certificate.pem

(您可能需要指定一个别名wit -alias some_name_you_choose。)

如果您希望这影响认的信任库,请替换truststore.jkslib/security/cacertsJava主目录中的路径(认密码应为changeit)。

由于目标服务器无论如何似乎都来自著名的CA(并且适用于JRE的某些版本),因此最简单的修复方法当然是cacerts手动更新文件,并从与其一起工作的JRE中获取副本。毕竟,正如《JSSE参考指南》所说

重要说明:JDK随附了/ lib / security / cacerts文件中有限数量的受信任的根证书。如keytool中所述,如果您将此文件用作信任库,则有责任维护(即添加/删除)此文件中包含的证书。

根据您联系的服务器的证书配置,您可能需要添加其他根证书。从适当的供应商处获取所需的特定根证书。

事实证明,证书链顺序肯定是有问题的(在此站点上不正确),如Qualys SSL Labs测试仪所示

其他 2022/1/1 18:30:12 有610人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶