OS X 上的 java 安全异常

标签 java macos ssl-certificate java-security

我在运行 El Capitan 的 Macbook Pro 上遇到 Java 安全问题:sun.security.validator.ValidatorException:PKIX 路径构建失败:sun.security.provider.certpath.SunCertPathBuilderException

这种情况发生在构建我的项目(ivy 在 https://repo1.maven.org 上阻塞)以及运行我的代码(无法访问 https://s3. amazonaws.com 等)

我读过几个类似的问题和答案,讨论如何将证书添加到 java keystore 。例如,我确实使用它成功地将 repo1.maven.org 添加到 keystore 中。但在我看来,一开始就有些不太正确。为什么这是唯一发生这种情况的主机?我在许多不同的主机上编译、安装和运行 Java 程序,访问所有地方的 https/SSL 层,到目前为止,我从未需要手动添加证书才能使其工作!

那么问题是,该主机有何特别之处?是否有一些系统设置告诉 Java 要格外挑剔?我比较了该 Macbook 和其他不存在证书问题的计算机之间的 cacerts 文件,并且证书是相同的。

我在所有计算机上使用 Oracle/Sun jdk1.8.0_102,并使用以下输出来比较 cacert:

keytool -list -v -keystore $JAVA_HOME/jre/lib/security/cacerts > cacerts.txt

在各种机器上。他们都很匹配。然而 Macbook 上的 Java 却到处抛出这些 sun.security.validator.ValidatorException: PKIX 路径构建失败

最佳答案

找到了。原来Macbook安装了BlueCoat统一代理。众所周知,它会干扰 SSL 证书。

我暂时禁用了它,并修复了上面报告的所有 HTTPS 问题。我将与 IT 部门合作找出更合适的长期解决方案。

关于OS X 上的 java 安全异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40144608/

相关文章:

java - 使用十六进制值设置 Android 图像

java - 为什么删除在应用程序中有效但在测试中无效?

java - 计算字符串中第一个与负数的运算

macos - vim + COPY + mac 通过 SSH

ssl - 在 SSL 信任层次结构中,什么用于签署中间证书以及这与根证书有何关系?

java - 如何将 JLabel 添加到另一个类的 JFrame 中?

macos - 在 Mac OS X 中访问扫描仪

java - 如何为 .jar 命令行脚本创建别名?

email - SSL 连接到邮件服务器。受信任的 ssl 证书被邮件客户端拒绝

google-chrome - *.test 域的本地 HTTPS 证书出现问题