google AdMob验证Python中的SSV

问题描述

我想使用python验证SSV回调,但是Google指南显示了使用java的情况。

下面的代码是我写的,下面的错误消息将被打印。 我从https://gstatic.com/admob/reward/verifier-keys.json(AdMob密钥服务器)那里获得了public_key["pem"]

public_key["pem"] = '-----BEGIN PUBLIC KEY-----\nMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE+nzvoGqvDeB9+SzE6igTl7TyK4JB\nbglwir9oTcQta8NuG26ZpZFxt+F2NDk7asTE6/2Yc8i1ATcGIqtuS5hv0Q==\n-----END PUBLIC KEY-----'

signature = p["signature"].encode("UTF-8") # b'MEYCIQDiXnPgnGbmzbJqaISiU_ZpHvyHn4984eT_QYirWNCBOQIhAJvmlJcOsBukjl1AO6mCdb3NTpbOgydywYl_qzkPXwcx'

data_to_verify = b'ad_network=...&user_id=test'  # request parameter except signature,key_id

vk = ecdsa.VerifyingKey.from_pem(public_key["pem"])
vk.verify(signature,data_to_verify)
Traceback (most recent call last):
  File "/usr/local/lib/python3.6/dist-packages/ecdsa/keys.py",line 706,in verify_digest
    r,s = sigdecode(signature,self.pubkey.order)
  File "/usr/local/lib/python3.6/dist-packages/ecdsa/util.py",line 344,in sigdecode_string
    "provided string is {1} bytes long".format(2 * l,len(signature))
ecdsa.util.MalformedSignature: Invalid length of signature,expected 64 bytes long,provided string is 96 bytes long

During handling of the above exception,another exception occurred:

Traceback (most recent call last):
  File "<stdin>",line 1,in <module>
  File "/usr/local/lib/python3.6/dist-packages/ecdsa/keys.py",line 654,in verify
    return self.verify_digest(signature,digest,sigdecode,allow_truncate)
  File "/usr/local/lib/python3.6/dist-packages/ecdsa/keys.py",line 708,in verify_digest
    raise BadSignatureError("Malformed formatting of signature",e)
ecdsa.keys.BadSignatureError: ('Malformed formatting of signature',MalformedSignature('Invalid length of signature,provided string is 96 bytes long',))

我误会了吗?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...