Https网站中的安全证书导入到java中的cacerts证书库
2014-03-19 18:24
821 查看
提示:
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
一个很简单的富客户端到WEB 服务器的连接,基本都能够正常建立连接,唯独公司NEXT、TIMS总是报javax.net.ssl.SSLHandshakeException和 sun.security.provider.certpath.SunCertPathBuilderException的异常,网上转了转,找到几篇
前辈的文章,摘下点重点以便以后继续剽与窃。
在项目开发中,有时会遇到与SSL安全证书导入打交道,如何把证书导入java的cacerts证书库?简单的用NEXT做个演示:
第一步:IE打开https://next.xxxcorp.cn,把要导入java证书库的证书下载
在该网页安全警报弹出窗口上查看证书--详细信息--复制到文件
会弹出一个证书导出向导对话框,按提示一直下一步直到完成。
我把证书保存在C盘,名字为NEXT_CertKey.cer。
第二步:将上面导出的证书导入java中的cacerts证书库
cmd进入C:\Program Files\Java\jdk1.5.0_06\jre\lib\security目录
敲入如下命令回车执行
此时命令行会提示你输入cacerts证书库密码,
java中cacerts证书库默认密码为changeit,
Y确认即可,OK,认证已添加至keystore。
附:URLConnection、URL
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
一个很简单的富客户端到WEB 服务器的连接,基本都能够正常建立连接,唯独公司NEXT、TIMS总是报javax.net.ssl.SSLHandshakeException和 sun.security.provider.certpath.SunCertPathBuilderException的异常,网上转了转,找到几篇
前辈的文章,摘下点重点以便以后继续剽与窃。
在项目开发中,有时会遇到与SSL安全证书导入打交道,如何把证书导入java的cacerts证书库?简单的用NEXT做个演示:
第一步:IE打开https://next.xxxcorp.cn,把要导入java证书库的证书下载
在该网页安全警报弹出窗口上查看证书--详细信息--复制到文件
会弹出一个证书导出向导对话框,按提示一直下一步直到完成。
我把证书保存在C盘,名字为NEXT_CertKey.cer。
第二步:将上面导出的证书导入java中的cacerts证书库
cmd进入C:\Program Files\Java\jdk1.5.0_06\jre\lib\security目录
敲入如下命令回车执行
keytool -import -alias cacerts -keystore C:\Program Files\Java\jdk1.5.0_06\jre\lib\security\cacerts -file C:\NEXT_CertKey.cer -trustcacerts
此时命令行会提示你输入cacerts证书库密码,
java中cacerts证书库默认密码为changeit,
Y确认即可,OK,认证已添加至keystore。
附:URLConnection、URL
try { URL url; url = new URL("https://next.xxxcorp.cn"); urlConnection = (HttpURLConnection) url.openConnection(); urlConnection.setDoOutput(true); BufferedReader reader = new BufferedReader(new InputStreamReader(urlConnection.getInputStream())); String input = null; while ((input = reader.readLine()) != null) { System.out.println(input); } reader.close(); urlConnection.disconnect(); } catch (IOException e) { e.printStackTrace(); }
相关文章推荐
- linux 查看 CPU,内存,网络流量和磁盘 I/O
- tcp/ip学习笔记
- HDU 3996 最大权闭合图 网络流
- 源码编译apache实现CGI,虚拟主机,httpds安全访问,status服务状态信息,压缩等功能。
- ASIHTTPRequest概要
- XmlHttpRequest error: Origin null is not allowed by Access-Control-Allow-Origin
- [技术贴]网络共享与便携式WiFi热点之USB绑定模式
- 源码编译安装httpd2.4.9
- Vim命令小结-指定词统计和提取指定词(正则表达式)
- TCP速率与窗口,带宽,RTT之间的关系
- 修改TCP连接数
- Zigbee无线解决方案网络层研究
- ASIHttprequest 使用PUT DELETE
- Http状态码
- 浅谈TCP/IP网络编程中socket的行为
- Web服务(一)http基础详解
- PXE自动网络引导安装Linux操作系统
- httpd协议详解(二)
- java httpclient访问某些网页报403错误
- java httpclient访问某些网页报403错误