此问题已在此处有答案:
Resolving javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed Error?(34个答案)
两年前关闭。
我在尝试启动应用程序时收到此错误:
Sun.security.validator.ValidatorException: PKIX path validation failed:
java.security.cert.CertPathValidatorException: java.net.UnknownHostException:oscp.thawte.com
该应用程序位于一个封闭的网络后面,永远无法访问oscp.thawte.com。有没有一个java设置可以禁用这个?
7条答案
按热度按时间ecr0jaav1#
-Dcom.sun.net.ssl.checkRevocation=false
yptwkmov2#
锁定,本次有disputes about this answer’s content正在解析。它目前不接受新的交互。
不完全是一个设置,但您可以覆盖默认的TrustManager和HostnameVerifier来接受任何内容。这不是一个安全的方法,但在你的情况下,这是可以接受的。
nkhmeac63#
除了上面的答案。您可以通过实现TrustManager以编程方式完成此操作:
然而,这对于生产来说不是一个好的做法。
How to disable SSL certificat validation in Java上的这个示例包含一个可以在项目中复制的实用程序类。
v8wbuo2f4#
使用java软件分发版中的cli实用程序keytool进行导入(和trust!)所需证书
样品:
1.从CLI将目录更改为jre\bin
1.检查密钥库(在jre\bin目录中找到的文件)
keytool -list -keystore ..\lib\security\cacerts
输入密钥库密码:更改
1.从所需服务器下载并保存所有证书链。
1.添加证书(在需要删除文件“..\lib\security\cacerts”上的“只读”属性之前)keytool -alias REPLACE_TO_ANY_UNIQ_NAME -import -keystore..\lib\security\cacerts -file“r:\root.crt”
我偶然发现了这么一个简单的提示。其他解决方案需要使用InstallCert.Java和JDK
来源:http://www.java-samples.com/showtutorial.php?tutorialid=210
kmynzznz5#
在我的Mac上,我确信我不会允许Java在任何地方,除了一个特定的网站,我能够使用首选项-〉Java调出Java控制面板,并关闭检查。如果DLink修复了他们的证书,我会重新打开它。
drkbr07n6#
在Axis webservice中,如果您必须禁用证书检查,请使用以下代码:
AxisProperties.setProperty(“axis.socketSecureFactory”,“org.apache.axis.components.net.SunFakeTrustSocketFactory”);
iecba09b7#
这很简单。在我看来,这是对每个人最好的方法