File tree Expand file tree Collapse file tree 2 files changed +15
-0
lines changed
Expand file tree Collapse file tree 2 files changed +15
-0
lines changed Original file line number Diff line number Diff line change @@ -140,6 +140,17 @@ impl Nsm {
140140 } ;
141141 nsm_driver:: nsm_process_request ( self . 0 , req) . try_into ( )
142142 }
143+
144+ pub fn lock_pcr ( & mut self , idx_pcr : u16 ) -> Result < ( ) , Error > {
145+ let req = Request :: LockPCR {
146+ index : idx_pcr,
147+ } ;
148+ match nsm_driver:: nsm_process_request ( self . 0 , req) {
149+ Response :: LockPCR => Ok ( ( ) ) ,
150+ Response :: Error ( code) => Err ( code. into ( ) ) ,
151+ _ => Err ( Error :: InvalidResponse ) ,
152+ }
153+ }
143154}
144155
145156impl Drop for Nsm {
Original file line number Diff line number Diff line change @@ -34,4 +34,8 @@ fn main() {
3434 println ! ( "pcr16 = {:?}" , pcr16) ;
3535 println ! ( "pcr16 = {:?}" , nsm. describe_pcr( 16 ) ) ;
3636 assert_eq ! ( nsm. describe_pcr( 16 ) . unwrap( ) . locked, false ) ;
37+
38+ nsm. lock_pcr ( 16 ) . unwrap ( ) ;
39+ println ! ( "pcr16 = {:?}" , nsm. describe_pcr( 10 ) ) ;
40+ assert_eq ! ( nsm. describe_pcr( 16 ) . unwrap( ) . locked, true ) ;
3741}
You can’t perform that action at this time.
0 commit comments