@@ -18,7 +18,7 @@ use crate::{
1818#[ cfg( feature = "vsock" ) ]
1919use crate :: { vsock:: VMADDR_CID_HOST , vsock:: stream:: VsockStream } ;
2020use aes_gcm:: { AeadInPlace , Aes256Gcm , KeyInit , Nonce , aead:: generic_array:: GenericArray } ;
21- use aes_kw:: { Kek , KekAes256 } ;
21+ use aes_kw:: { KeyInit as _ , KwAes256 } ;
2222use alloc:: { string:: ToString , vec:: Vec } ;
2323use cocoon_tpm_crypto:: {
2424 CryptoError , EmptyCryptoIoSlices ,
@@ -215,24 +215,20 @@ impl AttestationDriver<'_> {
215215 kdm. extend_from_slice ( & ( 0_u32 ) . to_be_bytes ( ) ) ;
216216 kdm. extend_from_slice ( & ( 256_u32 ) . to_be_bytes ( ) ) ;
217217
218- let wrapping_key: KekAes256 = {
219- let mut buf: Vec < u8 > = vec_sized ( 32 ) . or ( Err ( AttestationError :: VecAlloc ) ) ?;
218+ let wrapping_key: KwAes256 = {
219+ let mut buf = SecretSlice :: new_sized ( 32 ) . or ( Err ( AttestationError :: VecAlloc ) ) ?;
220220
221221 concat_kdf:: derive_key_into :: < sha2:: Sha256 > ( & z, & kdm, & mut buf)
222222 . map_err ( AttestationError :: KeyDerivation ) ?;
223223
224- let sized: [ u8 ; 32 ] = buf
225- . try_into ( )
226- . or ( Err ( AttestationError :: WrapKeyArrayConvert ) ) ?;
224+ KwAes256 :: new_from_slice ( & buf) . or ( Err ( AttestationError :: WrapKeyArrayConvert ) )
225+ } ?;
227226
228- Kek :: new ( & GenericArray :: from ( sized) )
229- } ;
230-
231- let mut cek =
232- vec_sized ( & decryption. wrapped_cek . len ( ) - 8 ) . or ( Err ( AttestationError :: VecAlloc ) ) ?;
227+ let mut cek = SecretSlice :: new_sized ( & decryption. wrapped_cek . len ( ) - 8 )
228+ . or ( Err ( AttestationError :: VecAlloc ) ) ?;
233229
234230 wrapping_key
235- . unwrap ( & decryption. wrapped_cek , & mut cek)
231+ . unwrap_key ( & decryption. wrapped_cek , & mut cek)
236232 . or ( Err ( AttestationError :: CekUnwrap ) ) ?;
237233
238234 let cipher = Aes256Gcm :: new ( GenericArray :: from_slice ( & cek) ) ;
0 commit comments