使用签名校验可以限制Android设备刷入任意image

【前因】

    前 2 天收到 bug 反馈,对相关代码进行修改后今天自己编译了一版 image,却发现烧不进设备。先后尝试了 3 次,都在烧写 bootloader 的阶段报错 “Certificate Verification Failed!!!”,并在 fastboot 界面的最下方显示 “Failed to load '\EFI\BOOT\bootx64.efi' : 0000001A”。报错前控制台正在执行的命令是:

    fastboot  flash  bootloader  bootloader


【后果】

    为了做对比,我从服务器 DailyBuild 库中拷贝出一个服务器自动编译的版本,文件很顺利地烧进了设备。

    在询问负责这一块工作的同事后,我想起来之前他在给我们做团队培训的时候说过我们公司的设备在刷入 image 前会对文件的签名进行验证,如果 image 没有本公司的签名是无法刷入设备的。所以为了通过签名校验,在编译 image 文件时需要在 make 命令后接上签名参数对文件进行签名。命令格式如下:

    make bootimage XXXXXX_XSIGN_ON=yes

    为了保密起见,签名参数的部分内容在这用 X 替代。需要注意的是,这个签名参数应该是因公司而异的,甚至别的公司可能都不会使用 XXXXXX_XSIGN_ON 这种名称。如果你也碰到了这个问题,最好的解决办法是询问你们开发组的相关同事,让他告诉你。


【影响】

    这件事情提醒了那些喜欢折腾的朋友,刷机之前一定要先确认文件可以供自己的设备使用,不然 image 刷不进去不说,设备上原本的数据也都丢失了。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值