django做zmop接口的坑(芝麻信用認證)-01-27

zmop接口的坑(芝麻信用認證)

  • 最近項目裏要用到實名認證,因爲便宜用到了芝麻信用的實名認證。

1. 環境(zmop依賴於M2Crypto)

ubuntu 環境下使用最新版的M2Crypto(0.27.0)有問題,一直報不支持 ssl v3 加密,需要把M2Crypto安裝成0.26.4版本的才行

2. rsa 公鑰私鑰(邏輯理清)

zmop中rsa的用法是:

  1. 使用之前先把生成公私鑰,把我的公鑰放到芝麻信用平臺上,把zmop的公鑰拿下來保存。
  2. 公鑰加密,私鑰解密
  3. 私鑰簽名,公鑰解籤
  4. 從商戶–>zmop的請求:用‘zmop的公鑰’加密,用的‘我的私鑰’簽名,到zmop那邊,他用‘zmop的私鑰’解密,用我的公鑰驗籤。
  5. 從zmop–>商戶的返回:用‘我的公鑰’加密,用‘zmop的私鑰’簽名,到我這邊,我用‘我的私鑰’解密,用‘zmop的公鑰驗籤’。

我們要做的是:

  1. 生成公私鑰,自己只用保存私鑰,把公鑰交給zmop的app
  2. 把公鑰交給zmop後,獲取到zmop的公鑰,並保存(這裏有個坑:點擊芝麻信用頁面‘複製’按鈕不管用,直接右擊‘檢查元素’,從html標籤中尋找公鑰即可)
  3. 最後的結果是:
    • 我保存的:我的私鑰+zmop的公鑰
    • zmop保存的:我的公鑰+zmop的私鑰

3. 傳參格式str

rsa加密參數的話使用的是unicode格式的話會報錯:

RSAError at /zmop/biz-no/
data too large for key size

所以需要把參數轉化成str格式,如:str(transaction_id)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章