目前生成密钥有3种方式:密钥生成工具生成密钥、Web 在线加密以及使用OpenSSL生成密钥,可任选其一。
注:密钥生成工具生成密钥和Web 在线加密的配置密钥流程相同。
视频说明为密钥生成工具生成密钥。
下载密钥生成工具:https://opendocs.alipay.com/open/00uk9e
windows版本电脑下载windows版本工具。
mac版本电脑下载mac_osx版本工具。
点击下载的“AlipayDevelopmentAssistant-1.0.1.exe”(即支付宝开放平台开放助手)进行安装并运行。
说明:本工具只会记录上传点击事件操作行为,不会记录上传用户的任何用户信息以及公私钥等敏感信息。
选择密钥格式和密钥长度,点击“生成密钥”进行密钥生成 。
(1)密钥长度
RSA2:密钥长度为2048位。
注:开放平台从2018年1月5日开始创建的应用都没有RSA密钥的设置入口,只能上传RSA2格式密钥
RSA:密钥长度为1024位。
国密:目前暂不支持国密的加签方式,即使获取后也无法设置加签。
(2)密钥格式
PKCS8:JAVA开发语言适用。
PKCS1:非JAVA开发语言适用。
开放平台(open.alipay.com)选择要上传的应用,点击应用进入详细页,选择应用信息内的“接口加签方式”进行设置。
如应用未上线,需要选择概览里面的接口加签方式进行设置。
(1)应用私钥:开放平台没有上传设置的位置,需要自己进行保存并设置到代码中,且由于其涉及资金安全不能将其提供给他人,若不小心丢失或泄露,请及时进行更新修改。
(2)应用公钥:需要将其传入开放平台应用中(每次更换密钥时都要将其重新上传开放平台),如图:
生成密钥后切记成对妥善保管,避免测试时由于公私钥不匹配导致签名验签等一系列不必要的错误产生。
开发技术人员在接口中配置正式环境配置密钥,需选择要上传的应用,点击应用进入详细页,选择应用信息内的“接口加签方式”进行设置。
注:如果是购买的系统需配置密钥,可参考购买的系统,如何配置支付宝数据。
沙箱环境配置密钥,需选择在沙箱应用中,选择应用信息内的“RSA2(SHA256)密钥(推荐)”进行设置。
沙箱环境应用配置点击沙箱应用了解。
1.1、打开Web 在线加密(无下载,新上线)->选择“生成密钥”->选择“保存密钥”。
1.2、选择密钥格式和密钥长度,点击“生成密钥”进行密钥生成 。
(1)密钥长度
RSA2:密钥长度为2048位。
注:开放平台从2018年1月5日开始创建的应用都没有RSA密钥的设置入口,只能上传RSA2格式密钥
RSA:密钥长度为1024位。
(2)密钥格式
PKCS8:JAVA开发语言适用。
PKCS1:非JAVA开发语言适用。
配置密钥流程与“密钥生成工具生成密钥”的配置密钥流程相同。
将应用公钥上传到开放平台应用的接口加签中,应用私钥请放在接口代码私钥位置。
除了使用支付宝提供的一键生成工具外,也可以使用OpenSSL工具命令生成密钥。
使用OpenSSL工具命令生成,命令语句如下:
1、生成RSA2私钥(2048位)命令: genrsa -out app_private_key.pem 2048 ;
2、把私钥转换成PKCS8格式并输出新文件命令: pkcs8 -topk8 -inform PEM -in app_private_key.pem -outform PEM -nocrypt -out app_private_key_pkcs8.pem;
3、生成公钥命令: rsa -in app_private_key.pem -pubout -out app_public_key.pem;
之后把生成的公钥上传给支付宝,并获取支付宝公钥(ALIPAY_PUBLIC_KEY)。
详细见使用OpenSSL工具生成密钥在线文档。
注:生成密钥后切记成对妥善保管,若不小心丢失或泄露,请及时进行生成生成并重新上传到支付宝开放平台,避免出现损失。