Skip to content

Commit 536b6b0

Browse files
committed
Extend PCR
1 parent ec7ecc8 commit 536b6b0

File tree

2 files changed

+15
-0
lines changed

2 files changed

+15
-0
lines changed

fortanix-vme/nsm/src/lib.rs

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -132,6 +132,14 @@ impl Nsm {
132132
};
133133
nsm_driver::nsm_process_request(self.0, req).try_into()
134134
}
135+
136+
pub fn extend_pcr(&mut self, idx_pcr: u16, data: Vec<u8>) -> Result<Pcr, Error> {
137+
let req = Request::ExtendPCR {
138+
index: idx_pcr,
139+
data,
140+
};
141+
nsm_driver::nsm_process_request(self.0, req).try_into()
142+
}
135143
}
136144

137145
impl Drop for Nsm {

fortanix-vme/tests/nsm-test/src/main.rs

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,4 +27,11 @@ fn main() {
2727
println!("# pcr{} = {:?}", idx, pcr);
2828
assert_eq!(pcr.locked, idx <= 15);
2929
}
30+
31+
let pcr16 = nsm.extend_pcr(16, vec![41, 41, 41]);
32+
println!("pcr16 = {:?}", pcr16);
33+
let pcr16 = nsm.extend_pcr(16, vec![42, 42, 42]);
34+
println!("pcr16 = {:?}", pcr16);
35+
println!("pcr16 = {:?}", nsm.describe_pcr(16));
36+
assert_eq!(nsm.describe_pcr(16).unwrap().locked, false);
3037
}

0 commit comments

Comments
 (0)