Android P 下keymaster安装流程

[转载请说明出处]
菜鸡一只,刚好学习到这里,就分享一下。如有不对请各位大佬指出
InstallKeybox.cpp
入口函数 KmInstallKeybox 进行安装
Android P 下keymaster安装流程
KM_SECURITY_LEVEL_TRUSTED_ENVIRONMENT : 1

PROV_EXIT(installer.ParseFile()) 进行xml文件解析
1.解析XML文件,分析XML头是否正确
GUARD_EXIT(ConsumeTag(inFile, “?xml version=“1.0”?”));
GUARD_EXIT(ConsumeTag(inFile, “AndroidAttestation”));
Android P 下keymaster安装流程
2.分析xml文件中的key数量并和Device_ID进行对比
Android P 下keymaster安装流程
3.验证预配秘钥 PROV_EXIT(installer.ValidateProvisionedKeys())
1.通过RSA EC校验
2. 通过provisioningClient->SetProvisioniningSuccess配置秘钥
Android P 下keymaster安装流程