基于php技术的个人网站设计,上海龙腾vs山东鲁能,长沙专业建网站公司,wordpress 文章 字体我对SSL很陌生,并且被看似已知的问题所困扰.我的应用程序是SSL客户端,并调用另一个为双向SSL启用的组件.两个组件中的证书都是正确的,有时连接工作正常.每个服务器都有自己的服务器证书和私钥,但具有相同的根证书和中间证书.服务器中的SSL检查在Apache SW LB中完成.|----------…我对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_certificatehttp-nio-8443-exec-10,WRITE: TLSv1.2 Alert,length 2[Raw write]: length 70000: 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() {Overridepublic 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来调用其余的调用.我正在使用以下版本的httpclinet –由于我是SSL的新手,我几乎没有问题 –1).这是SSL clinet还是SSL服务器问题2).有时候连接工作并且有时会破坏的任何真正原因失败的技术原因.3).这与客户端的任何缓存有关如果有人可以指出真正的问题,这也很棒.