Merge "Refactoring: split Microdroid Manager main.rs" into main
diff --git a/compos/Android.bp b/compos/Android.bp
index 19123dd..b840506 100644
--- a/compos/Android.bp
+++ b/compos/Android.bp
@@ -14,6 +14,7 @@
"libanyhow",
"libbinder_rs",
"libcompos_common",
+ "libhex",
"liblibc",
"liblog_rust",
"libminijail_rust",
diff --git a/compos/src/artifact_signer.rs b/compos/src/artifact_signer.rs
index 76da00a..bfd886e 100644
--- a/compos/src/artifact_signer.rs
+++ b/compos/src/artifact_signer.rs
@@ -53,7 +53,7 @@
let file = File::open(path).with_context(|| format!("Opening {}", path.display()))?;
let digest = fsverity::measure(file.as_fd())?;
- let digest = to_hex_string(&digest);
+ let digest = hex::encode(digest);
self.file_digests.push((target_path.to_owned(), digest));
Ok(())
@@ -82,7 +82,3 @@
Ok(())
}
}
-
-fn to_hex_string(buf: &[u8]) -> String {
- buf.iter().map(|b| format!("{:02x}", b)).collect()
-}
diff --git a/service_vm/requests/src/rkp.rs b/service_vm/requests/src/rkp.rs
index 2d80f13..933737c 100644
--- a/service_vm/requests/src/rkp.rs
+++ b/service_vm/requests/src/rkp.rs
@@ -25,7 +25,7 @@
use ciborium::{cbor, value::Value};
use core::result;
use coset::{iana, AsCborValue, CoseSign1, CoseSign1Builder, HeaderBuilder};
-use diced_open_dice::{kdf, keypair_from_seed, sign, DiceArtifacts, PrivateKey};
+use diced_open_dice::{derive_cdi_leaf_priv, kdf, sign, DiceArtifacts, PrivateKey};
use log::error;
use service_vm_comm::{EcdsaP256KeyPair, GenerateCertificateRequestParams, RequestProcessingError};
use zeroize::Zeroizing;
@@ -128,11 +128,6 @@
Ok(signed_data)
}
-fn derive_cdi_leaf_priv(dice_artifacts: &dyn DiceArtifacts) -> diced_open_dice::Result<PrivateKey> {
- let (_, private_key) = keypair_from_seed(dice_artifacts.cdi_attest())?;
- Ok(private_key)
-}
-
fn sign_message(message: &[u8], private_key: &PrivateKey) -> Result<Vec<u8>> {
Ok(sign(message, private_key.as_array())
.map_err(|e| {