路径:vendor/mediatek/proprietary/scripts/sign-image_v2/
-
preloader签名:
python pbp.py -i settings/pbp/pl_key.ini -k out/pbp/key_cert.bin -g settings/pbp/pl_gfh_config_cert_chain.ini -c settings/pbp/pl_content.ini -func sign -o out/pbp/preloader-u115AA-signed.bin prebuilt/pbp/preloader.bin
python pbp.py -k prebuilt/pbp/key_cert.bin -g settings/pbp/pl_gfh_config_cert_chain.ini -c settings/pbp/pl_content.ini -func sign -o out/pbp/preloader-u115AA-signed.bin prebuilt/pbp/preloader.bin -
将上面产生的key_cert.bin放到prebuilt/pbpxia ,然后执行:
python pbp.py -k out/pbp/key_cert.bin -g setting/pbp/pl_gfh_config_cert_chain.ini -c setting/pbp/pl_content.ini -func sign -o out/pbp/preloader-signed.bin prebuilt/pbp/preloader.bin 用于已经由root private key owner生成过的key_cert.bin,需要image private key owner签名整个preloader.bin的情况 -
其他镜像签名配置:
env.cfg可以配置路径
PYTHONDONTWRITEBYTECODE=True
python img_key_deploy.py mt6765 U115AA cert1_key_path= K E Y P A T H / r o o t p r v k . p e m c e r t 2 k e y p a t h = {KEY_PATH}/root_prvk.pem cert2_key_path= KEYPATH/rootprvk.pemcert2keypath={KEY_PATH}/img_prvk.pem root_key_padding=pss | tee img_key_deploy.log
执行完img_key_deploy.py之后,检查env.cfg下的配置是否更新 -
给镜像签名:
有了cert1和cert2 key后,就可以执行签名脚本。
PYTHONDONTWRITEBYTECODE=True
python sign_flow.py -env_cfg env.cfg mt6765 U115AA | tee sign_flow.log -
支持单独签名某一个镜像:
PYTHONDONTWRITEBYTECODE=True
python sign_flow.py -env_cfg env.cfg -target lk.img mt6765 U115AA -
其他可能涉及的签名工具路径:
mt6739/android/vendor/mediatek/proprietary/custom/U115AA/security/image_auth
mt6739/android/vendor/mediatek/proprietary/scripts/sign-image
mt6739/android/device/mediatek/build/build/tools/SignTool
./sign-image/SignTool.sh security/image_auth/IMG_AUTH_KEY.ini security/image_auth/IMG_AUTH_CFG.ini dtbo.img dtbo-verified.img
方法2: 把全部的签名处理 copy 到security server,需把imgs copy到security server做resign.
Step1: 可将sign tool (整个sign-image_v2文件夹)copy 到security server, sign-image_v2文件夹目录架构长这样:
Step2: 把如下cert_config文件夹也copy出来,并放到上面Step1中Copy出来的sign-image_v2文件夹中。
- vendor/mediatek/proprietary/custom/{Platform}/security/cert_config
Copy后,sign-image_v2中会有cert_config文件夹,如下图:
Step3: 修改sign-image_v2文件夹路径下的env.cfg 配置文件. 注意:cert_config相对路径务必更新,如下图:
Step4: 下如下command 进行完成签名操作。
- Gen cert1 and cert2_key Command:
python img_key_deploy.py mt6983 cert1_key_path={KEY_PATH}/root_prvk.pem cert2_key_path={KEY_PATH}/img_prvk.pem root_key_padding=pss | tee gen_cert1_cert2_key.log - Sign image Command:python sign_flow.py -env_cfg env.cfg {Platform_Name} {Project_Name}
例如: python sign_flow.py -env_cfg env.cfg mt6983 k6883v1_64
python img_key_deploy.py mt6739 cert1_key_path=hsm_test_keys/root_prvk.pem cert2_key_path=hsm_test_keys/img_prvk.pem root_key_padding=pss | tee gen_cert1_cert2_key.log
python sign_flow.py -env_cfg env.cfg mt6983 k6883v1_64