@@ -139,15 +139,11 @@ impl<Ids: KeyIds> PasswordProtectedKeyEnvelope<Ids> {
139139 /// context.
140140 pub fn unseal (
141141 & self ,
142- target_keyslot : Ids :: Symmetric ,
143142 password : & str ,
144143 ctx : & mut KeyStoreContext < Ids > ,
145144 ) -> Result < Ids :: Symmetric , PasswordProtectedKeyEnvelopeError > {
146145 let key = self . unseal_ref ( password) ?;
147- #[ allow( deprecated) ]
148- ctx. set_symmetric_key ( target_keyslot, key)
149- . map_err ( |_| PasswordProtectedKeyEnvelopeError :: KeyStore ) ?;
150- Ok ( target_keyslot)
146+ Ok ( ctx. add_local_symmetric_key ( key) )
151147 }
152148
153149 fn unseal_ref (
@@ -501,12 +497,12 @@ mod tests {
501497 let envelope =
502498 PasswordProtectedKeyEnvelope :: try_from ( & TESTVECTOR_COSEKEY_ENVELOPE . to_vec ( ) )
503499 . expect ( "Key envelope should be valid" ) ;
504- envelope
505- . unseal ( TestSymmKey :: A ( 0 ) , TESTVECTOR_PASSWORD , & mut ctx)
500+ let key = envelope
501+ . unseal ( TESTVECTOR_PASSWORD , & mut ctx)
506502 . expect ( "Unsealing should succeed" ) ;
507503 #[ allow( deprecated) ]
508504 let unsealed_key = ctx
509- . dangerous_get_symmetric_key ( TestSymmKey :: A ( 0 ) )
505+ . dangerous_get_symmetric_key ( key )
510506 . expect ( "Key should exist in the key store" ) ;
511507 assert_eq ! (
512508 unsealed_key. to_encoded( ) . to_vec( ) ,
@@ -521,12 +517,12 @@ mod tests {
521517 let envelope =
522518 PasswordProtectedKeyEnvelope :: try_from ( & TESTVECTOR_LEGACYKEY_ENVELOPE . to_vec ( ) )
523519 . expect ( "Key envelope should be valid" ) ;
524- envelope
525- . unseal ( TestSymmKey :: A ( 0 ) , TESTVECTOR_PASSWORD , & mut ctx)
520+ let key = envelope
521+ . unseal ( TESTVECTOR_PASSWORD , & mut ctx)
526522 . expect ( "Unsealing should succeed" ) ;
527523 #[ allow( deprecated) ]
528524 let unsealed_key = ctx
529- . dangerous_get_symmetric_key ( TestSymmKey :: A ( 0 ) )
525+ . dangerous_get_symmetric_key ( key )
530526 . expect ( "Key should exist in the key store" ) ;
531527 assert_eq ! (
532528 unsealed_key. to_encoded( ) . to_vec( ) ,
@@ -549,14 +545,12 @@ mod tests {
549545 // Unseal the key from the envelope
550546 let deserialized: PasswordProtectedKeyEnvelope < TestIds > =
551547 PasswordProtectedKeyEnvelope :: try_from ( & serialized) . unwrap ( ) ;
552- deserialized
553- . unseal ( TestSymmKey :: A ( 1 ) , password, & mut ctx)
554- . unwrap ( ) ;
548+ let key = deserialized. unseal ( password, & mut ctx) . unwrap ( ) ;
555549
556550 // Verify that the unsealed key matches the original key
557551 #[ allow( deprecated) ]
558552 let unsealed_key = ctx
559- . dangerous_get_symmetric_key ( TestSymmKey :: A ( 1 ) )
553+ . dangerous_get_symmetric_key ( key )
560554 . expect ( "Key should exist in the key store" ) ;
561555
562556 #[ allow( deprecated) ]
@@ -571,7 +565,7 @@ mod tests {
571565 fn test_make_envelope_legacy_key ( ) {
572566 let key_store = KeyStore :: < TestIds > :: default ( ) ;
573567 let mut ctx: KeyStoreContext < ' _ , TestIds > = key_store. context_mut ( ) ;
574- let test_key = ctx. generate_symmetric_key ( TestSymmKey :: A ( 0 ) ) . unwrap ( ) ;
568+ let test_key = ctx. generate_symmetric_key ( ) ;
575569
576570 let password = "test_password" ;
577571
@@ -582,14 +576,12 @@ mod tests {
582576 // Unseal the key from the envelope
583577 let deserialized: PasswordProtectedKeyEnvelope < TestIds > =
584578 PasswordProtectedKeyEnvelope :: try_from ( & serialized) . unwrap ( ) ;
585- deserialized
586- . unseal ( TestSymmKey :: A ( 1 ) , password, & mut ctx)
587- . unwrap ( ) ;
579+ let key = deserialized. unseal ( password, & mut ctx) . unwrap ( ) ;
588580
589581 // Verify that the unsealed key matches the original key
590582 #[ allow( deprecated) ]
591583 let unsealed_key = ctx
592- . dangerous_get_symmetric_key ( TestSymmKey :: A ( 1 ) )
584+ . dangerous_get_symmetric_key ( key )
593585 . expect ( "Key should exist in the key store" ) ;
594586
595587 #[ allow( deprecated) ]
@@ -638,7 +630,7 @@ mod tests {
638630 let deserialized: PasswordProtectedKeyEnvelope < TestIds > =
639631 PasswordProtectedKeyEnvelope :: try_from ( & ( & envelope) . into ( ) ) . unwrap ( ) ;
640632 assert ! ( matches!(
641- deserialized. unseal( TestSymmKey :: A ( 1 ) , wrong_password, & mut ctx) ,
633+ deserialized. unseal( wrong_password, & mut ctx) ,
642634 Err ( PasswordProtectedKeyEnvelopeError :: WrongPassword )
643635 ) ) ;
644636 }
0 commit comments