背景
RSA2密钥:是指密钥长度为2048位的密钥。(目前设置在“接口加签方式”)
RSA密钥:是指密钥长度为1024位的密钥。(设置在“使用其他加签方式”)
注意:开放平台从2018年1月5日开始创建的应用都没有RSA密钥的设置入口,统一升级到更安全的RSA(SHA256)签名方式,建议您尽快升级,具体详情查看【蚂蚁金服开放平台接口签名方式升级公告】。
左边的为2018年1月5日前创建的应用,右边为2018年1月5日后创建的应用,如下图:
200325-2.png
目前“接口加签方式”又分为RSA2密钥和公钥证书(公钥证书只支持RSA2格式),因此如何从RSA1升级到RSA2可以理解为升级为RSA2密钥签名和升级为公钥证书签名。
支付宝开放平台接口签名方式升级,请按照以下步骤来完成升级:
一、升级为RSA2密钥 1、生成RSA2密钥
生成RSA2密钥详见【如何设置RSA2公钥】(密钥长度请选择RSA2)。
200325-3.png
2、上传应用公钥
把生成的商户应用公钥上传给支付宝,详见【上传商户公钥并换取支付宝公钥】。
需将RSA2密钥的商户应用公钥上传至“接口加签方式”的“公钥”位置。
注意:资金类接口(现金红包、单笔转账到支付宝账户等)必须使用公钥证书,其他接口可使用普通公钥。
200325-4.png
3、修改签名方式
sdk中关于RSA和RSA2密钥签名封装的初始化方法一致,无需修改,只要修改配置信息即可。
(1)修改“商户密钥”为步骤1新生成的RSA2私钥。
(2)修改“sign_type”的参数值为RSA2。
(3)修改“支付宝公钥”为步骤2获取的支付宝公钥,详见【如何获取支付宝公钥】。
注意:验签的时候支付宝公钥需要改成可配置的,因为RSA2的支付宝公钥每个商户都不一样,不能统一默认。
二、升级为公钥证书 1、生成公钥证书
生成公钥证书详见【如何生成公钥证书】(请选择RSA2)。
注意:目前不支持国密的签名方式。
200325-5.png
2、上传公钥文件
把生成的商户应用公钥文件上传给支付宝,详见【上传商户公钥并换取支付宝公钥】。
需将RSA2密钥的商户应用公钥上传至“接口加签方式”的“公钥证书”位置。
200325-6.png
3、修改签名方式
sdk中关于RSA密钥和公钥证书签名封装的初始化方法不同,需修改初始化方法和配置信息。
(1)修改“商户密钥”为步骤1新生成的RSA2私钥。
(2)修改“sign_type”的参数值为RSA2。
(3)在商户应用公钥上传后,下载应用公钥证书、支付宝公钥证书、支付宝公钥根证书。
(4)修改“支付宝公钥”数据为引用“支付宝公钥证书”的路径
(5)添加引用“应用公钥证书”和“支付宝公钥根证书”。
(6)修改初始化方法,详见【RSA2和证书公钥签名验签的区别】的sdk封装签名方式。
根据自己开发语言,选择对应的公钥证书签名初始化进行参考。
注意事项:公钥证书验签使用的是支付宝公钥证书,以及验签方法不同,详见【如何使用证书签名验签】。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。