From f5266141477b9ea23c2f674e041d5f8dc6509668 Mon Sep 17 00:00:00 2001 From: houmingyong Date: Wed, 16 Oct 2024 19:52:04 +0800 Subject: [PATCH] add no_as ima reference path --- .../attestation/attestation-agent/c_header/example.c | 12 ++++++------ .../attestation-service/verifier/src/virtcca/ima.rs | 8 +++++++- 2 files changed, 13 insertions(+), 7 deletions(-) diff --git a/service/attestation/attestation-agent/c_header/example.c b/service/attestation/attestation-agent/c_header/example.c index 8bb939d..e961252 100644 --- a/service/attestation/attestation-agent/c_header/example.c +++ b/service/attestation/attestation-agent/c_header/example.c @@ -47,12 +47,12 @@ void *thread_proc(void *arg) printf("get report success, report:%s\n", report.ptr); // parse report - Vec_uint8_t claim_no_verify = parse_report(&report); - if (claim_no_verify.len != 0) { - claim_no_verify.ptr[claim_no_verify.len] = '\0'; - printf("parse report success: %s\n", claim_no_verify.ptr); - } - free_rust_vec(claim_no_verify); + // Vec_uint8_t claim_no_verify = parse_report(&report); + // if (claim_no_verify.len != 0) { + // claim_no_verify.ptr[claim_no_verify.len] = '\0'; + // printf("parse report success: %s\n", claim_no_verify.ptr); + // } + // free_rust_vec(claim_no_verify); // step4: verify report claim = verify_report(&challenge, &report); diff --git a/service/attestation/attestation-service/verifier/src/virtcca/ima.rs b/service/attestation/attestation-service/verifier/src/virtcca/ima.rs index 30a151f..2b73b46 100644 --- a/service/attestation/attestation-service/verifier/src/virtcca/ima.rs +++ b/service/attestation/attestation-service/verifier/src/virtcca/ima.rs @@ -14,8 +14,13 @@ use ima_measurements::{Event, EventData, Parser}; use fallible_iterator::FallibleIterator; use serde_json::{Value, Map, json}; +#[cfg(not(feature = "no_as"))] const IMA_REFERENCE_FILE: &str = "/etc/attestation/attestation-service/verifier/virtcca/ima/digest_list_file"; +// attestation agent local ima reference +#[cfg(feature = "no_as")] +const IMA_REFERENCE_FILE: &str = "/etc/attestation/attestation-agent/local_verifier/virtcca/ima/digest_list_file"; + #[derive(Debug, Default)] pub struct ImaVerify {} @@ -72,7 +77,8 @@ impl ImaVerify { use std::io::BufRead; use std::io::BufReader; fn file_reader(file_path: &str) -> ::std::io::Result> { - let file = std::fs::File::open(file_path)?; + let file = std::fs::File::open(file_path) + .expect("open ima reference file failed"); let mut strings = Vec::::new(); let mut reader = BufReader::new(file); let mut buf = String::new(); -- Gitee