又收到了支付宝的短信,提醒我的应用公钥证书即将到期了,可我记得上次明明更新过了啊!
然后我仔细查了一下短信记录,原来之前更新的是支付宝公钥证书,应用公钥证书没更新。
不得不说真的挺麻烦的,就这么一个支付弄这么多证书。然后我就想,为啥我之前的老网站一直不要更新呢,这个新网站总是给我添麻烦。
然后我就登录之前的一个老网站的支付宝开放平台,发现它还是用原来的MD5方式,而且官方也说了,建议升级,不升级的话也能继续用。但是新版的都采用的是RSA方式,这个就经常需要升级,目前一次更新可以保5年。
跟这种大公司就不较劲了,虽然总增加麻烦,但也没办法,于是还得硬着头皮弄。
最初我用的接口加签方式是密钥方式
结果最后死活都不出现我原来用的那种证书
到网站支付开始报错了,恼火!
后来查了文档发现,原来如果要用证书的方式需要在前面选加签方式,这次选证书方式。
然后用密钥工具生成csr文件
然后回到网页上传文件继续
这次发现有自动续签的选项,这太好了。上传以后,这次就对了,有证书文件了。
下载全部证书到本地,然后复制到服务器。
然后再到网站执行,结果报验签错误!
折腾了很久,反复核对了多次也不知道问题出在哪里。
然后我就找之前开发过的其他网站,我发现有的网站用了md5方式,有的网站用的是非证书方式,只有这个网站用的是证书方式,这种第三方的东西我也不想深究,能用就行,于是就又切换到了非证书方式,结果还是一直报错。
于是我就开始调试之旅,定位到了错误的根源:
不正确的长度,这肯定还是密钥的问题了,可是我都按操作说明做的啊。
于是又开始到网上查资料,结果找到了这个:
感情是Java和非Java用的密钥格式不一样,那你干嘛不直接生成两种密钥,一种是Java的、一种是非Java的呢?但我知道,抱怨也没什么鸟用。
于是马上做了格式转换,再次运行,终于出现了久违的画面。
我怎么感觉以前开发的时候没这么麻烦啊,这点破问题搞了几个小时,现在这是怎么了。