[dice] Pass DICE data to process_request API in service VM
Bug: 287233786
Test: atest rialto_test
Change-Id: I673195a0fd42d8518d5dc4ab28f4112e6f688aea
diff --git a/rialto/src/requests/api.rs b/rialto/src/requests/api.rs
index 5ea0106..59a7aed 100644
--- a/rialto/src/requests/api.rs
+++ b/rialto/src/requests/api.rs
@@ -17,18 +17,21 @@
use super::rkp;
use crate::error::Result;
use alloc::vec::Vec;
+use diced_open_dice::DiceArtifacts;
use service_vm_comm::{Request, Response};
/// Processes a request and returns the corresponding response.
/// This function serves as the entry point for the request processing
/// module.
-pub fn process_request(request: Request) -> Result<Response> {
+pub fn process_request(request: Request, dice_artifacts: &dyn DiceArtifacts) -> Result<Response> {
let response = match request {
Request::Reverse(v) => Response::Reverse(reverse(v)),
- Request::GenerateEcdsaP256KeyPair => rkp::generate_ecdsa_p256_key_pair()
+ Request::GenerateEcdsaP256KeyPair => rkp::generate_ecdsa_p256_key_pair(dice_artifacts)
.map_or_else(Response::Err, Response::GenerateEcdsaP256KeyPair),
- Request::GenerateCertificateRequest(p) => rkp::generate_certificate_request(p)
- .map_or_else(Response::Err, Response::GenerateCertificateRequest),
+ Request::GenerateCertificateRequest(p) => {
+ rkp::generate_certificate_request(p, dice_artifacts)
+ .map_or_else(Response::Err, Response::GenerateCertificateRequest)
+ }
};
Ok(response)
}