我有以下情况 - 我想使用 https 请求和 java 代理获取页面内容。但是,我收到以下错误消息:
javax.net.ssl.SSLHandshakeException: com.ibm.jsse2.util.j: Certificate chaining error
我已经将互联网证书导入到我的本地 notes cacerts 文件中,但没有任何改变。
但是,当我在 Eclipse 中运行相同的代码时,使用 keystore 和从我尝试接收的页面下载的证书,它工作正常。
我没有想法,任何建议将不胜感激!
===编辑===
Dmytro Pastovenskyi 的回答对我有帮助,但另外为了摆脱 protocol_version 异常,我不得不使用以下代码,设置使用的 TLS 版本:
System.setProperty("https.protocols", "TLSv1");
似乎有必要使用 1.6 IBM JAVA 建立与某些站点的连接。
最佳答案
我以前遇到过同样的问题。
- 看起来 IBM Domino 服务器在检查证书时更加严格。我们的管理员一开始说链是正确的,后来发现链有问题(是的,它适用于 .NET/JAVA 和其他平台,只是不适用于 Domino)。尝试找一些在线验证链的工具。
- 在修复链之前,您可以简单地禁用证书验证。我有一篇文章如何做(+一些其他可能对您有帮助的文章)。在这里看看:Disabling certificate validation in Java
关于java - com.ibm.jsse2.util.j : Certificate chaining error while accessing a page through https in notes agent,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33671115/