首页 文章 精选 留言 我的

精选列表

搜索[JDK 25],共10000篇文章
优秀的个人博客,低调大师

JDK安全证书的一个错误消息 No subject alternative names present的解决办法

我使用Java消费某网站一个Restful API时,遇到这个错误: 21:31:16.383 [main] DEBUG org.springframework.web.client.RestTemplate - Created GET request for "https://127.0.0.1:5031/commerce/product"21:31:16.388 [main] DEBUG org.springframework.web.client.RestTemplate - Setting request Accept header to [text/plain, application/json, application/+json, /*] Exception in thread "main" org.springframework.web.client.ResourceAccessException: I/O error on GET request for "https://127.0.0.1:5031/commerce/product": java.security.cert.CertificateException: No subject alternative names present; nested exception is javax.net.ssl.SSLHandshakeException: java.security.cert.CertificateException: No subject alternative names present at org.springframework.web.client.RestTemplate.doExecute(RestTemplate.java:673) at org.springframework.web.client.RestTemplate.execute(RestTemplate.java:620) at org.springframework.web.client.RestTemplate.getForEntity(RestTemplate.java:319) at com.sap.prolikeService.service.impl.CommerceProductService.getProductDetailByID(CommerceProductService.java:23) at com.sap.prolikeService.sandbox.SandboxTest.getProductDetailTest(SandboxTest.java:45) at com.sap.prolikeService.sandbox.SandboxTest.main(SandboxTest.java:49) Caused by: javax.net.ssl.SSLHandshakeException: java.security.cert.CertificateException: No subject alternative names present at sun.security.ssl.Alerts.getSSLException(Alerts.java:192) at sun.security.ssl.SSLSocketImpl.fatal(SSLSocketImpl.java:1949) at sun.security.ssl.Handshaker.fatalSE(Handshaker.java:302) at sun.security.ssl.Handshaker.fatalSE(Handshaker.java:296) at sun.security.ssl.ClientHandshaker.serverCertificate(ClientHandshaker.java:1506) at sun.security.ssl.ClientHandshaker.processMessage(ClientHandshaker.java:216) at sun.security.ssl.Handshaker.processLoop(Handshaker.java:979) at sun.security.ssl.Handshaker.process_record(Handshaker.java:914) at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:1062) at sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1375) at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1403) at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1387) at sun.net.www.protocol.https.HttpsClient.afterConnect(HttpsClient.java:559) at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:185) at sun.net.www.protocol.https.HttpsURLConnectionImpl.connect(HttpsURLConnectionImpl.java:153) at org.springframework.http.client.SimpleBufferingClientHttpRequest.executeInternal(SimpleBufferingClientHttpRequest.java:78) at org.springframework.http.client.AbstractBufferingClientHttpRequest.executeInternal(AbstractBufferingClientHttpRequest.java:48) at org.springframework.http.client.AbstractClientHttpRequest.execute(AbstractClientHttpRequest.java:53) at org.springframework.web.client.RestTemplate.doExecute(RestTemplate.java:659) ... 5 more Caused by: java.security.cert.CertificateException: No subject alternative names present at sun.security.util.HostnameChecker.matchIP(HostnameChecker.java:144) at sun.security.util.HostnameChecker.match(HostnameChecker.java:93) at sun.security.ssl.X509TrustManagerImpl.checkIdentity(X509TrustManagerImpl.java:455) at sun.security.ssl.X509TrustManagerImpl.checkIdentity(X509TrustManagerImpl.java:436) at sun.security.ssl.X509TrustManagerImpl.checkTrusted(X509TrustManagerImpl.java:200) at sun.security.ssl.X509TrustManagerImpl.checkServerTrusted(X509TrustManagerImpl.java:124) at sun.security.ssl.ClientHandshaker.serverCertificate(ClientHandshaker.java:1488) ... 19 more 错误的核心就一句:No subject alternative names present 解决方案:重新生成证书,将缺失的IP地址包含在证书的extension部分即可。命令行如下: keytool -genkey -alias tomcat2 -keyalg RSA -keystore ./jerry2.keystore -ext SAN=dns:test.abc.com,ip:127.0.0.1 证书生成后,在Subject Alternative names区域能看到IP地址: 之后原始的错误就消失了: 本文来自云栖社区合作伙伴“汪子熙”,了解相关信息可以关注微信公众号"汪子熙"。

优秀的个人博客,低调大师

最佳实践 | 数据库迁云解决方案选型 & 流程全解析 | 11月25号栖夜读

点击订阅云栖夜读日刊,专业的技术干货,不容错过! 阿里专家原创好文 1.最佳实践 | 数据库迁云解决方案选型 & 流程全解析 Oracle是非常强大的综合数据库,但同时也存在一些劣势,比如由于采用集中式架构,无法很好地实现横向扩展,并且其稳定性依赖于硬件。出于架构升级、降低成本和云化等需求,越来越多的企业需要“去Oracle”。日前,阿里云数据库技术专家樊文凯在2019数据技术嘉年华大会上,为大家分享了Oracle数据库异构上云的最佳实践。阅读更多》》 2.2684亿销售额背后的阿里AI技术 大家好,我是林伟,我今天演讲的主题是《AI 突破无限可能—5 亿消费者的云上双 11》。我本人是做系统出身的,但在最近的一些会议上发现,越来越多做系统出身的人开始研究 AI。在 90 年代末的那波热潮里,我有幸在学校的人工智能实验室呆过,那时还在纠结模型效果,最后发现是自己想多了,那时做出来的东西还远远达不到可用的状态。在后来的一段时间内,AI 进入沉寂,最近几年又突然火爆,我在一些学校做交流的时候发现很多同学都在研究 AI 算法,但其实神经网络、遗传算法和模拟算法很多年前就已经出现,最近几年才爆发的最主要原因是数据和算力的提升。阅读更多》》 3.给 K8s API “做减法”:阿里巴巴云原生应用管理的挑战和实践 目前,阿里巴巴与蚂蚁金服内部运行了数十个超大规模的 K8s 集群,其中最大的集群约 1 万个机器节点,而其实这还不是能力上限。每个集群都会服务上万个应用。在阿里云 Kubernetes 服务(ACK)上,我们还维护了上万个用户的 K8s 集群,这个规模和其中的技术挑战在全世界也是首屈一指的。阅读更多》》 4.听说了吗?阿里双11作战室竟1根网线都没有 双11不光是购物狂欢节,更是对技术的一次“大考”,对于阿里巴巴企业内部运营的基础保障技术而言,亦是如此。回溯双11历史,这背后也经历过“小米加步枪”的阶段:作战室从随处是网线,交换机放地上的“一地狼藉”;到如今媲美5G的wifi网速,到现场却看不到一根网线;从当年使用商用AP(无线路由器),让光明顶双11当天断网一分钟,到全部使用阿里自研AP……阿里巴巴企业智能事业部工程师们提供的基础保障也在不断升级。阅读更多》》 5.高德服务单元化方案和架构实践 本文主要介绍了高德在服务单元化建设方面的一些实践经验,服务单元化建设面临很多共性问题,如请求路由、单元封闭、数据同步,有的有成熟方案可以借鉴和使用,但不同公司的业务不尽相同,要尽可能的结合业务特点,做相应的设计和处理。阅读更多》》 视频课程及PPT下载 1.3.1.1 JanusGraph —Distributed graph database with HBase视频地址:https://yq.aliyun.com/live/997PPT下载:https://yq.aliyun.com/download/2929云栖公开课专题页:https://yq.aliyun.com/activity/831 2.3.1.2 Graph图数据库基础介绍及场景视频地址:https://yq.aliyun.com/live/805PPT下载:https://yq.aliyun.com/download/3270云栖公开课专题页:https://yq.aliyun.com/activity/831 3.3.2.1 HTAP DB —System : ApsaraDB HBase Phoenix and Spark视频地址:https://yq.aliyun.com/live/1041PPT下载:https://yq.aliyun.com/download/3064云栖公开课专题页:https://yq.aliyun.com/activity/831 4.3.2.2 阿里云分析引擎Spark On多数据源介绍视频地址:https://yq.aliyun.com/live/1062PPT下载:https://yq.aliyun.com/download/3313云栖公开课专题页:https://yq.aliyun.com/activity/831 更多精彩直播 热门话题 1.在面对各种存储购买方案时,你是否会对购买何种方案感到纠结?(有奖话题) 你每年因为套餐的原因会造成多少的浪费呢? 你是否会因为业务需要而经常变更存储套餐? 对于存储产品的支付模式你是否有什么自己的建议以及期望呢? 点此进入回答赢取礼物 2.如果能在1分钟内训练出个AI模型,你想要做什么?(有奖话题) 之前你对智能视觉有了解吗?是通过什么渠道了解到的? 是否在你的业务中使用过类似智能视觉的AI技术?是用在什么场景中? 如果能在1分钟内训练出个AI模型,你想做什么? 点此进入回答赢取礼物 往期精彩回顾 程序设计的5个底层逻辑,决定你能走多快 | 11月22号栖夜读 更多干货内容 请关注云栖社区微信公众号!

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

用户登录
用户注册