the trustanchors parameter must be non-empty

概要:

        眼看年底快放假了,结果一个BUG瞬间收回放假的心思,下面简要介绍一下这个BUG:

        在前后端分离的前提下,使用微信公众号开发XXX微信公众平台,结合微信开放文档实现授权操作,在第二步“根据 code 获取网页授权 access_token 和 openid”时出现了“the trustanchors parameter must be non-empty”致命错误,这确实让人崩溃。

内容:

        最终发现这个问题是证书引起的,结合微信证书更新java证书即可解决该问题,下面是解决步骤:

        1、下载微信证书:

        访问微信官方文档提供的“根据 code 获取网页授权 access_token 和 openid”连接“https://api.weixin.qq.com/sns/oauth2/access_token?appid=APPID&secret=SECRET&code=CODE&grant_type=authorization_code”,如下图所示:        ​​​​ 

         点击“Connection is secure”

        点击“Certificate valid”

        点击“复制到文件” -> “下一页”

 

 

         选择Base64编码方式,下载以.cer结尾的证书文件保存到本地。下载证书的方式各有千秋,该方法适者以用之。

        2、更新Java cacerts:

        以管理员身份打开CMD,执行以下命令(命令中的cerPath表示cer证书的存放位置;cacertsPath表示jre环境下的cacerts,eg:C:\Program Files\Java\jre1.8.0_221\lib\security\cacerts所在文件路径):

keytool -importcert -trustcacerts -file "cerPath" -alias ca_alias -keystore "cacertsPath" -storepass changeit

        执行即可。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值