在Spring Rest模板中跳过SSL证书验证
使用Spring Rest模板时如何跳过SSL证书验证? 配置Rest Template,以便它使用Http Client创建请求。
注意:如果您熟悉sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
则下面的内容应该sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
您有所帮助。
Http客户端
首先,将HttpClient
(> 4.4)导入到您的项目中
compile('org.apache.httpcomponents:httpclient:4.5.1')
配置RestTemplate
使用Http客户端的SSLContexts
工厂方法配置SSLContext
:
TrustStrategy acceptingTrustStrategy = (X509Certificate[] chain, String authType) -> true;SSLContext sslContext = org.apache.http.ssl.SSLContexts.custom().loadTrustMaterial(null, acceptingTrustStrategy).build();SSLConnectionSocketFactory csf = new SSLConnectionSocketFactory(sslContext);CloseableHttpClient httpClient = HttpClients.custom().setSSLSocketFactory(csf).build();HttpComponentsClientHttpRequestFactory requestFactory =new HttpComponentsClientHttpRequestFactory();requestFactory.setHttpClient(httpClient);RestTemplate restTemplate = new RestTemplate(requestFactory);
org.apache.http.ssl.TrustStrategy
用于覆盖标准证书验证过程。 在上面的示例中-它始终返回true
,因此无需进一步验证即可信任证书。
考试
@Test
public void opensSSLPage() throws Exception {String uri = "https://some-secured-page.com";ResponseEntity<String> entity = restTemplate.getForEntity(uri, String.class);assertThat(entity.getStatusCode().is2xxSuccessful()).isTrue();
}
最后的话
上面的代码在某些情况下会有所帮助(例如,对具有自签名证书的服务器进行测试),但是不应在生产中使用它-除非您100%确信自己在做什么。
翻译自: https://www.javacodegeeks.com/2016/02/skip-ssl-certificate-verification-spring-rest-template.html
在Spring Rest模板中跳过SSL证书验证相关推荐
- Java 实现Https访问工具类 跳过ssl证书验证
<dependency><groupId>com.alibaba</groupId><artifactId>fastjson</artifactI ...
- php curl 不验证ssl,PHP Curl https跳过ssl证书认证报错记录及解决
PHP Curl https跳过ssl证书认证报错记录及解决 function get($url = '', $cookie = '') { $ch = curl_init(); curl_setop ...
- Web主机管理器(WHM)中如何安装SSL证书
Web主机管理器(WHM)使用一个基于Web的应用程序,可帮助管理Web服务器上的托管账户.在Web主机管理器中如何安装SSL证书? 这里需要先购买SSL证书,选择受信任的CA机构(Digicert. ...
- java用HttpURLConnection发起HTTPS请求并跳过SSL证书,解决:unable to find valid certification path to requested targ
java用HttpURLConnection发起HTTPS请求并跳过SSL证书 问题出现:unable to find valid certification path to requested ta ...
- python跳过ssl验证_Python SSL证书验证问题解决方案
这篇文章主要介绍了Python SSL证书验证问题解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 一.SSL问题 1.在你不启用fiddle ...
- python怎么爬虫https的内容_爬虫15 python 如何处理HTTPS请求访问 SSL证书验证
1 https和SSL之间是什么关系 https和SSL之间是什么关系:https就是在http上面加了一层ssl协议,在http站点上部署SSL数字证书就变成了https. 现在随处可见 https ...
- python 指定证书验证_Python SSL证书验证问题解决方案
Python SSL证书验证问题解决方案 这篇文章主要介绍了Python SSL证书验证问题解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 ...
- 【Python爬虫系列教程 5-100】 Requests高级用法:文件上传,如何设置SSL证书验证、处理超时设置 、身份认证和代理设置
文章目录 高级用法 文件上传 Cookies Session维持 SSL证书验证 超时设置 身份认证 代理设置 Prepared Request 高级用法 上篇,我们了解了requests的基本用法, ...
- ssl证书验证失败打不开网页
现在说到证书方面的知识,大家一点都不陌生,反倒是有很多人比较熟悉,但是关于ssl证书验证失败打不开网页这个问题如何去处理,ssl证书下载又是怎么样的一个过程?大家很多都是不理解的.其实这个问题都是基础 ...
最新文章
- GPT-2的大规模部署:AI Dungeon 2 如何支撑百万级用户
- 完全卸载oracle11g教程、Oracle11g的卸载方法和步骤
- 手把手教你玩转SOCKET模型:完成端口(Completion Port)详解
- scheduledexecutorservice 只执行一次_一个ScheduledExecutorService启动的Java线程无故挂掉引发的思考...
- 显示隐藏-display(HTML、CSS)
- bzoj 1044: [HAOI2008]木棍分割(二分+DP)
- 【CNN长文详解】大话卷积神经网络CNN(干货满满)
- Retrofit的初次使用
- Oracle数据库的下载地址
- c语言贪吃蛇添加排行榜,用C语言写贪吃蛇笔记-1
- Python如果or运算的两个参数都等同于False,返回后一个值
- 芋道 Spring Cloud Netflix 注册中心 Eureka 入门
- linux视频补帧,如何用 60 帧播放 24 帧的视频?
- 淘宝 阿里 数据库 内核月报—目录索引
- 商汤的AI伴游小精灵(2019 计蒜之道 初赛 第一场)
- 使用Tracup中的时间阻塞,提升工作效率(完整指南)
- MSDC 4.3 接口规范(7)
- 海尔计算机无法装win7系统,海尔自带Win10系统如何改成Win7系统?海尔台式机装win7详细步骤...
- 华为云部署JavaWeb(SpringBoot)程序(基于Centos7)
- 以计算机网络为话题的英语作文,以Internet为话题的英语作文
热门文章
- Hibernate框架之入门配置
- C++描述杭电OJ 2014. 青年歌手大奖赛_评委会打分 ||
- 干货!sqlserver数据库所有知识点总结整理,含代码(挺全的)
- java中求5的阶乘
- javaWeb服务详解(含源代码,测试通过,注释) ——applicationContext-Service.xml
- 对应node版本_安装Node.js教程
- win10关闭快速启动_装系统不求人,快速制作启动U盘,傻瓜式重装WIN10
- java联接pg库_Java14:使用Java 14的新记录联接数据库表
- java获取ram_Java:ChronicleMap第2部分,超级RAM映射
- openjdk 编译_使用OpenJDK 11运行JAXB xjc编译器