java.security.cert.CertificateException: No subject alternative names present

Java代码忽略https证书:No subject alternative names present https No subject alternative names present 阅读详情
AI摘要

本文围绕web升级https时遇到的错误展开,指出问题是证书中缺少主题备用名称(SANs)信息所致。SANs用于指定SSL证书适用域名,若为空或未含连接主机名会引发异常。给出解决办法,测试环境用OpenSSL生成新证书替换,生产环境先联系CA提供方,必要时改代码。

需求:
web 升级https时遇到的错误。
先说结论,这个问题是证书的问题。

问题描述:

在SSL证书中未找到主题备用名称(Subject Alternative Names,SANs)的信息。SANs用于指定SSL证书可以用于哪些域名(包括主机名、IP地址等),如果SSL证书的SANs字段为空,或者没有包含正在尝试连接的主机名,就会引发这个异常。

解决办法: 重新生成正确的证书

测试环境下,根据自身需求使用OpenSSL生成新的携带正确信息的证书,并且替换就好。生产环境的话,首先联系CA提供方要求,在CA技术支持无法解决的情况下(极低),改代码吧。

  1. **创建一个配置文件(san.cnf) **
[req]
req_extensions = v3_req

[v3_req]
subjectAltName = @alt_names

[alt_names]
IP.1 = [填写你要用的ip地址]
IP.2 = [your ip 2]
DNS.1 = [填写你要用的域名]
DNS.2 = [your dns 2]
  1. 生成私钥文件(server.key)
openssl genpkey -algorithm RSA -out server.key
  1. 生成证书请求文件(server.csr)
openssl req -new -key server.key -out s
访问https地址时出现异常:java.security.cert.CertificateException: No subject alternative names present 前几天在工作中碰到一个问题,我们通过回调接口的形式向对接方返回数据,在工程中使用的HttpClient是Spring自带的RestTemplate。但是有一家给到的回调地址为https://ip地址+uri的形式,在进行回调时抛出了如题异常,我理解为是目标地址没有安全证书导致的。查阅一些资料后知道,原来https访问的时候是需要域名才可以的,无法使用ip。这跟前面的没有安全证书又有什么联系呢?其实... 阅读详情

相关推荐

javax.net.ssl.SSLHandshakeException: java.security.cert.CertificateException:No subject alternative

javax.net.ssl.SSLHandshakeException: java.security.cert.CertificateException:No subject alternative names present解决方案。

weixin_53273474的博客 2754

深入解析Java SSL证书验证:解决No subject alternative names present异常

本文深入解析Java SSL证书验证机制,重点解决'No subject alternative names present'异常问题。通过分析SANs(Subject Alternative Names)的重要性,提供使用OpenSSL生成合规SSL证书的详细步骤,并分享生产环境中的最佳实践和代码层面的解决方案,帮助开发者有效应对HTTPS连接中的证书验证挑战。

weixin_42552716的博客 467

深入解析Java SSL证书错误:No subject alternative names present的根源与解决方案

本文深入解析Java SSL证书错误'No subject alternative names present'的根源与解决方案,重点探讨了主题备用名称(SANs)的重要性及其在Java安全机制中的关键作用。通过OpenSSL生成包含SANs的自签名证书的详细步骤,以及生产环境中处理证书问题的专业建议,帮助开发者有效解决HTTPS连接时的证书验证问题。

weixin_29292535的博客 473

SSL - SSLHandshakeException: No subject alternative names present

一、异常日志 javax.net.ssl.SSLHandshakeException: Caused by: java.security.cert.CertificateException: No subject alternative names present at sun.security.util.HostnameChecker.matchIP(Unknown ...

袭冷 4752

【寄存器模型】一、一个简单的寄存器模型

在描述寄存器模型之前,首先来了解一下实际寄存器的组成结构:如下图所示的DUT内部真实的寄存器寄存器中最小的一个单位是域(field),域是由一个或多个bit拼接而成的。一个或多个域就构成了一个寄存器(reg)。一个或多个寄存器就构成了一个块(block)。将DUT中的寄存器抽象出来,建立寄存器模型,如下图所示:uvm library已经定义好了field、reg、block等相关的概念,构建寄存器模型时,只需要继承这些类即可。:构建寄存器模型中的域段。uvm_reg。...

carrotbanana的博客 5368

Ubuntu22.04下RTX2080显卡驱动、CUDA、cuDNN保姆级避坑安装指南(实测有效)

本文提供Ubuntu22.04下RTX2080显卡驱动、CUDA和cuDNN的详细安装指南,涵盖前期准备、驱动安装、CUDA版本选择、cuDNN配置及常见问题解决。通过实测有效的步骤和优化建议,帮助用户快速搭建稳定的深度学习环境,避免常见陷阱。

weixin_42540248的博客 285

别再为CAD和GIS数据对不上而头疼了!一份完整的ArcGIS for AutoCAD坐标系定义与数据套合指南

本文详细介绍了如何通过ArcGIS for AutoCAD插件解决CAD与GIS数据坐标系不匹配的问题,实现数据的精准套合。文章从坐标系冲突分析、插件核心功能解析到五步标准化工作流,提供了完整的解决方案,帮助工程师和设计师提升跨平台协作效率。

weixin_42531886的博客 217

NVIDIA Isaac平台体验:Isaac Sim与Isaac ROS的快速了解

NVIDIA Isaac平台是一个专为机器人和人工智能(AI)打造的加速平台,旨在为开发者提供一个全面的工具集,以加速机器人相关应用的开发和部署。材质定义语言(MDL)是一种用于描述材质属性和行为的编程语言,能够精确地定义材质的光学特性和物理属性。NVIDIA Isaac Sim 通过支持 MDL,进一步提升了仿真环境中材质的真实感和细节表现。精确的材质定义:MDL 允许开发者精确地定义材质的光学特性和物理属性,如反射率、折射率、粗糙度和透明度等。这使得仿真环境中的物体看起来更加真实和自然。动态材质。

全世界的博客 4万+

如何使用apifox打包测试用例生成测试套件自动化执行

使用apifox打包测试用例生成测试套件自动化执行

weixin_55613512的博客 2887

linux系统宝塔服务器temp文件夹里总是被上传病毒php脚本

服务器时不时的会发送短信说你服务器有病毒,找到了这个tmp文件,删除了之后又有了。确实是有很多人就这么无聊,每天都攻击你的服务器。找了很久的原因,网上也提供了一大堆方法,但都是很简陋的答案,具体怎么操作并没有说。没办法只能自己去排查这个问题。从两个角度来考虑,第一是服务器系统问题,比如宝塔的漏洞。但一时半会看不出问题来。只能去排查自己的项目代码。最后了解到代码确实是存在漏洞的。但代码中也确实了很多的校验,为什么会存在漏洞了?这就不得不从上传的过程开始说起。

guiplan 1497

YOLOv5源码逐行超详细注释与解读(2)——推理部分detect.py

全网最详细的YOLOv5之推理部分detect.py源码逐行注释,近四万字的超详细讲解!小白入门必看!

路人贾的博客 5万+

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

上一篇: Web 升级 Https
下一篇: javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building f
知楠行易
博客等级 码龄9年 320粉丝 56原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值