前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >第十二节 微服务https之间访问问题

第十二节 微服务https之间访问问题

作者头像
用户1418372
发布2018-10-11 10:12:51
2K0
发布2018-10-11 10:12:51
举报

上一节我们分别设置了认证服务为https服务,所以在资源服务器或者其他微服务调用时会需要认证去

  • 如果直接调用会出现如下问题:
Caused by: 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
    at sun.security.ssl.Alerts.getSSLException(Alerts.java:192) ~[na:1.8.0_162]
    at sun.security.ssl.SSLSocketImpl.fatal(SSLSocketImpl.java:1964) ~[na:1.8.0_162]
    at sun.security.ssl.Handshaker.fatalSE(Handshaker.java:328) ~[na:1.8.0_162]
    at sun.security.ssl.Handshaker.fatalSE(Handshaker.java:322) ~[na:1.8.0_162]
....

上面这个问题归结起来就是无法验证网站的证书,找不到证书验证链 针对这个问题,Java的证书验证系统与其他不同,将代理工具生成的证书作为可信根证书导入系统证书库,是存在问题的。在java的认证需要使用JRE中证书库,所有必须把代理工具的证书加入到JRE的证书库中。下面解决步骤:

  1. 首先jre证书路径在\jre\lib\security的目录下有个文件名cacerts

2.使用Keytool管理证书,路径在\jdk8\bin\keytool.exe下

F:\softinstall\jdk8\bin>keytool -help
密钥和证书管理工具
命令:
 -certreq            生成证书请求
 -changealias        更改条目的别名
 -delete             删除条目
 -exportcert         导出证书
 -genkeypair         生成密钥对
 -genseckey          生成密钥
 -gencert            根据证书请求生成证书
 -importcert         导入证书或证书链
 -importpass         导入口令
 -importkeystore     从其他密钥库导入一个或所有条目
 -keypasswd          更改条目的密钥口令
 -list               列出密钥库中的条目
 -printcert          打印证书内容
 -printcertreq       打印证书请求的内容
 -printcrl           打印 CRL 文件的内容
 -storepasswd        更改密钥库的存储口令
使用 "keytool -command_name -help" 获取 command_name 的用法
  1. 获取证书 之前浏览器访问security-service时保存了证书,为了方便我直接导出来,为下一步导入jre准备

图片.png

  1. 执行命令将代理工具的证书加入到cacerts中

keytool -importcert -alias FIDDLER -keystore ../jre/lib/security/cacerts -file ../../record/xzg.crt

提示设置输入口令,java默认口令是changeit,也可以设置其他口令,最后输入y信任此证书,执行成功后

图片.png

  1. 查看是否存在jre证书,密码为上述设置的密码:

keytool -list -keystore ../jre/lib/security/cacerts

至此执行加入证书库完成

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018.09.28 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档