Hey,是不是在为支付宝开放平台密钥的生成而烦恼?别担心,今天就来给大家详细讲解一下如何使用OpenSSL来生成密钥,并配置到支付宝开放平台。
支付宝验签流程解析
- 商户上传自己的商户公钥到支付宝服务器
- 使用商户私钥请求签名参数
- 签名以后的参数请求到支付宝
- 支付宝服务器使用商户上传的商户公钥,验签商户请求参数,并处理支付结果
- 对商户支付结果使用支付宝私钥签名
- 商户使用支付宝公钥验签支付返回的支付结果
1. 生成密钥
首先,进入OpenSSL工具,执行以下命令生成密钥:
$ openssl
# 生成私钥, 新建应用请务必使用2048位
OpenSSL> genrsa -out app_private_key.pem 2048
#Java开发者需要将私钥转换成PKCS8格式
OpenSSL> pkcs8 -topk8 -inform PEM -in app_private_key.pem -outform PEM -nocrypt -out app_private_key_pkcs8.pem
#生成公钥
OpenSSL> rsa -in app_private_key.pem -pubout -out app_public_key.pem
OpenSSL> exit #退出OpenSSL程序
执行以上命令后,你会在当前文件夹中看到三个文件:
app_private_key.pem(开发者RSA私钥,非Java语言适用)app_private_key_pkcs8.pem(pkcs8格式开发者RSA私钥,Java语言适用)app_public_key.pem(开发者RSA公钥)
开发者需要保留私钥,将公钥提交给支付宝配置到开发平台。
2. 上传支付宝
接下来,点击签名验签工具右下角的“上传公钥”,打开支付宝开放平台网页,输入账号登录。
在“我的应用”中,选择要配置密钥的应用,点击“查看”。记录对应的APPID,在代码中使用。
在“应用信息”-“接口加签方式”下方点击“设置应用公钥”。
注意:接口中的sign_type参数应与上传密钥的加签方式一致。
总结
通过以上步骤,你就可以成功使用OpenSSL生成支付宝开放平台的密钥,并配置到开发平台了。希望这篇文章能帮助你解决实际问题。
—— 陈景序,websoft网络软件专家(www.phpwebsoft.com)
