2017-10-20 124 views
2

我已经为/ etc/pki/ca-trust/source/anchors添加了一个crt,以便服务器证书可以被ssl客户端信任。所以,例如,当我curl https://<server>证书是自动信任的。java trust unix证书存储

有没有什么办法让java应用程序信任安装在系统上的证书?

是否只有在将java证书添加到jvm信任库中才能使其生效的唯一方法是?

Regards

回答

1

我不知道任何开箱即用的解决方案。我觉得有很多种方式来达到自己的目标:

  1. 写一个类来同步你定义的信任存储和证书目录
  2. 写它是基于证书目录中的自己TrustManager实现
0

将它导入到您的JRE中的cacerts文件中,如果有的话将它导入到JDK中。

+2

_“是唯一方式使它在java中添加证书到jvm truststore?“_ – asbachb

0

导入在CACERT文件中的证书


下面是路径
C:\ Program Files文件(x86)的\的Java \ jre1.8.0_121 \ BIN

使用此代码导入(假设你的* .CER文件名是abc.cer,你需要粘贴在bin文件夹中的文件abc.cer然后用箱的CMD相同的路径运行下面的代码)
keytool -import -file abc.cer -alias anyName -keysotre cacert -trustcacerts

+0

OP使用Unix。 –

+0

@KlitosKyriacou感谢您的更新,在这种情况下,他/她需要使用OpenSSL并将环境变量设置为特定路径。代码保持不变 – rodriguesf53

+0

他们每次升级JRE或JDK时都需要运行'keytool'吗?这是OP明显想要避免的。 – DodgyCodeException