Define and implement a service for key management in CompOS.
This is based on the interface prototyped in
system/security/ondevice-signing/FakeCompOs.h.
For now, to allow manual testing, this is a standalone binary.
Bug: 191763370
Test: Builds.
Change-Id: I307ba9144fa51cca7ebee2142980f3a1cd436ef2
diff --git a/compos/Android.bp b/compos/Android.bp
index 858f64c..0cb6894 100644
--- a/compos/Android.bp
+++ b/compos/Android.bp
@@ -66,6 +66,24 @@
],
}
+rust_binary {
+ name: "compos_key_service",
+ srcs: ["src/compos_key_service.rs"],
+ edition: "2018",
+ rustlibs: [
+ "compos_aidl_interface-rust",
+ "android.system.keystore2-V1-rust",
+ "android.hardware.security.keymint-V1-rust",
+ "libandroid_logger",
+ "libanyhow",
+ "liblog_rust",
+ "libring",
+ "libscopeguard",
+ ],
+ prefer_rlib: true,
+ apex_available: ["com.android.compos"],
+}
+
// TODO(b/190503456) Remove this when vm/virtualizationservice generates payload.img from vm_config
prebuilt_etc {
name: "compos_payload_config",