From 6e2b75d80115db32821fe63c16f6c14171225afa Mon Sep 17 00:00:00 2001 From: Jooyung Han Date: Mon, 23 Oct 2023 14:38:36 +0900 Subject: [PATCH] Add secure_element HAL APEX This bundles the default implementation used by the cuttlefish. Bug: 300011111 Test: VtsHalSecureElementTargetTest Change-Id: Ib723fcbb6748675f6dae2449aad5a71a54cce594 --- secure_element/aidl/default/Android.bp | 42 +++++++++++++++++-- .../aidl/default/apex_file_contexts | 3 ++ .../aidl/default/apex_manifest.json | 4 ++ secure_element/aidl/default/secure_element.rc | 2 +- 4 files changed, 47 insertions(+), 4 deletions(-) create mode 100644 secure_element/aidl/default/apex_file_contexts create mode 100644 secure_element/aidl/default/apex_manifest.json diff --git a/secure_element/aidl/default/Android.bp b/secure_element/aidl/default/Android.bp index d1bb393931..b38282234d 100644 --- a/secure_element/aidl/default/Android.bp +++ b/secure_element/aidl/default/Android.bp @@ -11,14 +11,50 @@ cc_binary { name: "android.hardware.secure_element-service.example", relative_install_path: "hw", vendor: true, - init_rc: ["secure_element.rc"], - vintf_fragments: ["secure_element.xml"], + installable: false, // installed in APEX + + stl: "c++_static", shared_libs: [ - "libbase", "libbinder_ndk", + "liblog", + ], + static_libs: [ "android.hardware.secure_element-V1-ndk", + "libbase", ], srcs: [ "main.cpp", ], } + +prebuilt_etc { + name: "secure_element.rc", + src: "secure_element.rc", + installable: false, +} + +prebuilt_etc { + name: "secure_element.xml", + src: "secure_element.xml", + sub_dir: "vintf", + installable: false, +} + +apex { + name: "com.android.hardware.secure_element", + manifest: "apex_manifest.json", + file_contexts: "apex_file_contexts", + key: "com.android.hardware.key", + certificate: ":com.android.hardware.certificate", + vendor: true, + updatable: false, + + binaries: [ + "android.hardware.secure_element-service.example", + ], + prebuilts: [ + "secure_element.rc", + "secure_element.xml", + "android.hardware.se.omapi.ese.prebuilt.xml", // + ], +} diff --git a/secure_element/aidl/default/apex_file_contexts b/secure_element/aidl/default/apex_file_contexts new file mode 100644 index 0000000000..e9e811e0eb --- /dev/null +++ b/secure_element/aidl/default/apex_file_contexts @@ -0,0 +1,3 @@ +(/.*)? u:object_r:vendor_file:s0 +/etc(/.*)? u:object_r:vendor_configs_file:s0 +/bin/hw/android\.hardware\.secure_element-service\.example u:object_r:hal_secure_element_default_exec:s0 \ No newline at end of file diff --git a/secure_element/aidl/default/apex_manifest.json b/secure_element/aidl/default/apex_manifest.json new file mode 100644 index 0000000000..6e04c11209 --- /dev/null +++ b/secure_element/aidl/default/apex_manifest.json @@ -0,0 +1,4 @@ +{ + "name": "com.android.hardware.secure_element", + "version": 1 +} \ No newline at end of file diff --git a/secure_element/aidl/default/secure_element.rc b/secure_element/aidl/default/secure_element.rc index 7d216669aa..b74b2ee0cd 100644 --- a/secure_element/aidl/default/secure_element.rc +++ b/secure_element/aidl/default/secure_element.rc @@ -1,4 +1,4 @@ -service vendor.secure_element /vendor/bin/hw/android.hardware.secure_element-service.example +service vendor.secure_element /apex/com.android.hardware.secure_element/bin/hw/android.hardware.secure_element-service.example class hal user nobody group nobody