解决SSLContext.getInstance()中参数设置TLS版本无效的问题

 更新时间:2024年01月23日 10:21:33   作者:翟小江  
这篇文章主要介绍了解决SSLContext.getInstance()中参数设置TLS版本无效的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

问题

SSLContext sc = SSLContext.getInstance(“TLSv1.1”)

设置后,https握手连接使用中使用的TLS版本还是jdk的默认版本(jdk7默认是TLSv1,jdk8默认是TLSv1.2)。

原因

代码中有这个段

conn.getOutputStream().write(postBody.toString().getBytes());

// 输入参数 进行输入参数,而

SSLContext sc = SSLContext.getInstance(“TLSv1.1”)

放在

conn.getOutputStream().write(postBody.toString().getBytes())

代码的后面,导致设置的TLSv1.1不生效。

解决办法

将SSLContext.getInstance(“TLSv1.1”)放到

conn.getOutputStream().write(postBody.toString().getBytes())

的前面即可。

以下在jdk8环境下的测试:

这样设置不生效

![

这样设置才生效

具体的原因

是因为在conn.getOutputStream()获取输出流的过程中,conn就已经做了conn.connect()方法了,一条连接已经建立了,后面再进行SSLContext sc = SSLContext.getInstance(“TLSv1.1”);指定TLS的版本自然就不会生效了。

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Java中的CAS无锁机制实现原理详解

    Java中的CAS无锁机制实现原理详解

    这篇文章主要介绍了Java中的CAS无锁机制实现原理详解,无锁机制,是乐观锁的一种实现,并发情况下保证对共享变量值更改的原子性,CAS是Java中Unsafe类里面的方法,底层通过调用C语言接口,再通过cup硬件指令保证原子性,需要的朋友可以参考下
    2024-01-01
  • 在Spring Boot中如何使用log4j记录日志

    在Spring Boot中如何使用log4j记录日志

    这篇文章主要介绍如何在spring boot中引入log4j,以及一些基础用法,需要的朋友可以参考借鉴,下面来一起看看吧。
    2017-02-02
  • 教您如何3分钟快速搞定EasyExcel导入与导出功能

    教您如何3分钟快速搞定EasyExcel导入与导出功能

    对于EasyExcel库,我们可以使用它来实现数据的导入和导出,下面这篇文章主要给大家介绍了关于如何3分钟快速搞定EasyExcel导入与导出功能的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2024-01-01
  • java抓取鼠标事件和鼠标滚轮事件示例

    java抓取鼠标事件和鼠标滚轮事件示例

    这篇文章主要介绍了java抓取鼠标事件和鼠标滚轮事件示例,需要的朋友可以参考下
    2014-05-05
  • 详解Java的Hibernate框架中的注解与缓存

    详解Java的Hibernate框架中的注解与缓存

    这篇文章主要介绍了详解Java的Hibernate框架中的注解与缓存,Hibernate是Java的SSH三大web开发框架之一,需要的朋友可以参考下
    2015-12-12
  • 浅谈Spring boot cache使用和原理

    浅谈Spring boot cache使用和原理

    这篇文章主要介绍了浅谈Spring boot cache使用和原理,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-09-09
  • IntelliJ IDEA 使用经验总结(推荐)

    IntelliJ IDEA 使用经验总结(推荐)

    这篇文章主要介绍了IntelliJ IDEA 使用经验总结,非常不错,具有参考价值,需要的朋友可以参考下
    2018-02-02
  • mybatis查询返回Map<String,Object>类型的讲解

    mybatis查询返回Map<String,Object>类型的讲解

    这篇文章主要介绍了mybatis查询返回Map<String,Object>类型的讲解,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-06-06
  • 分布式开发医疗挂号系统数据字典模块前后端实现

    分布式开发医疗挂号系统数据字典模块前后端实现

    这篇文章主要为大家介绍了分布式开发医疗挂号系统数据字典模块前后端实现,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-04-04
  • SpringBoot解析yml全流程详解

    SpringBoot解析yml全流程详解

    本文主要介绍了SpringBoot解析yml全流程详解,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-03-03

最新评论