由支付寶官方為廣大開發(fā)人員提供的支付寶開放平臺(tái)開發(fā)助手是支付寶開放平臺(tái)推出的一鍵生成RSA密鑰工具,該工具也提供了簽名及驗(yàn)簽功能,可以演示針對(duì)支付寶開放平臺(tái)接口的簽名和驗(yàn)簽流程,windows版本工具請(qǐng)不要安裝在含有空格的目錄路徑下!

支付寶開放平臺(tái)開發(fā)助手常見問題
Q:RSA簽名涉及到的商戶角色有哪些?
A:通常由支付寶賬戶管理者登錄開放平臺(tái)上傳商戶應(yīng)用公鑰,并記錄appid及支付寶公鑰信息。
技術(shù)同學(xué)得到 1).appid,2).商戶私鑰,3).支付寶公鑰,放到代碼里去簽名和驗(yàn)簽。
Q: 什么是RSA算法?
A:RSA簽名算法是一種非對(duì)稱算法,RSA密鑰包括公鑰和私鑰兩部分,公鑰是公開信息,私鑰是保密信息。在開放平臺(tái),開發(fā)者的私鑰由開發(fā)者自己保存;開發(fā)者的公鑰可對(duì)外公開。私鑰用于簽名,公鑰用于驗(yàn)簽。開發(fā)者保存自己的私鑰,并對(duì)發(fā)給支付寶的信息進(jìn)行簽名,支付寶通過使用開發(fā)者的公鑰進(jìn)行驗(yàn)簽;(支付寶端類似),通過這種方式保證信息傳輸?shù)耐暾砸约鞍l(fā)送者身份的真實(shí)性。
Q:和支付寶交換公鑰是什么意思?
A:開發(fā)者私鑰由開發(fā)者自行保管,把對(duì)應(yīng)公鑰提供給支付寶。相應(yīng)的,支付寶提供自己的公鑰給開發(fā)者,這稱為交換公鑰。
開發(fā)者使用開發(fā)者私鑰對(duì)請(qǐng)求內(nèi)容簽名,支付寶收到請(qǐng)求后,會(huì)使用開發(fā)者公鑰進(jìn)行驗(yàn)簽,驗(yàn)簽通過證明信息來源可靠并且未篡改。
支付寶發(fā)送給開發(fā)者的數(shù)據(jù)中,支付寶也會(huì)使用自己的私鑰進(jìn)行簽名。商戶收到后,使用支付寶公鑰驗(yàn)簽,驗(yàn)簽通過證明是支付寶發(fā)送的消息,并且未篡改。
Q:開放平臺(tái) openapi 網(wǎng)關(guān)接口和支付寶 mapi 網(wǎng)關(guān)接口簽名處理上有何區(qū)別?
A:開放平臺(tái)接口網(wǎng)關(guān)地址是 open.alipay.com,mapi網(wǎng)關(guān)地址是mapi.alipay.com。
簽名專區(qū)描述的內(nèi)容是針對(duì)openapi網(wǎng)關(guān)接口的簽名和驗(yàn)簽方法。如果是mapi網(wǎng)關(guān)接口,簽名規(guī)則有所區(qū)別,具體請(qǐng)參考對(duì)應(yīng)接口文檔(歷史接口)中的簽名描述。
Q:開放平臺(tái)支持的“普通公鑰”、“公鑰證書”兩種簽名方式有什么區(qū)別?
A:在報(bào)文簽名場(chǎng)景下,報(bào)文接受方使用發(fā)送方的公鑰進(jìn)行報(bào)文驗(yàn)簽,該功能兩種簽名方式都可以實(shí)現(xiàn)。而證書簽名方式的優(yōu)勢(shì)在于引入了CA機(jī)構(gòu)對(duì)公鑰持有者進(jìn)行身份識(shí)別,保證該證書所屬實(shí)體的真實(shí)性,以實(shí)現(xiàn)報(bào)文的抗抵賴。
Q:原使用“普通公鑰”簽名方式的應(yīng)用如何升級(jí)“公鑰證書”簽名方式?
A:開發(fā)者登陸開放平臺(tái),在應(yīng)用“加簽方式”設(shè)置頁(yè)面,選擇“公鑰證書”方式,再在該頁(yè)面中通過“上傳CSR文件在線生成證書”或“上傳已申請(qǐng)證書”兩種方式設(shè)置應(yīng)用的公鑰證書,具體操作詳見簽名專區(qū)教程。
注意:對(duì)于從“公鑰”變更到“公鑰證書”簽名方式的應(yīng)用,在變更一周內(nèi)允許開發(fā)者撤銷證書回退到“公鑰”模式;變更一周后不允許再回退到原模式。開發(fā)者調(diào)用支付寶網(wǎng)關(guān)的代碼也需要升級(jí),否則變更一周后原來的“公鑰”模式接入會(huì)被支付寶網(wǎng)關(guān)攔截而無(wú)法成功調(diào)用。
Q:老應(yīng)用公鑰證書如何更換成新公鑰證書?
A:開發(fā)者登陸開放平臺(tái),在應(yīng)用“加簽方式”設(shè)置頁(yè)面,選擇“公鑰證書”方式,再在該頁(yè)面中通過“上傳CSR文件在線生成證書”或“上傳已申請(qǐng)證書”兩種方式設(shè)置應(yīng)用新應(yīng)用公鑰證書,具體操作詳見簽名專區(qū)教程。
注意:
上傳新應(yīng)用公鑰證書后,開放平臺(tái)將為老應(yīng)用公鑰證書保留7天有效期(若在這7天內(nèi)老證書到期,以老證書自身過期時(shí)間點(diǎn)為準(zhǔn)),超過7天后老證書將不可用。開發(fā)者務(wù)必在更新證書后7天時(shí)間內(nèi),更換接入開放平臺(tái)網(wǎng)關(guān)代碼中的應(yīng)用公鑰證書,否則7天后開放平臺(tái)網(wǎng)關(guān)將驗(yàn)簽失敗。
生成商戶私鑰/支付寶公鑰教程:
1、先下載支付寶開放平臺(tái)開發(fā)助手 和官方教程

2、找到生成的公鑰、私鑰



應(yīng)用私鑰2048.txt也就是商戶私鑰
3、生成支付寶公鑰

我們把“商戶應(yīng)用公鑰”到支付寶開放平臺(tái),把工具生成的“商戶應(yīng)用公鑰”填寫進(jìn)入,保存即可。然后我們可以看到系統(tǒng)會(huì)生成對(duì)應(yīng)的“支付寶公鑰”,點(diǎn)擊“查看支付寶公鑰”:
保存
4、取得支付寶公鑰 查看

