Java信任Unix证书存储。

7

我已经将crt证书添加到/etc/pki/ca-trust/source/anchors中,这样ssl客户端就可以信任服务器证书了。例如,当我使用curl https://<server>时,证书会自动受信任。

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

在Java中使其工作的唯一方法是将证书添加到jvm信任库中吗?

敬礼

3个回答

3
我不知道有没有现成的解决方案。我认为有多种方法可以实现你的目标:
  1. 编写一个类来同步你定义的证书库和证书目录
  2. 编写一个基于证书目录的自己的 TrustManager 实现

-2

导入cacert文件中的证书


以下是路径
C:\Program Files (x86)\Java\jre1.8.0_121\bin

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


The OP is using Unix. - Klitos Kyriacou
{btsdaf} - rodriguesf53
{btsdaf} - DodgyCodeException
{btsdaf} - rodriguesf53
{btsdaf} - DodgyCodeException

-2

将其导入到您的JRE中的cacerts文件中,如果您有JDK,则也要导入到其中。


4
在Java中让它正常工作的唯一方法是将证书添加到JVM信任存储库吗? - asbachb
我建议不要更改Java提供的CA证书,而是指定自己的信任存储。或者按照得到最多赞同票的答案所指出的那样,创建自己的TrustManager实现。 - Berin Loritsch

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接