从google的safetynet验证jws认证。

pySafetyNet-Attestation的Python项目详细描述


PysafetyNet认证

一个用于验证来自google的safetynet的jws认证的包。

简介

此包按照页面上描述的步骤验证SafetyNet attestations。它允许您指定要验证jws主体的哪些部分,但将始终至少验证jws的证书和有效性。

用法

在线验证

fromsafetynet_attestationimportAttestationjws_token="..."api_key="..."attestation=Attestation(jws_token)attestation.verify_online(api_key)

verify_online接受以下可选参数:

  • url="<standard url>"
    • 如果您出于某种原因希望根据其他url进行验证。

<standard url>可以在Google's SafetyNet documentation找到。

离线验证

fromsafetynet_attestationimportAttestationjws_token="..."attestation=Attestation(jws_token)attestation.verify_offline()

verify_offline接受以下可选参数:

  • apkPackageName=None

  • nonce=None

  • apkDigestSha256=None

    • ^十六进制值的{}。
  • apkCertificateDigestSha256=None

    • 可以是liststrstr
  • check_basicIntegrity=True

  • check_ctsProfileMatch=True

  • hostname="attest.android.com"

    • 用于证书的TLS验证。只有当你知道自己在做什么时才能修改。

有关上述参数的完整说明,请参见Google's SafetyNet documentation

验证令牌后,可以使用以下字段:

  • header

    • 令牌头的dict
  • body

    • 标记体的dict
  • certificates

    • 存在于header中的Base64解码证书的list
  • public_key_pem

    • 证书的公钥。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
junit有没有办法在Java中重新初始化静态类?   在浏览器中点击应用程序时java Play框架挂起   文件Java错误中的NullPointerException   使用Java中的SNMP查找网络中计算机的登录名   java包装服务器引导程序已弃用,有什么替代方案?   当客户在等待理发时,java信号量值是否存在问题?   java如何使用JavaMail仅下载特定类型的附件   如何在java中将十进制转换为十六进制   java Slick2D粒子系统不会生成粒子   java检测更改事件来自何处   将Java集合类型参数类设置为数组   java如何从eclipse导出为可运行JAR文件?   java EntityManager对象未注入Glassfish和Spring   swing从actionPerformed和actionListener Java返回字符串   java在给定另一个等价键对象的情况下获取映射项的当前键   无论输入如何,java网络都会产生相同的输出