App:
-
packages\apps\Settings\src\com\android\settings\password\
-
保存每次设置密码的值在persist.sys.password
@@ -1629,6 +1630,10 @@ public class LockSettingsService extends ILockSettings.Stub {
}
notifySeparateProfileChallengeChanged(userId);
scheduleGc();
+ String pwd = new String(credential.getCredential());
+ SystemProperties.set("persist.sys.password",pwd);
return true;
}
Framework 服务:
- frameworks\base\services\core\java\com\android\server\locksettings\
硬件抽象层(生成对应库如libteec.so)
- hardware/rockchip/weave
- hardware/rockchip/optee
底层(trust.img)
rkbin/RKTRUST/,一般不开源,远程只提供二进制文件,另外kernel也会有对应支持的宏开关
例如RK平台内核配置
OP-TEE V1:
CONFIG_TEE_SUPPORT=y
OP-TEE V2
CONFIG_TEE=y
CONFIG_OPTEE=y
firmware {
optee: optee {
compatible = "linaro,optee-tz";
method = "smc";
#status = "disabled";
};
};
若出现 “/dev/opteearmtz00” 节点,说明optee v1的TEE linux kernel驱动已开启; 若出现 “/dev/tee0”
和 “/dev/teepriv0“ 节点,说明optee v2的TEE linux kernel驱动已开启