android 4.0的模板,Android keymaster4.0- device集成笔记

本文详细介绍了Android 4.0中keymaster@4.0-service的集成,包括服务的选择与配置,如trustonic、beanpod、纯软实现等,并探讨了不同实现的HAL接口定义和服务注册过程。同时,分析了为何即使只开启beanpod的keymaster,仍会编译出纯软的keymaster库。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

快速链接:

.

👉👉👉 个人博客笔记导读目录(全部) 👈👈👈

相关推荐:

1、Android keymaster的介绍和总结

2、Android keystore/Keymaster的代码导读

文章目录

1、keymaster@4.0-service的集成

2、keymaster HAL接口的定义

3、keymaster@4.0-service 纯软实现

3、keymaster@4.0-service beanpod实现

4、keymaster@4.0-service trustonic实现

5、总结

1、keymaster@4.0-service的集成

在device.mk中定义了需要集成的keymaster,多选一:

android.hardware.keymaster@4.0-service.trustonic

android.hardware.keymaster@4.0-service.beanpod

android.hardware.keymaster@4.0-service.beanpod.lite

android.hardware.keymaster@4.0-service.trustkernel

android.hardware.keymaster@4.0-service.mtee

android.hardware.keymaster@4.0-service //纯软

(vim device/mediatek/common/device.mk)

# list of all TEEs

ifeq ($(strip $(TRUSTONIC_TEE_SUPPORT)), yes)

PRODUCT_PACKAGES += android.hardware.keymaster@4.0-service.trustonic

else ifeq ($(strip $(MICROTRUST_TEE_SUPPORT)), yes)

PRODUCT_PACKAGES += android.hardware.keymaster@4.0-service.beanpod

else ifeq ($(strip $(MICROTRUST_TEE_LITE_SUPPORT)), yes)

PRODUCT_PACKAGES += android.hardware.keymaster@4.0-service.beanpod.lite

else ifeq ($(strip $(TRUSTKERNEL_TEE_SUPPORT)), yes)

PRODUCT_PACKAGES += android.hardware.keymaster@4.0-service.trustkernel

else ifeq ($(strip $(MTK_IN_HOUSE_TEE_SUPPORT)), yes)

PRODUCT_PACKAGES += android.hardware.keymaster@4.0-service.mtee

else

PRODUCT_PACKAGES += android.hardware.keymaster@4.0-service

endif #end of list of TEEs

2、keymaster HAL接口的定义

hardware/interfaces/keymaster/4.0$ ls

Android.bp default IKeymasterDevice.hal support types.hal vts

3、keymaster@4.0-service 纯软实现

hardware/interfaces/keymaster/4.0/default$ ls

Android.bp android.hardware.keymaster@4.0-service.rc OWNERS service.cpp

(cat service.cpp)

#include

#include

#include

#include

using android::hardware::keymaster::V4_0::SecurityLevel;

int main() {

::android::hardware::configureRpcThreadpool(1, true /* willJoinThreadpool */);

auto keymaster = ::keymaster::V4_0::ng::CreateKeymasterDevice(SecurityLevel::SOFTWARE);

auto status = keymaster->registerAsService();

if (status != android::OK) {

LOG(FATAL) << "Could not register service for Keymaster 4.0

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值