Android13 GMS相关RKP流程简述

远程密钥配置 (RKP) 包括一种新型密钥管理,可将配置过程从工厂内配置转移到无线配置。这是通过将工厂内公钥提取和无线证书配置与短期证书相结合来完成的。作为 Android 认证基础设施的一部分,RKP 加强了 Android 信任链的安全性,并提高了发生漏洞时设备信任的可恢复性。

对于需要支持RKP的项目,如果在认证时未支持,会导致GTS fail

arm64-v8a GtsGmscoreHostTestCases
TestResultDetails
com.google.android.gts.security.AttestationRootHostTest#testEcAttestationChainRemProvLengthTee

fail

java.lang.AssertionError: on-device tests failed:

com.google.android.gts.security.AttestationRootHostTest#testRsaAttestationChainRemProvLengthTee

fail

java.lang.AssertionError: on-device tests failed:

armeabi-v7a GtsGmscoreHostTestCases
TestResultDetails
com.google.android.gts.security.AttestationRootHostTest#testEcAttestationChainRemProvLengthTee

fail

java.lang.AssertionError: on-device tests failed:

com.google.android.gts.security.AttestationRootHostTest#testRsaAttestationChainRemProvLengthTee

fail

java.lang.AssertionError: on-device tests failed:

所以基于认证需求,需要在项目开始时,向Google申请RKP。

1. 需要mada所属公司开通android-partner-api@mada公司邮箱地址,并使用该邮箱创建google账号。后续需要使用这个邮箱作为账户名,登录GCP,管理RKP项目。

完整步骤:

https://docs.partner.android.com/gms/building/integrating/att-keys/Setting-Up-Partner-API?hl=zh-cn

2. 在GCP上的项目,需要和公司ID绑定,公司ID是向Google提交项目的账号,和实验室有关。如果一个公司有多个合作的3pl实验室,则会有多个公司ID,eg.mada公司名-3pl实验室名。后续上传json时,GCP上的project需要和company id绑定,所以针对不同的company id,需要创建不同的GCP project。公司ID可以在APA上查询到(https://partner.android.com/approvals/

3. 根据上面链接步骤创建OAuth2 凭证和服务帐户凭据,创建过程中生成的凭证文件务必保存好,后续上传json需要用到。

4. json的生成和上传

完整步骤:

https://docs.partner.android.com/gms/building/integrating/att-keys/rkp?hl=zh-cn#dev-best-practices

我的项目使用豆荚的写号方案,json由工具直接提取。我司只需要按照Google的脚本上传即可。

我司选择链接中方法2上传json

选项 2:将device_info_uploader.py与 GCP 服务帐户结合使用

使用csrs.json文件和您在Service Account Credentials中下载的my-project-0000000000-ffffffffffff.json密钥文件运行device_info_uploader.py脚本。示例命令如下所示:

./device_info_uploader.py --credentials-keyfile /secure/storage/my-project-0000000000-ffffffffffff.json --json-csr csrs.json --company-id COMPANY_ID 

命令说明, 

device_info_uploader.py是从google网站上直接下载的脚本

/secure/storage/my-project-0000000000-ffffffffffff.json是创建GCP项目时生成的秘钥

csrs.json是从写key后的设备中提取的json文件

COMPANY_ID是前面提到的公司ID

如果账号一切正常,配置正常,网络正常,GCP API也正常启用,直接上传json时会报这个错

公司 ID 的用户权限被拒绝

当当前用户没有上传指定公司 ID 的 CSR 的必要权限时,会出现此错误。

消息:此 CSR 未上传。不允许用户 {USER} 上传公司 ID {COMPANY_ID} 的设备信息。请提交错误或联系 TAM 以获得权​​限。

代码:7(权限被拒绝)403 禁止

这是由于GCP项目尚未和公司ID绑定,最快的方法是联系TAM帮忙绑定权限。绑定后,即可正常上传json了。

其他报错参考:

https://docs.partner.android.com/gms/building/integrating/att-keys/rkp-errors?hl=zh-cn 

  • 27
    点赞
  • 38
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
Android 11 GMS代表的是Android 11版本中的Google Mobile Services,简称GMSGMS是谷歌为安卓系统开发的一套应用程序和服务集合。该套集合包括了一系列谷歌应用程序,如Gmail、Google Maps、Google Play商店等。GMS还提供了谷歌的云服务,如Google Drive、Google Photos等。 Android 11版本中的GMS相较于之前的版本有一些新的功能和改进。首先,Android 11 GMS在隐私和安全方面做出了一些增强。用户可以更好地控制应用程序对隐私信息的访问权限,并且可以更细粒度地管理应用程序的权限。此外,GMS还引入了一些新的API,用于加密和验证用户数据。 另外,Android 11 GMS还提供了更好的多任务处理能力和通知管理功能。它支持分屏显示多个应用程序,并且可以快速切换应用程序。同时,可以对通知进行分组和优先级排序,以便更好地管理和处理通知信息。 此外,Android 11 GMS还加强了数字化福利功能。它提供了更好的屏幕录制和截图功能,让用户更轻松地进行教育和工作任务。同时,它还加强了智能设备间的互动能力,可以更方便地连接和控制智能家居设备。 总的来说,Android 11 GMSAndroid系统中重要的一部分,它提供了丰富的谷歌应用和服务,以及一些新的功能和改进。用户可以通过更新到Android 11版本,享受到更好的隐私和安全保护,更高效的多任务处理,以及更出色的数字化福利功能。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值