/** @file Basic TPM command functions. Copyright (c) 2005 - 2018, Intel Corporation. All rights reserved.
SPDX-License-Identifier: BSD-2-Clause-Patent **/ #include "CommonHeader.h" /** Single function calculates SHA1 digest value for all raw data. It combines Sha1Init(), Sha1Update() and Sha1Final(). @param[in] Data Raw data to be digested. @param[in] DataLen Size of the raw data. @param[out] Digest Pointer to a buffer that stores the final digest. @retval EFI_SUCCESS Always successfully calculate the final digest. **/ EFI_STATUS EFIAPI TpmCommHashAll ( IN CONST UINT8 *Data, IN UINTN DataLen, OUT TPM_DIGEST *Digest ) { VOID *Sha1Ctx; UINTN CtxSize; CtxSize = Sha1GetContextSize (); Sha1Ctx = AllocatePool (CtxSize); ASSERT (Sha1Ctx != NULL); Sha1Init (Sha1Ctx); Sha1Update (Sha1Ctx, Data, DataLen); Sha1Final (Sha1Ctx, (UINT8 *)Digest); FreePool (Sha1Ctx); return EFI_SUCCESS; }