HTTP取消SSL认证
1. SSL代码
import org.springframework.http.client.SimpleClientHttpRequestFactory;
import javax.net.ssl.*;
import java.io.IOException;
import java.net.HttpURLConnection;
import java.security.SecureRandom;
import java.security.cert.X509Certificate;/*** @Description 取消SSL认证* @Author jzhao* @Date 2021-4-15 17:03**/
public class SSL extends SimpleClientHttpRequestFactory {@Overrideprotected void prepareConnection(HttpURLConnection connection, String httpMethod) throws IOException {if (connection instanceof HttpsURLConnection) {prepareHttpsConnection((HttpsURLConnection) connection);}super.prepareConnection(connection, httpMethod);}private void prepareHttpsConnection(HttpsURLConnection connection) {connection.setHostnameVerifier(new SkipHostnameVerifier());try {connection.setSSLSocketFactory(createSslSocketFactory());}catch (Exception ex) {// Ignore}}private SSLSocketFactory createSslSocketFactory() throws Exception {SSLContext context = SSLContext.getInstance("TLS");context.init(null, new TrustManager[] { new SkipX509TrustManager() },new SecureRandom());return context.getSocketFactory();}private class SkipHostnameVerifier implements HostnameVerifier {@Overridepublic boolean verify(String s, SSLSession sslSession) {return true;}}private static class SkipX509TrustManager implements X509TrustManager {@Overridepublic X509Certificate[] getAcceptedIssuers() {return new X509Certificate[0];}@Overridepublic void checkClientTrusted(X509Certificate[] chain, String authType) {}@Overridepublic void checkServerTrusted(X509Certificate[] chain, String authType) {}}}
2. RestTemplateConfig代码
import lombok.extern.slf4j.Slf4j;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.http.client.ClientHttpRequestFactory;
import org.springframework.web.client.RestTemplate;/*** @Description RestTemplateConfig配置* @Author jzhao* @Date 2021-4-15 16:51**/
@Configuration
@Slf4j
public class RestTemplateConfig {@Beanpublic RestTemplate restTemplate(ClientHttpRequestFactory factory) {return new RestTemplate(factory);}@Beanpublic ClientHttpRequestFactory simpleClientHttpRequestFactory() {SSL factory = new SSL();factory.setReadTimeout(5000);factory.setConnectTimeout(15000);//单位为msreturn factory;}
}
3. HttpClientTempUtil工具类代码
import com.alibaba.fastjson.JSONObject;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import org.springframework.web.client.RestTemplate;/*** @Description 工具类* @Author jzhao* @Date 2021-4-15 16:45**/
@Component
public class HttpClientTempUtil {@Autowiredprivate RestTemplate restTemplate;public String sendPostRequest(String url, JSONObject params) {JSONObject json = restTemplate.postForEntity(url, params, JSONObject.class).getBody();return json.toJSONString();}}
HTTP取消SSL认证相关推荐
- 达梦数据库配置SSL认证加密
环境介绍 OS Version:Kylin Linux Advanced Server release V10 (SP1) /(Tercel)-x86_64-Build19/20210319 DB V ...
- mysql使用jdbc连接增加ssl认证
mysql使用jdbc连接增加ssl认证 1.创建用户并指定ssl连接 grant all on . to 'imooc'@'%' identified by 'imooc require SSL; ...
- JAVA爬虫https_java爬虫问题一:解决使用htmlunit 时候ssl认证失败问题
java爬虫问题一:解决使用htmlunit 时候ssl认证失败问题 凯哥Java 凯哥java 前言: 在使用htmlunit 爬取其他网站信息的时候,提示错误信息:unable to find v ...
- Java笔记-基于Spring Boot的SOAP双向SSL认证及WS-Security
这里服务端开放了简单的SOAP的API,但是想获取数据时需要双向SSL以及WS-Security签名. 其中对应的xsd文件如下: <xs:schema xmlns:xs="http: ...
- 【ssl认证、证书】java中的ssl语法API说明(SSLContext)、与keytool 工具的联系
文章目录 1. 前言 java中的ssl语法与keytool 工具的联系 2. SSLContext的体系 2.1 KeyStore 2.1.1 通过证书库文件创建: 2.1.2 随机生成自签名证书库 ...
- mysql5.7增加ssl认证
mysql5.7增加ssl认证 一.查看服务端mysql环境 1.查看是否开启了ssl,"have_ssl" 为YES的时候,数据库是开启加密连接方式的. show global ...
- mysql5.7增加ssl认证(1)
mysql5.7增加ssl认证 一.查看服务端mysql环境 1.查看是否开启了ssl,"have_ssl" 为YES的时候,数据库是开启加密连接方式的. show global ...
- Tomcat双向SSL认证及CA数字证书安装和配置QQ即时通信协议窥探
1.Java加密与解密的艺术 网络信息安全近几年成为热点.职业发展新方向,常规Web应用如BBS.BLOG.SNS及电子商务等B/S系统是以用户为核心,账号管理是这些系统中唯一的安全屏障:IM即时聊天 ...
- Elasticsearch SSL认证/证书制作
转载自:Elasticsearch SSL认证/证书制作 Elasticsearch SSL认证/证书制作 - a-du - 博客园 制作目的 在上一篇<elasticsearch7.X x-p ...
最新文章
- QTableView和QTableWidget翻页功能实现
- boost::hana::then用法的测试程序
- html css 画五角星,纯 CSS3 绘制图形(心形、五角星、六边形等)
- Python实现简单的记账本功能
- 【转】测试人员的思想理念和工作方法
- refract推导_我们如何利用Refract来利用React式编程的力量
- python模块time_Python模块:time模块详解(转)
- [CEOI2008]order
- 6-3 图片合成视频
- JS高级程序设计——阅读笔记一
- 【QT】简单易学的QT安装教程
- 白群晖图文版阿里云域名解析IPV6远程访问方法
- Shell_NotifyIcon
- ubuntu开启键盘背光灯
- [计算机视觉] AprilTag: A robust and flexible visual fiducial system(2011)论文理解
- 使用jpedal解析PDF到XML
- 王者荣耀微信查看服务器地址大全,王者荣耀游戏账号在哪里查看微信
- C# 反射类Assembly用法举例
- java 上传文件-生成文件首页缩略图 生成pdf 抓取图片
- 【English】新征程,我们在路上
热门文章
- win7笔记本外接显示器html,window7笔记本外接显示器只显示一个屏幕怎么设置
- 深度盘点:整理100个 Pandas 常用函数
- 我的ElasticSearch认证工程师之路
- MySQL-V5.7 压缩包版安装教程
- PDF转成Word或PPT后还是图片是怎么回事?
- js的json php无法json_decode,PHP中遇到BOM、 编码导致json_decode函数无法解析问题
- 辉芒微IO单片机FT60F023-RB
- QTP数据驱动和关键字驱动
- Internet Explorer 7+ ,微软的vista IE 浏览器
- 5个最好的在线文件共享网站