微服务安全之cacerts证书安装(Https协议不忽略SSL)

问题:微服务调用第三方接口报错

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 

在项目开发中,有时会遇到与SSL安全证书导入打交道,如何把证书导入java的cacerts证书库?简单的用NEXT做个演示: 
 

第一步:IE打开https://next.xxxcorp.cn,把要导入java证书库的证书下载 ,在该网页安全警报弹出窗口上查看证书--详细信息--复制到文件,会弹出一个证书导出向导对话框,按提示一直下一步直到完成。把证书保存在C盘,名字为NEXT_CertKey.cer。 

第二步:将上面导出的证书导入java中的cacerts证书库,cmd进入C:\jdk1.8\jre\lib\security目录 ,敲入如下命令回车执行 

keytool -import -alias lxk 
                -keystore C:\jdk1.8\jre\lib\security\cacerts 
                -file C:\NEXT_CertKey.cer 
                -storepass changeit
                -trustcacerts  
        java中cacerts证书库默认密码为changeit,Y确认即可,OK,认证已添加至keystore。 

或者:
    keytool -import -alias lxk -keystore cacerts -file C:\NEXT_CertKey.cer -trustcacerts 
此时命令行会提示你输入cacerts证书库的密码,你敲入changeit就行了,这是java中cacerts证书库的默认密码,可以修改。 

 以后更新时,先删除原来的证书,然后导入新的证书 :
 

  1.  卸载命令:keytool-delete -alias lxk -keystore C:\jdk1.8\jre\lib\security.cacerts
  2.  安装:C:\jdk1.8\jre/bin/keytool -import -v -trustcacerts -alias lxk -file C:\NEXT_CertKey.cer  -storepass changeit -keystore C:\jdk1.8/jre/lib/security/cacerts
  3. 验证证书是否安装成功:keytool-v-list -alias lxk -keystore C:\jdk1.8\jre\lib\security.cacerts

注:在Linux上安装方式相同,通过命令env l grep -i java找到java根目录,例如/usr/lxk/jdk

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值