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)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值