zoukankan      html  css  js  c++  java
  • 移动平台商家支付宝如何获取商户私钥,支付宝公钥

    1.简介

    RSA 是一种非对称的签名算法,即签名密钥(私钥)与验签密钥(公钥)是不一样的, 私钥用于签名,公钥用于验签。

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

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

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

    2.流程

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

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

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

    3.操作步骤

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

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

     

     (2)解压下载的压缩包(WS_SECURE_PAY),找到并解压 openssl-0.9.8k_WIN32(RSA 密钥生成工具).zip 工具包

    (3)生成原始RSA商户私钥文件
    假设解压后的目录为 c:alipay,命令行进入目录 C:alipayin,执行“openssl genrsa -out rsa_private_key.pem 1024”,在 C:alipayin 下会生成文件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:alipayin 文件夹下生成文件 rsa_public_key.pem。接着用记事本打开 rsa_public_key.pem,复制全部内容至新建的 txt 文档,删除文件头“-----BEGIN PUBLIC KEY-----”与文件尾“-----END PUBLIC KEY-----”及空格、换行,如下图。最后得到一 行字符串并保存该 txt 文件为“public_key.txt”。

    (6) 上传商户公钥至支付宝 

    浏览器访问 https://ms.alipay.com/index.htm 并用签约帐号登录,点击菜单栏“我的产品”,右侧点击“密钥管理”,见下图红色框内

    点击“上传”,选择步骤(3)生成的“public_key.txt”并完成上传。

    (7)获取RSA支付宝公钥 成功上传公钥至支付宝后,页面显示如下:

    其中红色框内部分即支付宝公钥,请复制至新建 txt 文档,去掉换行和空格,妥善保存(用于验签收到的支付宝通知)。

     
    转:
    https://blog.csdn.net/oarvin1234/article/details/41205539
     

    支付宝手机支付 支付宝集成获取私钥与公钥
    https://blog.csdn.net/menglele1314/article/details/50943173
     
  • 相关阅读:
    js回车键事件
    legend3---15、像粉丝数、关注数、课程数等数量数据如何处理
    Jquery.Data()和HTML标签的data-*属性
    php判断两个数组是否相等
    安卓Android控件ListView获取item中EditText值
    ubuntu安装和查看已安装
    Remove “System Program Problem Detected” Messages From Ubuntu
    Genymotion
    Genymotion中文手册
    sudo apt-get install lib32stdc++6
  • 原文地址:https://www.cnblogs.com/kenshinobiy/p/9058069.html
Copyright © 2011-2022 走看看