支付寶開放平臺採用了RSA安全簽名機制,開發者可以通過支付寶公鑰驗證消息來源,同時可使用自己的私鑰對信息進行加密。RSA算法及數字簽名機制是支付寶開放平臺與開發者網關安全通信的基礎,若開發者不熟悉RSA及數字簽名,請先查閱相關資料。
1、RSA私鑰及公鑰生成
官方提供的開發文檔存在一些誤導,這裏簡要概括爲這幾句話:
RSA密鑰生成命令
生成RSA私鑰
openssl>genrsa -out rsa_private_key.pem 1024
生成RSA公鑰
openssl>rsa -in rsa_private_key.pem -pubout -out rsa_public_key.pem
將RSA私鑰轉換成PKCS8格式
openssl>pkcs8 -topk8 -inform PEM -in rsa_private_key.pem -outform PEM -nocrypt
注意:“>”符號後面的纔是需要輸入的命令。
2、
- 在上圖應用公鑰(RSA)中填寫你生成的RSA公鑰,應用網關可不填。
- 切記一定要點擊“合作伙伴密鑰”,進入該頁面在RSA加密處填寫你生成的RSA公鑰(和上面的一樣),如下圖
3、配置支付寶提供的Demo
- 請保證填寫的商戶PID、商戶收款賬號的正確性
- 商戶私鑰就是你生成的pkcs8格式的私鑰,pkcs8!!!
- 尤其注意,這裏的支付寶公鑰是“合作伙伴密鑰”中查看到的支付寶公鑰,我在圖中已用藍色框標識出。
4、運行demo成功後,將該demo繼承到你的項目中,並注意要配置好Android Manifest。
附:這裏免積分提供openssl工具:
http://download.csdn.net/detail/leoleohan/9038725