昨天新的应用接入支付宝的支付
然后按照正常的流程走,生成rsa秘钥,上传,回调
到回调这里都是很顺利,然后被卡在验证签名这块了
上网找了各种的资料,基本就是把支付宝的公钥拿下来,空格替换成换行然后作为代码中的公钥
然而让人很纠结的是支付宝上面有三个秘钥,分别是合作伙伴支付宝公钥,无线产品支付宝公钥,开放平台支付宝公钥,而且只有无线产品支付宝公钥是有空格
所以一开始我就很自然以为是用无线产品支付宝公钥作为验证
事实上应该是拿合作伙伴支付宝公钥作为服务器上用作验证的公钥
而且有一个细节必须要注意的是,支付宝公钥复制下来后,必须按照64个字符一行,最后剩下24位字符一行的格式来分行,加上注释作为验证文件才能成功验证,如果没有按照这个格式分行,支付宝的SDK在验证的时候回报出这不是一个可以识别的公钥文件的错误