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)

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