java调用https服务的ip地址报错证书问题解决:SSLPeerUnverifiedException: Certificate fo

这篇具有很好参考价值的文章主要介绍了java调用https服务的ip地址报错证书问题解决:SSLPeerUnverifiedException: Certificate fo。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

问题描述:

java项目调用微信api的域名接口正常: String wxAccessTokenUrl = "https://api.weixin.qq.com/cgi-bin/token?"; 因项目要求采用ip访问外部服务,所以ping api.weixin.qq.com 得到域名对应的ip为101.91.37.13, 所以替换java调用api接口为:"https://101.91.37.13/cgi-bin/token?";

此时项目代码调用api接口为:"https://101.91.37.13/cgi-bin/token?",发出http请求后报错,内容如下:

javax.net.ssl.SSLPeerUnverifiedException: Certificate for <101.91.37.13> doesn't match any of the subject alternative names: [mp.weixin.qq.com, *.api.weixin.qq.com, *.mp.weixin.qq.com, *.open.weixin.qq.com, *.wechat.com, *.weixin.qq.com, mp.weixinbridge.com, rd.wechatapp.com, servicewechat.com]

解决办法

1. 修改请求的域名/ip,使证书可以覆盖到。

2. 设置证书的SAN,覆盖到请求的域名/ip。

3. 从代码上,要从调用HttpClient的代码入手,单独处理下信任所有证书,关闭主机名校验,就能通过验证了。 代码:

//信任所有证书,关闭主机名校验
        SSLConnectionSocketFactory sslsf = new SSLConnectionSocketFactory(
                SSLContexts.custom().loadTrustMaterial(null,new TrustSelfSignedStrategy()).build(),
                NoopHostnameVerifier.INSTANCE);
        // 创建Httpclient对象
        CloseableHttpClient httpclient = HttpClients.custom().setSSLSocketFactory(sslsf).build();
//        CloseableHttpClient httpclient = HttpClients.createDefault();

--------------------------------------

参考解决:用HttpClient发送HTTPS请求报SSLException: Certificate for <域名> doesn‘t match any of the subject alternative_飞奔的大土豆的博客-CSDN博客

参考思路:httpClient,Certificate for ip/域名 doesn't match any of the subject altinative names: []问题处理_马路上开飞机的博客-CSDN博客

javax.net.ssl.SSLPeerUnverifiedException: Certificate for <IP> doesn't match common name of t_shenqs0403的博客-CSDN博客文章来源地址https://www.toymoban.com/news/detail-523390.html

到了这里,关于java调用https服务的ip地址报错证书问题解决:SSLPeerUnverifiedException: Certificate fo的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 解决nacos配置服务ip地址与服务器ip地址不同的问题

    存在问题:在使用nacos注册服务时,如果没有显式配置的话,nacos为服务注册的ip地址通常不会是localhost。 因此,在进行调用的时侯,nacos会返回在其中注册的IP地址,可这经常与服务所在服务器地址不同,最终导致调用服务超时的异常 原因分析:nacos默认使用计算机其中之一

    2024年04月17日
    浏览(27)
  • Java调用https接口添加证书

    将代码复制到工程中  执行完毕没有报错会在工程下面生成jssecacerts文件 将文件放到jdk/jre/lib/security/路径下,具体试实际路径为准,我存放的位置是: /usr/local/apps/jdk1.7.0_79/jre/lib/security/jssecacerts 在调用https接口的实现类中加入以下代码,指定证书位置: 注意:hostname.equals(\\\"

    2024年02月12日
    浏览(35)
  • 【服务器】使用域名解析服务器的IP地址并配置SSL证书

    ​ 目录 🌺【服务器】使用域名访问服务器的IP地址 【前提】服务器设置端口  🌻1. 域名解析服务器IP  🌼2. 绑定域名方式一:常用 🌷2.1 阿里云领取免费SSL证书 🌷2.2 修改Nginx配置文件 (1)打开Xftp和Xshell 7 (2)Xshell 7安装Nginx环境 🍀a.【nginx.conf配置文件】 🍀b. 【不同路

    2024年01月24日
    浏览(43)
  • 阿里云服务器如何部署ssl证书即https的设置,以及为ip部署ssl

    阿里云ecs服务器 linux宝塔界面 ssl证书 nginx web服务器 1. ssl全称为ecure Sockets Layer 安全套接字协议) 它的作用就是让网站的http协议改为具有加密传输功能的https… 2. 关于ssl如何在阿里云申请 ,我不再赘述,已有大量类似的文章可供参考。

    2024年02月02日
    浏览(42)
  • 如何解决Charles无法抓取HTTPS及证书过期的问题

    测试管理班是专门面向测试与质量管理人员的一门课程,通过提升从业人员的团队管理、项目管理、绩效管理、沟通管理等方面的能力,使测试管理人员可以更好的带领团队、项目以及公司获得更快的成长。提供 1v1 私教指导,BAT 级别的测试管理大咖量身打造职业规划。 Ch

    2024年04月10日
    浏览(41)
  • C# 解决 https请求 ssl证书问题,看我一篇通通解决

    废话不多说,直接上代码,实干兴邦,空谈误国!光说不贴源代码更是耍流氓! 针对旧版本的接口框架,.netformwork4.5以下,加上传统的ssl机制即可解决问题。 针对.net core版本的框架,采用ssl证书验证回调的方式,其中方案二和方案三同属于一种解决方式,方案三的更直接明了

    2024年02月16日
    浏览(38)
  • Java 【dubbo rpc改feign调用】解决调用服务提供方无法传递完整参数问题

    【框架改造问题点记录,dubbo改为spring cloud alibaba】 【第二篇】feign接口异常解决 【描述】多参数情况下,调用服务提供方无法传递完整参数、改@SpringQueryMap原因是会将实体自动拆分为拼接参数。目前只遇到多参数:实体和单参数情况,持续更新… 汇总: 1.多个普通参数,

    2024年02月16日
    浏览(31)
  • Nginx解决通过openssl自签名证书访问Https报不安全告警的问题

    nginx代理设置自签ssl证书并进行https方式访问,浏览器中会报不安全的告警,记录一下处理过程 本文内容摘自CSDN博主「Dylanu」的原创文章 解决https网站通过nginx+openssl自签名证书访问,在谷歌浏览器报不安全告警的问题 使用指定-subj “/C=CN/ST=MyProvince/L=MyCity/O=MyOrganization”,生成根

    2024年02月03日
    浏览(29)
  • 关于.NET6后端程序(api)部署ssl证书的问题(https) 解决ing

    首先 一般情况下,后端不用https,但vs默认创建工程时,很容易勾选,这是需要将https改为http 改两处 一、把program.cs的 //app.UseHttpsRedirection(); 注释了 二、launchSettings里的iisSettings中 443改为0 再加一处 launchSettings的\\\"applicationUrl\\\": \\\"http://localhost:5001\\\"需要把s删掉 如果不改 用post会默认

    2024年01月17日
    浏览(39)
  • 【Java项目】SpringCloud项目注册到Nacos中心时显示的是内网IP导致不同服务器之间无法互相调用接口的解决并发

    微服务项目地址—动动你发财的小手点一个stars吧 出现这个问题是之前我也就遇到过的,这个问题的情况就是: 我们知道微服务项目是可以把不同的项目部署在不同的服务器上从而减少某一台服务器的压力,我们只需要为每一个服务配置一个注册中心即可,然后一个服务需要

    2024年02月16日
    浏览(36)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包