首页 > 编程语言 >使用HttpUtil时报javax.net.ssl.SSLHandshakeException: No appropriate protocol异常

使用HttpUtil时报javax.net.ssl.SSLHandshakeException: No appropriate protocol异常

时间:2023-07-14 10:01:19浏览次数:55  
标签:protocol No TLSv1.1 ssl disabledAlgorithms net HttpUtil

在使用HttpUtil类时,针对某一个接口报错出现异常

HttpGetInfo result = HttpUtil.getInfo(token, Url);

但是这个getInfoUrl在postman上调用是成功的

后来查找后发现问题是:

在Java8及高版本以上的版本在调用ssl时会出现javax.net.ssl.SSLHandshakeException: No appropriate protocol的异常

(博客地址:https://blog.csdn.net/wuyu7448/article/details/121131352

修改jre/lib/security/java.security中的disabledAlgorithms

查看disabledAlgorithms(禁用算法)发现:

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

删除SSLv3, TLSv1, TLSv1.1,然后重启应用即可

问AI发现:

所以是不是可以理解成,jdk1.8禁用了这些版本协议,但是HttpUtils又要用到,所以冲突了?

对应该是这样的,再看看源码

HttpUtil.getInf ----> httpGetByType

在httpGetByType类中有一个实例 sslcontext

SSLContext sslcontext = createIgnoreVerifySSL();

进入,发现主要创建了跳过的解密算法

SSLContext sc = SSLContext.getInstance("SSLv3");

所以,结论应该是HttpUtil使用时会用到TLS算法(TLSv1,TLSv1.1),但是jdk8里面禁用了,而用postman调试时,我点了跳过SSL认证从而没有出现此问题。

 

 

标签:protocol,No,TLSv1.1,ssl,disabledAlgorithms,net,HttpUtil
From: https://www.cnblogs.com/southmelon/p/17552902.html

相关文章

  • antd from 表单中的key 不能绑定input中的字段 Input.js:207 Uncaught (in promise)
    <Formclass="NewVersion"ref="formRef"name="NewVersion":model="formData"><Spacev-for="(newPg,index)informData.version":key="index"style="dis......
  • Query2box Reasoning over Knowledge Graphs in Vector Space using Box Embeddings
    目录概符号说明Query2Box代码RenH.,HuW.andLeskovecJ.Query2box:Reasoningoverknowledgegraphsinvectorspaceusingboxembeddings.ICLR,2020.概Boxembedding用于查询判断,和我想的那个有很大差别啊.我对这方面不是很了解,只能记录个大概.符号说明......
  • 【雕爷学编程】Arduino动手做(149)---MAX9814咪头传感器模块3
    37款传感器与执行器的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止这37种的。鉴于本人手头积累了一些传感器和执行器模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的,这里准备逐一动手尝试系列实验,不管成功(程序走通)与否,都会记录下来—小小的进步或是搞......
  • 题解 [NOIP2015 提高组] 运输计划
    题目链接闲话:虽说是紫题,但慢慢想还是完全没有问题的。由于\(m\)个运输计划同时开始,所以耗费时间就是最慢的飞船耗费的时间(即最长时间)。考虑到题目让求最短时间,也就是最长的最短,可以二分。考虑二分最长时间(记作\(k\)),那么将所有路径分成两类,一类是原来耗费的时间就小于等于\(......
  • yarn : 无法加载文件 E:\nodejs\yarn.ps1,因为在此系统上禁止运行脚本。问题解决
    1.在电脑的开始菜单中,搜索PowerShell ,然后以管理员身份运行,如下所示:2.以管理员身份运行后,会出现命令窗口,接下来,输入命令get-ExecutionPolicy 查看权限,会看到它的返回值是 Restricted ,意思是当前是禁用的。3.执行命令:set-ExecutionPolicyRemoteSigned,没有报错就......
  • HttpURLConnection绕过SSL验证,信任所有证书的工具类
    HttpURLConnection绕过SSL验证,信任所有证书的工具类发起https请求时经常会出现javax.net.ssl.SSLHandshakeException:java.security.cert.CertificateException这样的错误,那是因为环境中没有证书校验,我们可以在连接中设置绕过SSL校验来解决这个问题。publicclassSslUtil{......
  • QJsonObject
    QJsonObject #include<QJsonObject> PublicTypesclassconst_iteratorclassiteratortypedefConstIteratortypedefIteratortypedefkey_typetypedefmapped_typetypedefsize_typePublicFunctions QJsonObject() QJsonO......
  • Notepad
    #Notepad###题面翻译###题目描述一开始打出的内容为空。现在你要打出一个长度为$n$的字符串$s$(全为英文小写字母组成),为此每次你可以进行如下操作中的一种:-在已打出内容的最后添加一个字符。-复制已打出内容的一个连续的子串并加到内容的末尾。问你能不能在严格小于$......
  • BatchNorm
    BatchNorm层【对数据进行归一化】位置:全连接层:仿射变换与激活函数之间卷积层:卷积层后与激活函数之前作用:①加快收敛速度;②防止梯度爆炸/梯度消失③防止过拟合......
  • nginx: [emerg] unknown directive "ngx_fastdfs_module" in /usr/local/src/nginx-1.
    一、问题说明:搭建fastDFS集群时,提示错误信息为:nginx:[emerg]unknowndirective"ngx_fastdfs_module"in/usr/local/src/nginx-1.10.0/conf/nginx.conf:52        通过分析加载fastdfs模块出错二、配置完信息后在,执行nginx-V  发现没有fastdfs的相关内......