Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/308.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ssl/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 8中的错误:';javax.net.ssl.SSLHandshakeException:com.ibm.jsse2.util.h:证书链接错误';_Java_Ssl_Certificate_Tls1.2 - Fatal编程技术网

Java 8中的错误:';javax.net.ssl.SSLHandshakeException:com.ibm.jsse2.util.h:证书链接错误';

Java 8中的错误:';javax.net.ssl.SSLHandshakeException:com.ibm.jsse2.util.h:证书链接错误';,java,ssl,certificate,tls1.2,Java,Ssl,Certificate,Tls1.2,我尝试通过CloseableHTTPClient通过Apache HTTPS客户端与本地Web服务器(IIS)建立tls1.2连接。我使用一个本地cacert文件(jks文件),它包含根证书、中间证书甚至服务器证书。当手动检查时,证书本身看起来很好,并且被所有浏览器接受 错误: %% Invalidated: [Session-2, SSL_ECDHE_RSA_WITH_AES_128_GCM_SHA256] main, SEND TLSv1.2 ALERT: fatal, desc

我尝试通过
CloseableHTTPClient
通过Apache HTTPS客户端与本地Web服务器(IIS)建立
tls1.2连接。我使用一个本地
cacert文件(jks文件)
,它包含根证书、中间证书甚至服务器证书。当手动检查时,证书本身看起来很好,并且被所有浏览器接受

错误:

    %% Invalidated:  [Session-2, SSL_ECDHE_RSA_WITH_AES_128_GCM_SHA256]
main, SEND TLSv1.2 ALERT:  fatal, description = certificate_unknown
main, WRITE: TLSv1.2 Alert, length = 2
main, called closeSocket()
main, handling exception: javax.net.ssl.SSLHandshakeException: com.ibm.jsse2.util.h: Certificate chaining error
javax.net.ssl.SSLHandshakeException: com.ibm.jsse2.util.h: Certificate chaining error
       at com.ibm.jsse2.k.a(k.java:6)
       at com.ibm.jsse2.at.a(at.java:572)
       at com.ibm.jsse2.D.a(D.java:11)
       at com.ibm.jsse2.D.a(D.java:74)
       at com.ibm.jsse2.E.a(E.java:307)
       at com.ibm.jsse2.E.a(E.java:121)
       at com.ibm.jsse2.D.r(D.java:223)
       at com.ibm.jsse2.D.a(D.java:198)
       at com.ibm.jsse2.at.a(at.java:649)
       at com.ibm.jsse2.at.i(at.java:627)
       at com.ibm.jsse2.at.a(at.java:689)
       at com.ibm.jsse2.at.startHandshake(at.java:432)
       at org.apache.http.conn.ssl.SSLConnectionSocketFactory.createLayeredSocket(SSLConnectionSocketFactory.java:404)

and so forth...

到目前为止,该代码一直有效,直到证书被更改(它们变得无效)

之后,代码与上面的消息一起崩溃。新的根证书是SHA1签名的,而不是SHA256。我看不出这是否是问题,更改这可能是一个问题(我使用证书,我不管理它)

编辑:
使用的根ca是“Digicert全局根ca”。

我得到了一些类似的东西,链中的一个证书已过期。 你能再检查一下你的日志吗? 可能链中的某个证书无效

当提供的证书链发生错误时,会发生“证书链错误” 无法验证证书。在这里,其中一个证书是 “不可信”


在五月份的情况下,链中的一个证书过期了。

我得到了一些类似的信息,链中的一个证书过期了。 你能再检查一下你的日志吗? 可能链中的某个证书无效

当提供的证书链发生错误时,会发生“证书链错误” 无法验证证书。在这里,其中一个证书是 “不可信”

在五月份的案例中,链中的一个证书过期了