设置根证书服务器访问受限,java - 使用Java 8重新协商TLS_1.2期间,服务器证书更改受到限制 - 堆栈内存溢出...

我对SSL相当陌生,并且受到了已知问题的打击。 我的应用程序是SSL客户端,它调用为双向SSL启用的另一个组件。 两个组件中的证书均正确,有时连接正常。 每个服务器都有自己的服务器证书和私钥,但具有相同的根证书和中间证书。

服务器中的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

我正在使用Spring REST模板来调用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();

}

在谷歌搜索时,我发现对于TLSv1.2和Java 8(java版本“ 1.8.0_60”)不会发生此问题。 我正在使用Spring 4 RestTemplete来调用rest调用。

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

org.apache.httpcomponents

httpclient

4.4.1

由于我是SSL新手,因此我有几个问题要开始:-

1)。 这是SSL客户端或SSL服务器问题吗?

2)。 有时连接正常并且有时断开的任何真正原因是失败的技术原因。

3)。 这与客户端的任何缓存有关吗

如果有人可以指出此问题的真正原因,那也很好。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值