Java 访问 https 服务器

发布于 2021-05-13 21:33:04 字数 896 浏览 1605 评论 0

现代浏览器都内嵌了一系列可信 CA 的公钥证书。如果你访问一个不可信的 https 网站(如证书是自签名的),浏览器会弹出警告,只有把要访问的网站加入 例外 目录,浏览器才运行继续访问。Java 也实现了类似机制。JDK 自带了一个 jks 格式的可信证书库文件 cacerts。Oracle JDK 和 OpenJDK 的cacerts 文件的路径不同。

  • OracleJDK 自带可信证书库文件是 $JAVA_HOME/jre/lib/security/cacerts
  • OpenJDK 自带可信证书库的文件是 /etc/pki/java/cacerts

可以这样查找可信证书库位置:

$  find / -name cacerts
/etc/pki/ca-trust/extracted/java/cacerts
/etc/pki/java/cacerts
/usr/java/jdk1.8.0_131/jre/lib/security/cacerts

前两个是同一个文件,是 OpenJDK 的可信证书库(不装 OpenJDK 也有这个文件)。第三个 OracleJDK 的可信证书库。
可以用 keytool 命令查看该文件内容,初始口令是 changeit:

$ keytool -list -keystore <cacerts-file> -storepass changeit

<cacerts-file> 替换成 cacerts 文件的真实路径。

cacerts 中已经内置了常见的公共 CA 证书。当 java 程序访问 https 网站时,jre 会利用 cacerts 来检验 https 网站是否可信。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

关于作者

JSmiles

生命进入颠沛而奔忙的本质状态,并将以不断告别和相遇的陈旧方式继续下去。

0 文章
0 评论
84960 人气
更多

推荐作者

lorenzathorton8

文章 0 评论 0

Zero

文章 0 评论 0

萧瑟寒风

文章 0 评论 0

mylayout

文章 0 评论 0

tkewei

文章 0 评论 0

17818769742

文章 0 评论 0

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文