移动端支付,通过RSA非对称加密
来源:互联网 发布:车祸数据 编辑:程序博客网 时间:2024/06/12 22:34
在与支付宝交易中,会有 2 对公私钥,即商户公私钥,支付宝公私钥。
商户公私钥:由商户生成,商户私钥用于对商户发往支付宝的数据签名;商户公钥需要上传至支付宝,当支付宝收到商户发来的数据时用该公钥验证签名。
支付宝公私钥:支付宝提供给商户,当商户收到支付宝发来的数据时,用该公钥验签。
2.流程
a. 移动端用商户私玥签名,将订单数据传给支付宝客户端,支付宝客户端将订单数据传给支付宝服务器,支付宝服务器根据订单数据中的商户信息,用商户上传的商户公钥验签,成功后进行支付操作;
b. 用户支付成功后,支付宝服务器用支付宝私钥签名回调数据并回调商家服务器(回调URL),同时支付宝客户端回调商家客户端;
c. 商家服务器用支付宝公钥验签,成功后更新商家订单状态等。
3.操作步骤
(1)下载开发指南和集成资料
登录支付宝,点击 我的商家服务->手机无线收款->快捷支付(无线)或请点此下载集成开发包
(2)解压下载的压缩包(WS_SECURE_PAY),找到并解压openssl-0.9.8k_WIN32(RSA 密钥生成工具).zip工具包
(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”(请妥善保存,签名时使用)。
命令行执行“ 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 PUBLICKEY-----”与文件尾“-----END PUBLIC KEY-----”及空格、换行,如下图。最后得到一行字符串并保存该txt 文件为“public_key.txt”。
(6)上传商户公钥至支付宝
浏览器访问 https://ms.alipay.com/index.htm 并用签约帐号登录,点击菜单栏“我的产品”,右侧点击“密钥管理”,见下图红色框内
点击“上传”,选择步骤(3)生成的“public_key.txt”并完成上传。
(7)获取RSA支付宝公钥成功上传公钥至支付宝后,页面显示如下:
其中红色框内部分即支付宝公钥,请复制至新建 txt 文档,去掉换行和空格,妥善保存(用于验签收到的支付宝通知)。
- 移动端支付,通过RSA非对称加密
- RSA 非对称加密
- RSA非对称加密
- RSA非对称加密
- RSA非对称加密
- RSA 非对称加密
- rsa非对称加密
- RSA非对称加密
- 非对称加密RSA
- RSA非对称加密
- 非对称加密 rsa
- Rsa非对称加密
- RSA非对称加密
- RSA非对称加密
- 非对称加密RSA
- 非对称加密--RSA
- 非对称加密------RSA
- 使用非对称RSA加密
- PL/SQL中复制中文再粘贴出现乱码问题的解决
- wbs简单介绍以及相关模板截图
- 信号量与PV操作
- Spring @autowire用法
- SPICE协议-----基本简介及普通协议定义
- 移动端支付,通过RSA非对称加密
- Java-数据库(SQL Server):-第三天-12/04/2014
- 查看web服务器类型
- Linux网络编程:TCP服务器(单进程多用户),使用select方法实现
- 并行编程的设计模式
- 报表 —— JFreeChart
- ucos II 创建第一个任务之一
- The Swift Programming Language--语言指南--附属脚本
- 学习笔记