1. 程式人生 > >微信——企業付款到個人銀行卡。

微信——企業付款到個人銀行卡。

1、 呼叫獲取RSA公鑰API獲取RSA公鑰,落地成本地檔案,假設為public.pem
2、 確定public.pem檔案的存放路徑,同時修改程式碼中檔案的輸入路徑,載入RSA公鑰
3、 用標準的RSA加密庫對敏感資訊進行加密,選擇RSA_PKCS1_OAEP_PADDING填充模式
      (eg:Java的填充方式要選 " RSA/ECB/OAEPWITHSHA-1ANDMGF1PADDING")
4、 得到進行rsa加密並轉base64之後的密文
5、 將密文傳給微信側相應欄位,如付款介面(enc_bank_no/enc_true_name)

介面預設輸出PKCS#1格式的公鑰,商戶需根據自己開發的語言選擇公鑰格式 

在我們實際開發過程中,要注意下面的問題:

1、先去微信商戶平臺 的API安全下載裡,去下載最新的證書


2、該證書有三個檔案,我們只使用apiclient.p12的,雙擊並匯入系統,密碼為商戶號。

3、此處注意一點的是,這個檔案裡包括一個私鑰,不要用他去轉換公鑰。

4、看上面的步驟。此時通過程式去呼叫獲取RSA公鑰的介面,即可返回該商戶號對應的公鑰。介面為:


5、介面會返回該商戶對應的公鑰,該公鑰為預設輸出PKCS#1格式的公鑰

6、在.net裡引用為PKCS#8號,根據官網提供的方法。發現沒有辦法轉換成PCKS#8。


7、經過觀察,發現PCKS#8與PKCS#1僅在後者的前面加上:MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8A

8、再次打包嘗試,順利通過