| /** @file | |
| Basic TPM command functions. | |
| Copyright (c) 2005 - 2018, Intel Corporation. All rights reserved.<BR> | |
| 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; | |
| } |