相关文章推荐
豪情万千的回锅肉  ·  使用ClickOnce ...·  5 月前    · 
慷慨的黄瓜  ·  android ...·  1 年前    · 
精明的青椒  ·  TiCDC Canal-JSON ...·  1 年前    · 

在与支付宝交易中,会有 2 对公私钥,即商户公私钥,支付宝公私钥。

商户公私钥 :由商户生成,商户私钥用于对商户发往支付宝的数据签名;商户公钥需要上传至支付宝 ,当支付宝收到商户发来的数据时用该公钥验证签名。

支付宝公钥 :支付宝提供给商户, 当商户收到支付宝发来的数据时,用该公钥验签。

a. 移动端用商户私玥签名 ,将订单数据传给支付宝客户端,支付宝客户端将订单数据传给支付宝服务器, 支付宝服务器根据订单数据中的商户信息,用商户上传的商户公钥验签 ,成功后进行支付操作;

b. 用户支付成功后,支付宝服务器用支付宝私钥签名回调数据并回调商家服务器(回调URL) ,同时支付宝客户端回调商家客户端;

c. 商家服务器用支付宝公钥验签 ,成功后更新商家订单状态等。

3.操作步骤

(1)下载开发指南和集成资料

登录支付宝,点击 我的商家服务->手机无线收款->快捷支付(无线)或 请点此下载集成开发包

(3)生成原始RSA商户私钥文件
假设解压后的目录为 c:\alipay,命令行进入目录 C:\alipay\bin,执行“openssl genrsa -out rsa_private_key.pem 1024”,在 C:\alipay\bin 下会生成文件rsa_private_key.pem, 其内容为原始的商户私钥(请妥善保存该文件) ,以下为命令正确执行截图:

(4)将原始RSA商户私钥转换为pkcs8格式

命令行执行“ openssl pkcs8 -topk8 -inform PEM -in rsa_private_key.pem -outform PEM –nocrypt”得到转换为 pkcs8 格式的私钥 。复制下图红框内的内容至新建 txt 文档, 去掉换行,最后另存为“private_key.txt”(请妥善保存,签名时使用)。

(5)生成RSA商户公钥

命令行执行“ openssl rsa -in rsa_private_key.pem -pubout -out rsa_public_key.pem”, 在 C:\alipay\bin 文件夹下生成文件 rsa_public_key.pem。接着用记事本打开 rsa_public_key.pem,复制全部内容至新建的 txt 文档,删除文件头“-----BEGIN PUBLIC KEY-----”与文件尾“-----END PUBLIC KEY-----”及空格、换行,如下图。最后得到一 行字符串并保存该 txt 文件为“public_key.txt”。