Android-EDLA RK3576谷歌ATTESTION-KEY从申请到烧录以及验证谷歌认证标志全流程

RK3576谷歌ATTESTION-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。

相关推荐
Kapaseker3 小时前
一杯美式搞懂 Any、Unit、Nothing
android·kotlin
黄林晴3 小时前
你的 Android App 还没接 AI?Gemini API 接入全攻略
android
恋猫de小郭13 小时前
2026 Flutter VS React Native ,同时在 AI 时代 VS Native 开发,你没见过的版本
android·前端·flutter
冬奇Lab14 小时前
PowerManagerService(上):电源状态与WakeLock管理
android·源码阅读
BoomHe19 小时前
Now in Android 架构模式全面分析
android·android jetpack
二流小码农1 天前
鸿蒙开发:上传一张参考图片便可实现页面功能
android·ios·harmonyos
鹏程十八少1 天前
4.Android 30分钟手写一个简单版shadow, 从零理解shadow插件化零反射插件化原理
android·前端·面试
Kapaseker1 天前
一杯美式搞定 Kotlin 空安全
android·kotlin
三少爷的鞋1 天前
Android 协程时代,Handler 应该退休了吗?
android
火柴就是我2 天前
让我们实现一个更好看的内部阴影按钮
android·flutter