Java SSL - CertificateException: No name matching
用java去连接SSL网站时,有时候出现:
Caused by: java.security.cert.CertificateException: No name matching ...
这是因为虽然server的certificate被trust了,但是host name verify验证失败,因为你connect的service的hostname和证书中的subject CN name不一致,所以导致了这个问题。
解决办法有两个:
1 客户端可以更改SSL配置去信任所有的hostname。
TrustManager[] trustAllCerts = new TrustManager[]{
new X509TrustManager() {
public java.security.cert.X509Certificate[] getAcceptedIssuers() {
return null;
}
public void checkClientTrusted(X509Certificate[] certs, String authType) {
}
public void checkServerTrusted(X509Certificate[] certs, String authType) {
}
}
};
SSLContext sc = SSLContext.getInstance("SSL");
sc.init(null, trustAllCerts, new java.security.SecureRandom());
HttpsURLConnection.setDefaultSSLSocketFactory(sc.getSocketFactory());
HostnameVerifier allHostsValid = new HostnameVerifier() {
public boolean verify(String hostname, SSLSession session) {
return true;
}
};
// set the allTrusting verifier
HttpsURLConnection.setDefaultHostnameVerifier(allHostsValid);
2 服务端重新制作证书,将证书中的subject CN name signed成自己真正的被客户端连接时使用的hostname.
原文:http://blog.csdn.net/hongchangfirst/article/details/78202635
hongchangfirst的主页:http://blog.csdn.net/hongchangfirst
Java SSL - CertificateException: No name matching相关推荐
- java.security.cert.CertificateException: No name matching IP found
java.security.cert.CertificateException: No name matching localhost found 解释:安全证书异常,IP地址找不到 解决方案如下:程 ...
- java.security.cert.CertificateException: No name matching https证书验证不通过
1.报错信息 1 java.security.cert.CertificateException: No name matching api.weibo.com found; nested excep ...
- java ssl发送邮件_通过SSL发送的Java邮件
java ssl发送邮件 抽象 本博客的目的是演示如何使用Java Mail通过具有SSL连接的SMTP服务器发送电子邮件. 免责声明 这篇文章仅供参考. 在使用所提供的任何信息之前,请认真思考. 从 ...
- java ssl证书_Java安全教程–创建SSL连接和证书的分步指南
java ssl证书 在有关应用JEE安全性的系列文章中,我们为您提供了另一个有关如何在Java EE应用程序中创建SSL连接和创建证书的详细教程. 如我们之前的文章中所述, 安全套接字层(SSL)/ ...
- java ssl server,Java SSL Server禁用弱椭圆曲线
所以这是我的 Java ssl Server的代码. ctx是使用服务器密钥库初始化的SSLContext. public SSLEngine createSSLEngine() { SSLEngin ...
- java ssl连接(no cipher suites in common)
Java SSL/TLS 安全通讯协议介绍 Java 的安全通讯 本文主要介绍了网络安全通讯协议 SSL/TLS 和 Java 中关于安全通讯的实现部分.并通过一个简单的样例程序实现,来展示如何在 J ...
- java SSL 简单操作demo
SSL process :http://docs.oracle.com/javase/7/docs/technotes/guides/security/jsse/JSSERefGuide.html#H ...
- java ssl https 连接详解 生成证书
我们在关于Java EE安全的系列文章中,有一篇也详细介绍了如何在Java EE应用中创建SSL连接和证书.正如前面文章提到的,SSL(Secure Sockets Layer,安全套接层)/TLS( ...
- java ssl证书生成_java – 使用jdk中提供的keytool生成SSL证书
我在Web应用程序中使用的密钥库文件已于上周过期.我很久以前就生成了它.所以我开始使用keytool生成新证书.我使用此证书连接事务服务器和Web服务器.我想为此应用程序使用自签名证书.我使用以下命令 ...
最新文章
- ubuntu 安装OpenBLAS
- React开发(141):react中ref为class添加ref
- python中encode与decode编码转换
- my-innodb-heavy-4G.cnf中文注释(主要配置文件注释)
- 计算机动漫与游戏制作画画教学,科普下动漫制作必须会画画吗
- SpringBoot使用@Asyn注解注意事项
- python webservices_python实现webservices接口并调用
- C++ 訪问控制权限图解
- 如何获取Android移动终端设备唯一ID
- 百度之星程序设计大赛输出格式的注意
- 借助excel工具进行多元线性回归模型的建立及案例分析
- 初学者c语言编程软件_初学者的C编程语言
- S5p4418平台AP6212 WIFI稳定性的解决过程
- python Click库知识点汇总
- 全攻略:实现pynq-z2条形码识别
- 读书笔记—1分钟和陌生人成为朋友
- matlab 与VS混合编程的几个问题
- 智商决定是否录用,情商决定是否晋升
- Echarts图形化报表工具
- 转-CRC问题的解决