从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
- 可以是
list
的str
或str
。
- 可以是
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
- 证书的公钥。