1. 程式人生 > >移動平臺商家支付寶如何獲取商戶私鑰,支付寶公鑰

移動平臺商家支付寶如何獲取商戶私鑰,支付寶公鑰

HR 對稱 通知 sdk style htm 成功 支付寶集成 文件頭

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:\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”。

技術分享圖片

(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

移動平臺商家支付寶如何獲取商戶私鑰,支付寶公鑰