检索并使用Microsoft或Mozilla的Root-CA列表并在Java中使用它?

时间:2019-06-07 12:04:04

标签: java ssl truststore root-certificate

用于Windows的OpenJDK中包含的root-CA证书的列表令人印象深刻,但是有很多root-CA证书受到Firefox等普通浏览器的信任,而Java不信任。

MicrosoftMozilla都发布了它们当前的根CA证书列表,但是所使用的文件格式似乎是专有的。

curl项目有一个自动转换器,该转换器使用Mozilla文件作为源,但是此转换器(mk-ca-bundle)是Perl脚本。

是否可以使用纯Java读取这些列表之一,以便以后用作信任存储?

1 个答案:

答案 0 :(得分:0)

OpenJDK描述了他们如何在Security files for OpenJDK repo中构建cacerts文件。该脚本从Mozilla下载证书:

wget https://hg.mozilla.org/mozilla-central/raw-file/tip/security/nss/lib/ckfw/builtins/certdata.txt .

根据回购指示,您可以构建自己的cacerts文件,该文件将信任您选择的另一份证书列表:

  
      
  1. 下载以下Perl脚本:https://raw.githubusercontent.com/curl/curl/master/lib/mk-ca-bundle.pl

  2.   
  3. 下载以下Java应用程序:https://github.com/use-sparingly/keyutil/releases/download/0.4.0/keyutil-0.4.0.jar(源于https://github.com/use-sparingly/keyutil

  4.   
  5. 使用以下命令运行提供的GenerateCertsFile.sh脚本:bash ./GenerateCertsFile.sh-假设它们与脚本位于同一目录中,则将使用上述文件

  6.   
  7. 使用提供的证书:它必须位于jdk/jre/lib/securityjdk/lib/securityfolder

  8. 中