Https网站中的安全证书导入到java中的cacerts证书库

提示: 
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(); } 

原文链接:https://www.cnblogs.com/liuruichao/p/4005897.html

原创文章,作者:优速盾-小U,如若转载,请注明出处:https://www.cdnb.net/bbs/archives/18149

(0)
上一篇 2023年9月4日
下一篇 2023年9月4日

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

优速盾注册领取大礼包www.cdnb.net
/sitemap.xml