最近为 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 默认值:

  1. jdk.tls.disabledAlgorithms=SSLv3, RC4, MD5withRSA, DH keySize < , \
  2.     EC keySize < , DES40_CBC, RC4_40, 3DES_EDE_CBC

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

  1. jdk.tls.disabledAlgorithms=SSLv3, RC4, MD5withRSA, DH keySize < , \
  2.     EC keySize < , DES40_CBC, RC4_40
  3.  
  4. #, 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 的握手。

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

  1. [Linux]Linux下开启snmp支持IPV4和IPV6

    SNMP简介 简单网络管理协议(SNMP),由一组网络管理的标准组成,包含一个应用层协议(application layer protocol).数据库模型(database schema)和一组资源 ...

  2. Apache下开启SSI配置使html支持include包含

    写页面的同学通常会遇到这样的烦恼,就是页面上的 html 标签越来越多的时候,寻找指定的部分就会很困难,那么能不能像 javascript 一样写在不同的文件中引入呢?答案是有的,apache 能做到 ...

  3. Apache下开启SSI配置,使html支持include包含

    有的时候,我们的页面有公共的导航栏navbar,公共的脚注footer,那么我们就想把这些公共部分独立成一个html文件,在要引用的地方像引用js,css一样,给包含进来. Apache下开启SSI配 ...

  4. Java SpringBoot注解方式开启异步支持

    package task.demo.controller; import org.springframework.beans.factory.annotation.Autowired; import ...

  5. 第二篇 :微信公众平台开发实战Java版之开启开发者模式,接入微信公众平台开发

    第一部分:微信公众号对接的基本介绍 一.填写服务器配置信息的介绍 登录微信公众平台官网后,进入到公众平台后台管理页面. 选择 公众号基本设置->基本配置 ,点击“修改配置”按钮,填写服务器地址( ...

  6. 深入理解Java虚拟机--下

    深入理解Java虚拟机--下 参考:https://www.zybuluo.com/jewes/note/57352 第10章 早期(编译期)优化 10.1 概述 Java语言的"编译期&q ...

  7. datax开启hana支持以及dolphinscheduler开启datax任务

    datax开启hana支持以及dolphinscheduler开启datax任务 前面(@,@) 前段时间因为要做异构数据导入导出,所以搜了下,发现这类工具收费的居多,使用起来未必趁手~ 于是我找了下 ...

  8. 从零开始学 Java - CentOS 下安装 Nginx

    早上下起了暴雨 闹钟还未响起就听到雨滴哗啦啦击打窗户的声音,被吵醒了.起床上班,在楼下的十字路口,暴雨大到完全看不清对面,两个穿着雨衣的交警站在路口中间指挥着过往的车辆,大家都慌慌张张.急急忙忙的打着 ...

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

    今天开始实战Java虚拟机之五“开启JIT编译” 总计有5个系列 实战Java虚拟机之一“堆溢出处理” 实战Java虚拟机之二“虚拟机的工作模式” 实战Java虚拟机之三“G1的新生代GC” 实战Ja ...

随机推荐

  1. logback框架之——日志分割所带来的潜在问题

    源码: logback-test.xml文件如下,有2个需要我们重点关注的参数: fileNamePattern:这里的日志文件名变动的部分是年月日时,外加1个文件分割自增变量,警告,年月日时的数值依 ...

  2. Service Account和RBAC授权

    一.介绍 Service Account概念的引入是基于这样的使用场景:运行在pod里的进程需要调用Kubernetes API以及非Kubernetes API的其它服务.Service Accou ...

  3. JMeter 连接 sql server

    1.安装驱动 http://www.microsoft.com/zh-CN/download/details.aspx?id=11774 下载后解压后复制sqljdbc.jar到 “jmeter的安装 ...

  4. 剖析插件 DataTable 自定义列表列get请求如何书写传递的参数

    重点代码Demo 已用 斜体标注 后端flask: @task_mgm.route('/taskinfo_editID=<int:num>', methods=['GET', 'POST' ...

  5. 二、Docker部署应用

    一.有关Docker的安装请参考docker官网  Docker 提供了两个版本:社区版 (CE) 和企业版 (EE). Docker 社区版 (CE) 是开发人员和小型团队开始使用 Docker 并 ...

  6. react 自我小计

    1.react中的方法调用,在onClick事件中不需要加小括号. <button onClick={this.show}>方法的调用</button> show(){ con ...

  7. Simple Use IEnumerable<T>

    Private static IEnumerable<T> FunDemo(T para) { while(...) { .... yield return Obj; } } static ...

  8. 前端动态属性页面的 要用id做name 因为这样方便在提交表单时候取到值

    前端动态属性页面的 要用id做name 因为这样方便在提交表单时候取到值

  9. poj2186(tarjan缩点)

    题意:有n头奶牛,假如奶牛A觉得奶牛B很厉害,那么就有一条由A指向B的边,然后有个传递关系,if(A→B,B→C,那么A→C),让你求出被除了自己以外所有的奶牛都认为厉害的的奶牛个数: 解题思路:看到 ...

  10. 动态追加js

    判断是否已引用js,如果没有会引发异常,在异常时添加引用 try { if (layui) {} } catch (ex) { var s = document.createElement('scri ...