问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

https证书快过期 java报错么

发布网友 发布时间:2022-04-23 03:53

我来回答

2个回答

热心网友 时间:2023-10-13 15:43

在java代码中请求https链接的时候,可能会报下面这个错误
javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
原因是没有证书。在浏览器中直接使用url访问是可以的,应该是浏览器之前就保存过对应的.cer证书。
解决方法有两种,从目标机器获得有效证书或者忽略证书信任问题。
一、获得目标机器有效证书
1、编译安装证书程序 javac InstallCert.java
2、运行安装证书程序生成证书
java InstallCert my.hoolai.com
例如:java InstalCert smtp.zhangsan.com:465 admin
如果不加参数password和host的端口号,上面的获取证书程序中默认给的端口号是:443,密码是:changeit

3、根据运行提示信息,输入1,回车,在当前目录下生成名为: jssecacerts 的证书
将证书放置到$JAVA_HOME/jre/lib/security目录下, 切记该JDK的jre是工程所用的环境!!!
或者:
System.setProperty("javax.net.ssl.trustStore", "你的jssecacerts证书路径");
可以更改密码,在security目录下运行命令
keytool -storepasswd -new xxxcom -keystore cacerts
就可以修改密码,修改后使用命令
keytool -list -v -keystore cacerts
查看文件的信息,会提示需要密码才能查看,如果输入密码与修改后的密码匹配,说明修改成功了。
PS:至此这种方式可以成功使用ssl了,另外再补充一下,根据刚才生成的文件jssecacerts,可以生成cer文件,
命令如下
keytool -export -alias xxx.com-1 -keystore jssecacerts -rfc -file xxx.cer
如上,之前的工具类中默认命名别名是加上"-1"。使用InstallCert设置的密码需要跟cacerts文件中的密码一致,
如果修改过密码,就需要修改InstallCert类中对应的密码字符串,否则会有下面这个异常:
java.security.UnrecoverableKeyException: Password verification failed
二、忽略证书信任问题
源码:http://mengyang.iteye.com/blog/575671
一定要注意需要在connection创建之前调用文章里所述的方法,像这个样子:
trustAllHttpsCertificates();
HostnameVerifier hv = new HostnameVerifier() {
public boolean verify(String urlHostName, SSLSession session) {
return true;
}
};
HttpsURLConnection.setDefaultHostnameVerifier(hv);
connection = (HttpURLConnection) url.openConnection();
好吧,两种方法都试过有效。

热心网友 时间:2023-10-13 15:43

是的,请到期之前进入淘宝Gworg办理续费。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
Linux系统安装FTP服务器 Linux系统的网络文件共享 建筑的七盏明灯的内容简介 面向对象设计七大原则 简单说 交互设计七大定律 交互设计的“根”——七大定律 交互设计原则和理论2——七大定律 七大设计原则 附近的加油站有哪些 附近的加油站有哪些地方 CAS配置问题 CAS配置问题 今天做javamail遇到如下问题,有哪位大婶帮忙解决下 今天做javamail遇到如下问题,有哪位大婶帮忙解决下 欧美年轻女明星 欧美年轻女明星 翻译几个字 翻译几个字 有java scwcd的证书,能 应聘什么职位,大概薪水多少? 有java scwcd的证书,能 应聘什么职位,大概薪水多少? 计算机专业应该考什么认证? 计算机专业应该考什么认证? CNA有什么职业 CNA有什么职业 帮忙用英语翻译一句话。 帮忙用英语翻译一句话。 想考oracle的java se 7认证,先要考Certified Associate,再考 Certified Professional certification? 想考oracle的java se 7认证,先要考Certified Associate,再考 Certified Professional certification? 我想问一下,关于java都有哪些考试?(sun公司的java认证除外),这些考试可以在郑州参加吗? 我想问一下,关于java都有哪些考试?(sun公司的java认证除外),这些考试可以在郑州参加吗? 中译英。急,急,急。 中译英。急,急,急。 哪个版本的Linux占硬盘空间最小? 哪个版本的Linux占硬盘空间最小? 【求助】请教Java高手!一个关于在spring上运行webservice出现的问题。 【求助】请教Java高手!一个关于在spring上运行webservice出现的问题。 卧室置物架怎样选购 卧室置物架有哪些好处 卫生间储物架的设计要点及选购的方法 电表箱影响了美观,除了用挂画还有什么东西可以遮掩呢? 墙上置物架不需打孔 现在都流行免打孔置物架了 墙上置物架不需打孔 现在都流行免打孔置物架了 家用置物架有哪些类型,主要是什么材质? 浴室置物架怎么选购,选购技巧在这里 浴室置物架怎么选购,选购技巧在这里 卫生间储物架材质哪种好 不同材质卫生间储物架对比分析 浴室置物架什么样的不错? 浴室置物架什么样的不错? 选购卫生间置物架应该注意哪些问题 选购卫生间置物架应该注意哪些问题 像这类墙上的置物架是怎么固定上的?