解决 https 证书验证不通过的问题
解决的办法:忽略服务端和客户端的证书校验即可。java 提供的相关的类。
通过重写TrustManager的checkClientTrusted(检查客户端证书信任)和checkServerTrusted(检查服务端证书验证)。以及HostnameVerifier的verify(校验)方法即可取消对证书的所有验证。
import javax.net.ssl.*; import java.io.IOException; import java.net.URL; import java.security.cert.CertificateException; import java.security.cert.X509Certificate; public class DisableSSLCertificate {private static final Logger LOGGER = LoggerFactory.getLogger(DisableSSLCertificateCheckUtil.class);private DisableSSLCertificate() {}public void disableChecks() {try {new URL("https://0.0.0.0/").getContent();} catch (IOException e) {// This invocation will always fail, but it will register the// default SSL provider to the URL class. }try {SSLContext sslc;sslc = SSLContext.getInstance("TLS");TrustManager[] trustManagerArray = {new X509TrustManager() {@Overridepublic void checkClientTrusted(X509Certificate[] chain, String authType) throws CertificateException {}@Overridepublic void checkServerTrusted(X509Certificate[] chain, String authType) throws CertificateException {}@Overridepublic X509Certificate[] getAcceptedIssuers() {return new X509Certificate[0];}}};sslc.init(null, trustManagerArray, null);HttpsURLConnection.setDefaultSSLSocketFactory(sslc.getSocketFactory());HttpsURLConnection.setDefaultHostnameVerifier(new HostnameVerifier() {@Overridepublic boolean verify(String s, SSLSession sslSession) {return true;}});} catch (Exception e) {LOGGER.error("error msg:{}", e);throw new IllegalArgumentException("证书校验异常!");}} }
影响的范围:将会影响整个tomcat里面对证书的验证。即通过tomcat里面的其他项目虽然没有执行这一段代码但是也同样会忽略证书的验证。
影响的时间:执行这段代码之后的所有时间都生效。
解决 https 证书验证不通过的问题相关推荐
- java证书验证失败_解决https证书验证不通过的问题
1.报错信息 java.security.cert.CertificateException: No name matching api.weibo.com found; nested excepti ...
- idea验证失败_SVN提示https证书验证失败解决办法
技术分享之 <SVN提示https证书验证失败解决办法>--我要编程技术手册系列 svn提交代码时报错,证书认证失败 Commit failed with error 0 files co ...
- https证书验证的基本方法
https证书是一种数字证书,这种证书的主要作用是保护网站的信息安全,此时就能够提高网站的安全性.不过,网站配置了https证书之后一定要进行https证书验证,这种情况下的安全性是很高的.但是,ht ...
- 解决HTTPS证书安全检测时提示 PCI DSS 不合规问题
解决HTTPS证书安全检测时提示 PCI DSS 不合规问题 今天在进行HTTPS证书安全检测时,提示PCI DSS不合规.经查询得知是因为SSL配置时启用了TLS1.0导致的. 关于 PCI DSS ...
- http三次握手_【吊打面试,击中要害】http三次握手四次挥手,https证书验证阶段和数据传输阶段...
阅读文本大概需要3分钟. PPT: Jenkins与项目构建部署工具集成 0x01:tcp三次握手,四次挥手 三次握手(Three-way Handshake),是指在建立一个TCP连接时候,需要客户 ...
- java.security.cert.CertificateException: No name matching https证书验证不通过
1.报错信息 1 java.security.cert.CertificateException: No name matching api.weibo.com found; nested excep ...
- android 服务器证书校验,Android HTTPS证书验证的简单方式
1. 背景与需求 近期在做IP切换的HTTPS访问时,遇到了一些问题:客户端如何进行HTTPS的证书验证. 其实对于一般的项目基本都是做的单向验证,即在客户端证书或者HOST的验证:对于金融.银行相关 ...
- 解决SVN提示https证书验证失败问题svn: E230001: Server SSL certificate verification failed: certificate issued
svn: E230001: Server SSL certificate verification failed: certificate issued 今天在使用svn时候发现出现这个问题,这个是因 ...
- https 证书验证等原理
签名是指利用上一层证书的私钥,加密一些元信息(证书所有者的信息,包括基本信息,公钥,证书生效域名等).这样,当收到签名证书时,只需要根据CA提供的公钥对签名解密,验证元信息是否一致,就可以判断当前证书 ...
- iOS开发-https免证书验证
此处博主做一个声明,如果你想跳过https的双向验证,仅仅单向进行直接信任所有的证书,那么你们的后台也必须是允许单向验证的,否则设置了双向验证,客户端是无法跳过的,实在不想当初辛苦的经验被无知的小白说 ...
最新文章
- 2022-2028年中国橡胶减震产品行业市场研究及前瞻分析报告
- NLP顶级专家Dan Roth :自然语言处理领域近期的任务和主要应用
- 传统计算机视觉技术落伍了吗?不,它们是深度学习的「新动能」
- 干货丨深度学习、图像分类入门,从VGG16卷积神经网络开始
- python讲1020逆序输出_手把手带你学 Python3(九)| 快速实现数据处理的不二工具(文末有彩蛋)...
- Spring Security3.1登陆验证
- 签约华佗致力精准饮食 谋定·健康中国-李喜贵:健康干预治未病
- 使用java实现面向对象编程第二章_java面向对象编程——第二章 java基础语法
- flume linux环境搭建,linux安装flume及问题
- 基于THUCNews数据的BERT分类
- fastadmin出现token验证错误!_gitee 拥有3.7k星星的极速后台框架—FastAdmin了解一下...
- Copula、CoVaR、Garch、DCC、藤Vine、BEKK、SV、ECM
- 台式计算机如何连接投影仪,台式机怎么接投影仪 台式机接投影仪方法【详解】...
- 基于STM32WIFI远程监控电压电流表(二)电流检测电路
- 华为实验-关于不同vlan之间的互通 混合实验
- mac_m4a转mp3
- IC卡和ID卡以及两者的比较
- testin云测操作步骤
- JAVA通过tcp通信劳易测BCL 308i扫码枪获取数据
- [AWS] dynamodb-local本地数据库安装以及dynamoose模块连接dynamodb-local
热门文章
- 全网最雕的 10 名月薪超过 5W 的程序员,和他们的公众号!
- H.264标准(三)F4V封装格式详解
- python流星雨代码_用python一起来看流星雨
- 计算机中丢失profapi,profapi.dll
- 多个pdf合并成一个pdf_多个PDF怎么合并?这些PDF合并方法很简单!
- linux嵌入式第一阶段,零基础学嵌入式编程系列第一阶段Linux操作系统基础知识.ppt...
- 在线php网站扫描,php实现在线端口扫描实例代码_PHP教程
- EM算法在二维高斯混合模型参数估计中的应用
- React Native 圆形进度条组件
- ELK系列~NLog.Targets.Fluentd到达如何通过tcp发到fluentd