javax.net.ssl.SSLHandshakeException:sun.security.validator.ValidatorException
以前,我可以成功地向web服务发送请求并接收响应,但现在它返回以下异常。根据其他答案,我需要更新证书,但我需要知道为什么我现在收到这个例外。另一个问题是,我可以找到我的java_家的地址,但我无法续订证书 例外情况:javax.net.ssl.SSLHandshakeException:sun.security.validator.ValidatorException,java,ssl,webservice-client,Java,Ssl,Webservice Client,以前,我可以成功地向web服务发送请求并接收响应,但现在它返回以下异常。根据其他答案,我需要更新证书,但我需要知道为什么我现在收到这个例外。另一个问题是,我可以找到我的java_家的地址,但我无法续订证书 例外情况: javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path validation failed: java.security.cert.CertPathValid
javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path validation failed: java.security.cert.CertPathValidatorException: timestamp check failed
代码
URI uri = new URI("https", "xml.example.com", "/service/ServiceRequest.do",
"serverName=www.example.com&xml="
...
+" ", null);
URL page = uri.toURL();
HttpsURLConnection conn = (HttpsURLConnection) page.openConnection();
conn.setRequestMethod("POST");
conn.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
conn.setDoOutput(true);
conn.setDoInput(true);
conn.connect();
问题是,您正试图与SSL证书已过期的服务器通信。出现异常的原因是Java SSL代码正在检查证书链,并且已经注意到了问题。已过期的SSL证书不可信。。。并且不受默认证书验证程序的信任 我不能更新证书
更新证书由网站所有者决定。如果那不是你,那你就无能为力了。。。除了绕过证书验证之外,这对SSL连接安全性有害。好的,谢谢,我认为我有问题。我的观点是基于Q&A正在解决一个不同的SSL问题。该服务器正在提供一个可能有效的证书。但是,服务器也不提供根证书和中间证书。(或者是以错误的顺序呈现)。最终结果是客户端无法检查证书是否有效。这种情况下的解决方案与您的情况不同,尽管其中一个解决方案确实涉及服务器管理员修复其服务器以使其正常运行。