RK3576谷歌ATTESTION-KEY从申请到烧录以及验证谷歌认证标志全流程
文章目录
- RK3576谷歌ATTESTION-KEY从申请到烧录以及验证谷歌认证标志全流程
-
- 首次申请ATTESTION-KEY
- 再次申请ATTESTION-KEY
- 使用gpg命令解密
- 使用gunzip命令解压
- 复制并重命名为xml结尾的文件
- 切割key
-
- [1.需要进行软连接不然就会出现以下的报错 :](#1.需要进行软连接不然就会出现以下的报错 :)
- [2.需要给予文件权限否则会出现以下的报错 :](#2.需要给予文件权限否则会出现以下的报错 :)
- 3.最后只留必须的这四个文件再进行切割key
- 4.执行python3切割key命令
- 烧录验证谷歌认证标志
首次申请ATTESTION-KEY

材料文件夹:

材料详情:
1.一份报告
#生成报告命令:
run gts -m GtsEdiHostTestCases
2.设备信息

3.一个txt文件
txt文件内容是每个key文件的ID,有多少个ID就能申请到多少个key。该txt文件可以使用bat脚本在windows环境下双击一键生成。
bat
@echo off
setlocal enabledelayedexpansion
:: 前缀,长度必须小于 32
set "name=ZETWERK3IN120251123"
:: 输出文件
set "out=%name%.txt"
:: 如果文件已存在,先清空
break > "%out%"
:: 循环生成 1~10000
for /L %%i in (1,1,10000) do (
set /a n=100000+%%i
set "sn=!n:~-5!"
echo %name%!sn!>>"%out%"
)
endlocal
生成效果如下:

4.一个pgp_public_key公钥
这个pgp_public_key公钥用我们部门廖主管的。(GPG 密钥生成、导入、导出、加密、解密操作说明单独一篇文章来介绍)
再次申请ATTESTION-KEY
只需要上面的一个txt文件和pgp_public_key公钥即可。
申请ATTESTION-KEY网址:https://partner.android.com/approvals/
进入该网址需要android合作伙伴账号目前用的潘俊的。
详细流程如下:


关于第四步,编辑pgp_public_key:就是将材料文件夹中的public-file.key用记事本打开,复制其全部内容填入下方输入框中,提交即可。

Device name就是FINGERPRINT的第三个属性:
BUILD_FINGERPRINT := Teachmint_X/Teachmint_X/IIP: ( P L A T F O R M V E R S I O N ) / (PLATFORM_VERSION)/ (PLATFORMVERSION)/(BUILD_ID)/ ( B F B U I L D N U M B E R ) : (BF_BUILD_NUMBER): (BFBUILDNUMBER):(TARGET_BUILD_VARIANT)/$(BUILD_VERSION_TAGS)


点击上传txt文件并提交:



下载后可以得到密钥:2025-11-26_02-01-24.889_UTC-ca340171.attest_keyboxes.IIP.1764122488447.output.gz.pgp
下图是切割key需要准备的环境:

使用gpg命令解密
在Linux终端下使用gpg命令不要su,不然gpg命令会找不到。除了执行gpg命令外其他命令建议都su一下,在root用户下执行。
bash
gpg --decrypt --output 2025-11-26_02-01-24.889_UTC-ca340171.attest_keyboxes.IIP.1764122488447.output.gz 2025-11-26_02-01-24.889_UTC-ca340171.attest_keyboxes.IIP.1764122488447.output.gz.pgp
解密后的文件格式是以gz结尾的压缩包。

使用gunzip命令解压
bash
gunzip 2025-11-26_02-01-24.889_UTC-ca340171.attest_keyboxes.IIP.1764122488447.output.gz.pgp
解密后的文件格式是以output结尾的文件。

复制并重命名为xml结尾的文件
bash
cp 2025-11-26_02-01-24.889_UTC-ca340171.attest_keyboxes.IIP.1764122488447.output 2025-11-26_02-01-24.889_UTC-ca340171.attest_keyboxes.IIP.1764122488447.output.xml

切割key
1.需要进行软连接不然就会出现以下的报错 :

bash
## 正常情况下首次只要直接在gpg_IIP目录下执行以下指令就好
sudo ln -s libcrypto.so.1.0.0 /usr/lib/x86_64-linux-gnu/libcrypto.so.1.0.0
## 若软链接下没有libcrypto.so.1.0.0文件可以通过CP命令拷贝过去,然后再重新执行上面的指令
cp -rf libcrypto.so.1.0.0 /usr/lib/x86_64-linux-gnu/libcrypto.so.1.0.0
## 如果出现失败的情况 执行以下指令 再重新执行上面的指令
sudo mv /usr/lib/x86_64-linux-gnu/libcrypto.so.1.0.0 /usr/lib/x86_64-linux-gnu/libcrypto.so.1.0.0.bak
##更新动态链接器缓存
sudo ldconfig
-------------------------------验证指令---------------------------------------
##查询是否链接成功
strings /usr/lib/x86_64-linux-gnu/libcrypto.so.1.0.0 | grep OPENSSL_1
2.需要给予文件权限否则会出现以下的报错 :

bash
#若遇到权限问题
sudo chmod 777 *
3.最后只留必须的这四个文件再进行切割key

rm -rf下图四个必须文件外的其他文件再进行切割key,否则会有以下报错:

4.执行python3切割key命令
bash
python3 spitfile.py 2025-11-26_02-01-24.889_UTC-ca340171.attest_keyboxes.IIP.1764122488447.output.xml 1


切割成功后的key在out加密目录下无法直接拷贝出来,先手动复制拷贝到其他目录就不会加密了,然后再拷贝出来。
烧录验证谷歌认证标志
先擦除key
用瑞芯微上位机工具,在loadder模式下,点击高级功能中的擦除所有 按钮,擦除扇区成功后,重新烧录一个通过谷歌认证的软件。
PS:擦除扇区成功后,必须要重新烧录一个通过谷歌认证的软件。切记不要在擦除扇区成功后以及上位机烧录过程中断电,会导致主板挂掉,需要短接主板用瑞芯微上位机工具重新烧录。

软件烧录成功后可在版本信息中查看ATTESTION-KEY状态:

烧录key
将key重命名为attestation.kdb放在U disk根目录下,在工厂菜单进行烧录。

key烧录成功后可在版本信息中查看ATTESTION-KEY状态:

查看谷歌认证标志
查看机器认证状态:Play Store -> Settings -> About -> Play Protect certification
不能显示已认证,⼀般有两种情况:
1、机器未上锁,需要手动设备上锁:
设备上锁指令:
bash
adb reboot-bootloader
fastboot oem at-lock-vboot
fastboot reboot
fastboot reboot
设备上锁重启后会卡在logo,再执行一次fastboot reboot,或者在串口下按下Ctrl + C即可正常启动。
串口查看设备是否上锁:
bash
getprop | grep state
[ro.boot.vbmeta.device_state]: [locked]说明设备已上锁。
2、机器未烧Key
确认完以上两点,进入谷歌商店查看机器认证状态:Play Store -> Settings -> About -> Play Protect certification

点击Fix device issue

若仍显示Couldn't fix device certification issue,重启设备后再次尝试Fix device issue。

Fix device issue后就会有谷歌认证标志了。

**备注:**后期发现,先擦除扇区成功后,重新烧录一个通过谷歌认证的软件,没烧key也有认证标志:是因为之前有认证标志的时候上传过CSR。