金九银十来了呢,大家是否都在忙着找工作呢,这么热的天大家要注意避暑哦~ฅ՞•ﻌ•՞ฅ
既然大家都这么拼,那我也要加油了哈~₍ᐢ •͈ ༝ •͈ ᐢ₎♡
前言(。•ᴗ-)_
最近公司的项目要对接支付宝,毕竟是支付相关的接口嘛,支付宝方面做的是非常好的,原来对接的话要自己签名、验签、流程比较复杂。
现在就好很多了,导入maven依赖,配置公私钥文件地址就结束了,可以专心的写代码了呢~୧⍢⃝୨
但是!在调试的过程中发生了一件非常灵异的事情!◉‿◉
解决过程(๑> <)☆
在本地调试的时候一切正常,部署到服务器就报错CertificateException: X.509 not found
没见过这个报错啊,发动技能面向百度编程
唯一类似的问题还是外网的打开巨慢,通过某些办法访问到之后也发现根本不是解决办法,也就是说全网都没有这个问题的解决办法!(⑉・̆-・̆⑉)
那咋办呢,只能找支付宝那边解决了呗
emmmmm…
证书肯定是没问题的,这下支付宝那边也不知道是什么问题了(৹ᵒ̴̶̷᷄ ฅᵒ̴̶̷᷅৹)
只能自己琢磨了,X.509 not found直接翻译过来是X.509没找到,如果要是文件有问题的话应该是验证不通过或者添加失败啥的,这没找到有可能是JDK本身自己的缺少东西了
原来有遇到过一个加密解密的问题,最后发现是JDK里面少了一些加密的工具,通过替换添加JDK内部的文件解决了
分析(˘•ω•˘)ง
也就是说可能是服务器安装的JDK版本版本太低了,而支付宝是是用高版本的JDK来开发的SDK,这样就会报错一些东西找不到
解决问题
{__/}
( • - •)
/つ BUG要不要?
和运维沟通了一下现在JDK的版本是1.8.8u201的,但是是装了很久了,没有更新过1.8之后的其他小版本,我觉得问题就出现在这之中
挑了一个没有客户在用系统的时间紧急更换了JDK的版本,换成了JDK1.8.8u261
总算好了!乀(ˉεˉ乀) ⁽⁽◞(꒪ͦᴗ̵̍꒪ͦ=͟͟͞͞ ꒪ͦᴗ̵̍꒪ͦ)◟⁾⁾
结论o(´^`)o
巴拉巴拉巴拉,把你变成猪!
∧_∧
(。・ω・。)つ━☆・*。
⊂ ノ ・゜+.
しーJ °。+ *´¨)
.· ´¸.·*´¨) ¸.·¨)
(¸.·´ (¸.·’
也就是刚才的推断都是正确的,支付宝是用X509来作为证书加密,但是低版本的JDK并没有包含这个东西,所以升级JDK版本就好了~✧( •˓◞•̀ )
踩坑坑 (๑•̀ㅂ•́) ✧
JDK虽然都是1.8,但是很多人都没有注意到后面的小版本号,这个也是非常重要的哦