服务器不支持 tls 重新协商修正,服务器证书更改在与Java 8的TLS_1.2重新协商期间受到限制...

我对SSL非常陌生,并且受到似乎已知问题的影响。我的应用程序是SSL客户端,并调用另一个启用了双向SSL的组件。两个组件中的证书都是正确的,并且连接有时可以正常工作。每台服务器都有自己的服务器证书和私钥,但具有相同的根证书和中间证书。服务器证书更改在与Java 8的TLS_1.2重新协商期间受到限制

服务器中的SSL检查在Apache SW LB中完成。

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

/| Tomcat1 |

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

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

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

| \

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

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

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

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

| /| Tomcat3 |

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

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

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

\

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

| Tomcat4 |

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

有时候,我得到一个错误如下: -

***

%% 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

我使用弹簧安置模板调用REST调用和只使用TLS_V1.2,但仍然得到上述错误。

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();

}

ON google搜索我发现像,这个问题将不会被用于happeneing TLSv1.2工作和Java 8(Java版本 “1.8.0_60”)。我正在使用Spring 4 RestTemplete来调用其余的调用。

,我使用以下版本httpclinet的: -

org.apache.httpcomponents

httpclient

4.4.1

由于我是新来的SSL,我有几个问题入手: -

1)。这是一个SSL clinet或SSL服务器的问题? 2)。为什么连接有时会工作并打破某些时间的任何真正原因?失败的技术原因。 3)。这是否与客户端的任何缓存有关

如果有人可以指出这个问题的实际情况,那么这也很棒。

2016-06-14

Manu

+0

关于goolging,我可以找到的是,与Java verison Java(TM)SE运行时环境(build 1.8.0_60-b27)和httpClient 4.4.1,我们不应该得到这个错误。但我仍然得到这个.. 。 –

+0

你如何初始化你的'sslContext'变量? –

+0

我已将您所要求的详细信息添加到问题 –

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值