2.解决方案一在本地调用微信退款正常,放到线上就错误。
No appropriate protocol (protocol is disabled or cipher suites are inappropr)
在自己的Java请求代码里面修改如下:
将SSLConnectionSocketFactory sslsf = new SSLConnectionSocketFactory(sslcontext, new String[] { "TLSv1" }, null, SSLConnectionSocketFactory.BROWSER_COMPATIBLE_HOSTNAME_VERIFIER);
替换成如下代码。就是去掉了**String[] { “TLSv1” }**这个协议。
SSLConnectionSocketFactory sslsf = new SSLConnectionSocketFactory(sslcontext, SSLConnectionSocketFactory.BROWSER_COMPATIBLE_HOSTNAME_VERIFIER);3.解决方案二
更换JDK1.8版本。
首先查看这个文件:java.security
在/usr/java/jdk1.8.0_202/jre/lib/security下面
找到这个:jdk.tls.disabledAlgorithms,出现如下内容说明正常:
jdk.tls.disabledAlgorithms=SSLv3, RC4, DES, MD5withRSA, DH keySize < 1024, EC keySize < 224, 3DES_EDE_CBC, anon, NULL
出现下面的说明版本很新,会报错。
好像从jdk1.8.0_291及以上都是下面的配置。
jdk.tls.disabledAlgorithms=SSLv3, TLSv1, TLSv1.1, RC4, DES, MD5withRSA, DH keySize < 1024, EC keySize < 224, 3DES_EDE_CBC, anon, NULL, include jdk.disabled.namedCurves
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)