日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > java >内容正文

java

java tls 证书_在使用Java 8重新协商TLS_1.2期间,服务器证书更改受到限制

發(fā)布時(shí)間:2025/3/15 java 17 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java tls 证书_在使用Java 8重新协商TLS_1.2期间,服务器证书更改受到限制 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

我對SSL很陌生,并且被看似已知的問題所困擾.我的應(yīng)用程序是SSL客戶端,并調(diào)用另一個(gè)為雙向SSL啟用的組件.兩個(gè)組件中的證書都是正確的,有時(shí)連接工作正常.每個(gè)服務(wù)器都有自己的服務(wù)器證書和私鑰,但具有相同的根證書和中間證書.

服務(wù)器中的SSL檢查在Apache SW LB中完成.

|-------------|

/ | Tomcat1 |

|-------------| / |-------------|

|---------->|Apache SW LB |/

| |-------------|\

| \

| \ |-------------|

|-----------| |------------| | | Tomcat 2 |

|SSL Client |---HTTPS--->|Hardware LB |------| |-------------|

|-----------| |------------| | |-------------|

| / | Tomcat3 |

| |-------------| / |-------------|

|---------->|Apache SW LB |/

|-------------|\

\

\|-------------|

| Tomcat4 |

|-------------|

有時(shí)我會(huì)收到如下錯(cuò)誤: –

***

%% Invalidated: [Session-10,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256]

http-nio-8443-exec-10,SEND TLSv1.2 ALERT: fatal,description = bad_certificate

http-nio-8443-exec-10,WRITE: TLSv1.2 Alert,length = 2

[Raw write]: length = 7

0000: 15 03 03 00 02 02 2A ......*

http-nio-8443-exec-10,called closeSocket()

http-nio-8443-exec-10,handling exception: javax.net.ssl.SSLHandshakeException: server certificate change is restricted during renegotiation

我使用Spring REST模板來調(diào)用REST調(diào)用并僅使用TLS_V1.2,但仍然遇到上述錯(cuò)誤.

TrustStrategy ts = new TrustStrategy() {

@Override

public boolean isTrusted(

X509Certificate[] x509Certificates,String s)

throws CertificateException {

return true; // TODO : revisit

}

};

SSLContext sslcontext = org.apache.http.ssl.SSLContexts.custom()

.loadKeyMaterial(keyStore,keypass.tocharArray())

.loadTrustMaterial(trustStore,ts)

.build();

SSLConnectionSocketFactory sslsf = new SSLConnectionSocketFactory(

sslcontext,new String[] {

"TLSv1.2" },null,SSLSocketFactory.ALLOW_ALL_HOSTNAME_VERIFIER);

return HttpClients.custom().setSSLSocketFactory(sslsf).build();

}

在谷歌搜索我發(fā)現(xiàn)這個(gè)問題將不會(huì)發(fā)生在TLSv1.2和Java 8(java版“1.8.0_60”).我正在使用Spring 4 RestTemplete來調(diào)用其余的調(diào)用.

我正在使用以下版本的httpclinet: –

由于我是SSL的新手,我?guī)缀鯖]有問題: –

1).這是SSL clinet還是SSL服務(wù)器問題?

2).有時(shí)候連接工作并且有時(shí)會(huì)破壞的任何真正原因?失敗的技術(shù)原因.

3).這與客戶端的任何緩存有關(guān)

如果有人可以指出真正的問題,這也很棒.

總結(jié)

以上是生活随笔為你收集整理的java tls 证书_在使用Java 8重新协商TLS_1.2期间,服务器证书更改受到限制的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。