未发布调试版Android应用如何解码Play Integrity响应?
未发布调试版Android应用如何解码Play Integrity令牌响应?
我和众多开发者一样,拥有一款未在Google Play商店发布的Android应用调试版本,目前正在从Safety Net迁移到Play Integrity API。获取到该API的有效响应后需要解码令牌,官方文档给出的代码如下:
// base64OfEncodedDecryptionKey is provided through Play Console. var decryptionKeyBytes: ByteArray = Base64.decode(base64OfEncodedDecryptionKey, Base64.DEFAULT)
但问题在于,调试版应用无法从Play商店获取base64OfEncodedDecryptionKey,请问该如何解码未发布应用的Play Integrity令牌响应?
解决方法
利用Play Console调试密钥
即便应用未发布,也能在Play Console中为草稿应用生成调试用解密密钥。进入Play Console的应用草稿页面,找到Play Integrity的设置选项,生成调试密钥对后,就能拿到对应的base64格式解密密钥,直接用于官方代码中的解码操作。拆分令牌查看基础信息(仅调试结构)
Play Integrity令牌由三个用.分隔的Base64编码段组成,你可以直接拆分令牌,对前两段(头部和载荷)进行Base64解码,查看其中的基础数据。不过这种方式无法验证签名,仅适合本地调试时确认令牌结构是否正确,不能用于正式的完整性校验。配置草稿应用获取正式密钥
在Play Console创建应用草稿(无需发布),确保草稿的包名、签名信息和本地调试应用完全一致。完成基础配置后,就能在Play Integrity设置中获取正式的解密密钥,用该密钥即可正常解码调试版应用的令牌响应——因为草稿应用的配置已和本地应用匹配,API会认可此密钥的有效性。
内容的提问来源于stack exchange,提问作者Ben-J
相关产品推荐
相关产品推荐

