关于在 java 8 下开启 TLS_RSA_WITH_3DES_EDE_CBC_SHA 支持 xp ie8 tls1.0 的正常访问

最近为 aioserver 增加了ssl支持。 在 myssl.com 上测试了一下,关于【客户端握手模拟】发现 ie8 xp tls1.0  这一项提示:握手失败 (服务器断开连接)

我又试了一下 baidu.com 和 taobao.com, 关于 ie8 xp tls1.0,可以握手成功,使用的【加密套件】: TLS_RSA_WITH_3DES_EDE_CBC_SHA

虽说 ie8 现在用的少,但国内应该还有一部分用户在使用,那就想办法让 java 8 支持 ie8 tls1.0 的访问吧。

我通过调用 sslEngine.getSupportedCipherSuites() 列出了 65 个可用的加密套件,但没有一个与 3DES 相关。

google 了一下,找到这篇资料: https://docs.oracle.com/javase/8/docs/technotes/guides/security/SunProviders.html

大致意思是在 java 8 默认禁用【加密套件】:"SSL_RSA_WITH_3DES_EDE_CBC_SHA"。

接着就继续查找如何开启 "SSL_RSA_WITH_3DES_EDE_CBC_SHA",找到的答案是:

打开文件夹  {JAVA_HOME} / jre / lib / security 中的安全策略文件: java.security, 修改  jdk.tls.disabledAlgorithms 选项。

java8 的  jdk.tls.disabledAlgorithms 默认值:

jdk.tls.disabledAlgorithms=SSLv3, RC4, MD5withRSA, DH keySize < 1024,     EC keySize < 224, DES40_CBC, RC4_40, 3DES_EDE_CBC

为了开启 SSL_RSA_WITH_3DES_EDE_CBC_SHA, 将 3DES_EDE_CBC 注释掉:

jdk.tls.disabledAlgorithms=SSLv3, RC4, MD5withRSA, DH keySize < 1024,     EC keySize < 224, DES40_CBC, RC4_40

#, 3DES_EDE_CBC

这时调用 sslEngine.getSupportedCipherSuites() 列出了 76 个可用的加密套件,之前可用的加密套件数是 65 个。

多出来的12个可用的加密套件就是与 3DES 相关的加密套件:TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA, TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA, SSL_RSA_WITH_3DES_EDE_CBC_SHA, ...

通过测试只需添加 SSL_RSA_WITH_3DES_EDE_CBC_SHA 就可以支持 xp ie8 tls1.0 的握手。

原文地址:https://www.cnblogs.com/personnel/p/9262631.html

时间: 2024-10-07 22:58:37

关于在 java 8 下开启 TLS_RSA_WITH_3DES_EDE_CBC_SHA 支持 xp ie8 tls1.0 的正常访问的相关文章

window下开启php支持openssl 的方法

在安装腾讯微博API程序iweobo时,发现PHP不支持openssl_open(),如何在PHP扩展里打开php openssl支持? 1.打开PHP目录,在php.ini中把“extension=php_openssl.dll”前面的“;”去掉 2.复制php安装目录中的: libeay32.dll.ssleay32.dll至c:windowssystem32 3.复制php_openssl.dll至c:windowssystem32 4.重启IIS或者apache环境 这样就可以打开php

JAVA环境下利用solrj二次开发SOlR搜索的环境部署常见错误

问题一:出现控制台坏的响应错误一Bad request 控制台出现错误如下: Bad Request request: http://hostIP:8983/solr/update?wt=javabin&version=1 解决方法: 出现以上错误的原因是,solr服务器上配置的Field和javabean提交的Field不能对应, 导致solr服务器找不到域,拒绝访问. 打开SOLR_HOME下的conf文件夹找到schema.xml文件,在其中添加对应的域. 例如以下代码添加了:title,

android webview开启html5支持

最近做的一个小项目需要用到webview.虽然只是一个简单的网页,但是由于以前用的都只是显示本地文件,没有显示网页文件.现在需要显示网页文件,发现许多网站的webapp做的挺不错的,无论是显示还是用户体验都很不错(平时上网用uc的省流量功能看不出来). 但是虽然很好用,却发现部分网页甚至连链接都打不开.如果是个别小众网页都算了,这可是360搜索首页啊,要说别人大公司的静态写的兼容性有问题实在说不过去,所以就只能自己找问题了.最有可能的莫过于部分html5的功能没有开启,因为在以往使用时发现有的h

Nginx 开启PATHINFO支持ThinkPHP框架实例

ThinkPHP支持通过PATHINFO和URL rewrite的方式来提供友好的URL,只需要在配置文件中设置 'URL_MODEL' => 2 即可.在Apache下只需要开启mod_rewrite模块就可以正常访问了,但是Nginx中默认是不支持PATHINFO的,所以nginx默认情况下是不支持ThinkPHP的.不过我们可以通过修改nginx的配置文件来让其支持ThinkPHP. 虚拟主机配置文件:  nginx/conf/vhost/127.0.0.1_8090.conf serve

Maven Java项目添加Scala语言支持

为了在一个普通的使用Maven构建的Java项目中,增加对Scala语言的支持.使得其能够同时编译Java和Scala语言的文件.其实很简单的一件事情,只需要在pom.xml文件中的build部分中的plugins中,增加对scala-maven-plugin的支持,就好了.具体的说,就是添加如下的语句: <plugin> <!-- see http://davidb.github.com/scala-maven-plugin --> <groupId>net.alch

Java 环境下使用 AES 加密的特殊问题处理

在 Java 环境下使用 AES 加密,在密钥长度和字节填充方面有一些比较特殊的处理. 1. 密钥长度问题 默认 Java 中仅支持 128 位密钥,当使用 256 位密钥的时候,会报告密钥长度错误 Invalid AES key length 你需要下载一个支持更长密钥的包.这个包叫做 Java Cryptography Extension (JCE) Unlimited Strength Jurisdiction Policy Files 6,可以从这里下载,下载地址:http://www.

一个简单的SSL Server和SSL Client来讲解Java环境下SSL的通信原理

首先我们先回顾一下常规的Java Socket编程.在Java下写一个Socket服务器和客户端的例子还是比较简单的.以下是服务端的代码: Java代码   package org.bluedash.tryssl; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.io.PrintWriter; import java.net.Serve

【Java】实战Java虚拟机之五“开启JIT编译”

今天开始实战Java虚拟机之五"开启JIT编译" 总计有5个系列 实战Java虚拟机之一"堆溢出处理" 实战Java虚拟机之二"虚拟机的工作模式" 实战Java虚拟机之三"G1的新生代GC" 实战Java虚拟机之四"禁用System.gc()" 实战Java虚拟机之五"开启JIT编译" Java虚拟机有3种执行方式,分别是解释执行.混合模式和编译执行,默认情况下处于混合模式中.使用命令行

引入 Tinker 之后如何在 Debug 模式下开启 Instant Run

在<Tinker + Bugly + Jenkins 爬坑之路>一文中讲了在接入 Tinker 之后,Jenkins 中的一些坑,由此,热修复算告一段落,但是,在直接 Run 模式运行时,程序会报出如下错误: Tinker does not support instant run mode, please trigger build by assembleDebug or disable instant run in 'File->Settings...'. 好吧,使用 TInker 时