mirror of https://github.com/acidanthera/audk.git
SecurityPkg/TPM2: Move GetDigestFromDigestList() to Tpm2CommandLib
This patch just moves function Tpm2GetDigestFromDigestList() from drivers to library as GetDigestFromDigestList() and no functionality change. Cc: Chao B Zhang <chao.b.zhang@intel.com> Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Jiewen Yao <jiewen.yao@intel.com> Signed-off-by: Star Zeng <star.zeng@intel.com> Reviewed-by: Chao Zhang <chao.b.zhang@intel.com>
This commit is contained in:
parent
f9c9a1406c
commit
d4b9b2c32c
|
@ -988,4 +988,22 @@ GetHashSizeFromAlgo (
|
|||
IN TPMI_ALG_HASH HashAlgo
|
||||
);
|
||||
|
||||
/**
|
||||
This function get digest from digest list.
|
||||
|
||||
@param HashAlg digest algorithm
|
||||
@param DigestList digest list
|
||||
@param Digest digest
|
||||
|
||||
@retval EFI_SUCCESS Sha1Digest is found and returned.
|
||||
@retval EFI_NOT_FOUND Sha1Digest is not found.
|
||||
**/
|
||||
EFI_STATUS
|
||||
EFIAPI
|
||||
GetDigestFromDigestList(
|
||||
IN TPMI_ALG_HASH HashAlg,
|
||||
IN TPML_DIGEST_VALUES *DigestList,
|
||||
IN VOID *Digest
|
||||
);
|
||||
|
||||
#endif
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/** @file
|
||||
Implement TPM2 help.
|
||||
|
||||
Copyright (c) 2013 - 2014, Intel Corporation. All rights reserved. <BR>
|
||||
Copyright (c) 2013 - 2016, Intel Corporation. All rights reserved. <BR>
|
||||
This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
|
@ -164,3 +164,39 @@ CopyAuthSessionResponse (
|
|||
|
||||
return (UINT32)(UINTN)(Buffer - (UINT8 *)AuthSessionIn);
|
||||
}
|
||||
|
||||
/**
|
||||
This function get digest from digest list.
|
||||
|
||||
@param HashAlg digest algorithm
|
||||
@param DigestList digest list
|
||||
@param Digest digest
|
||||
|
||||
@retval EFI_SUCCESS Sha1Digest is found and returned.
|
||||
@retval EFI_NOT_FOUND Sha1Digest is not found.
|
||||
**/
|
||||
EFI_STATUS
|
||||
EFIAPI
|
||||
GetDigestFromDigestList (
|
||||
IN TPMI_ALG_HASH HashAlg,
|
||||
IN TPML_DIGEST_VALUES *DigestList,
|
||||
IN VOID *Digest
|
||||
)
|
||||
{
|
||||
UINTN Index;
|
||||
UINT16 DigestSize;
|
||||
|
||||
DigestSize = GetHashSizeFromAlgo (HashAlg);
|
||||
for (Index = 0; Index < DigestList->count; Index++) {
|
||||
if (DigestList->digests[Index].hashAlg == HashAlg) {
|
||||
CopyMem (
|
||||
Digest,
|
||||
&DigestList->digests[Index].digest,
|
||||
DigestSize
|
||||
);
|
||||
return EFI_SUCCESS;
|
||||
}
|
||||
}
|
||||
|
||||
return EFI_NOT_FOUND;
|
||||
}
|
|
@ -863,41 +863,6 @@ TcgDxeLogEvent (
|
|||
return Status;
|
||||
}
|
||||
|
||||
/**
|
||||
This function get digest from digest list.
|
||||
|
||||
@param HashAlg digest algorithm
|
||||
@param DigestList digest list
|
||||
@param Digest digest
|
||||
|
||||
@retval EFI_SUCCESS Sha1Digest is found and returned.
|
||||
@retval EFI_NOT_FOUND Sha1Digest is not found.
|
||||
**/
|
||||
EFI_STATUS
|
||||
Tpm2GetDigestFromDigestList (
|
||||
IN TPMI_ALG_HASH HashAlg,
|
||||
IN TPML_DIGEST_VALUES *DigestList,
|
||||
IN VOID *Digest
|
||||
)
|
||||
{
|
||||
UINTN Index;
|
||||
UINT16 DigestSize;
|
||||
|
||||
DigestSize = GetHashSizeFromAlgo (HashAlg);
|
||||
for (Index = 0; Index < DigestList->count; Index++) {
|
||||
if (DigestList->digests[Index].hashAlg == HashAlg) {
|
||||
CopyMem (
|
||||
Digest,
|
||||
&DigestList->digests[Index].digest,
|
||||
DigestSize
|
||||
);
|
||||
return EFI_SUCCESS;
|
||||
}
|
||||
}
|
||||
|
||||
return EFI_NOT_FOUND;
|
||||
}
|
||||
|
||||
/**
|
||||
Get TPML_DIGEST_VALUES data size.
|
||||
|
||||
|
@ -1067,7 +1032,7 @@ TcgDxeLogHashEvent (
|
|||
DEBUG ((EFI_D_INFO, " LogFormat - 0x%08x\n", mTcg2EventInfo[Index].LogFormat));
|
||||
switch (mTcg2EventInfo[Index].LogFormat) {
|
||||
case EFI_TCG2_EVENT_LOG_FORMAT_TCG_1_2:
|
||||
Status = Tpm2GetDigestFromDigestList (TPM_ALG_SHA1, DigestList, &NewEventHdr->Digest);
|
||||
Status = GetDigestFromDigestList (TPM_ALG_SHA1, DigestList, &NewEventHdr->Digest);
|
||||
if (!EFI_ERROR (Status)) {
|
||||
//
|
||||
// Enter critical region
|
||||
|
|
|
@ -134,41 +134,6 @@ EFI_PEI_NOTIFY_DESCRIPTOR mNotifyList[] = {
|
|||
|
||||
EFI_PEI_FIRMWARE_VOLUME_INFO_MEASUREMENT_EXCLUDED_PPI *mMeasurementExcludedFvPpi;
|
||||
|
||||
/**
|
||||
This function get digest from digest list.
|
||||
|
||||
@param HashAlg digest algorithm
|
||||
@param DigestList digest list
|
||||
@param Digest digest
|
||||
|
||||
@retval EFI_SUCCESS Sha1Digest is found and returned.
|
||||
@retval EFI_NOT_FOUND Sha1Digest is not found.
|
||||
**/
|
||||
EFI_STATUS
|
||||
Tpm2GetDigestFromDigestList (
|
||||
IN TPMI_ALG_HASH HashAlg,
|
||||
IN TPML_DIGEST_VALUES *DigestList,
|
||||
IN VOID *Digest
|
||||
)
|
||||
{
|
||||
UINTN Index;
|
||||
UINT16 DigestSize;
|
||||
|
||||
DigestSize = GetHashSizeFromAlgo (HashAlg);
|
||||
for (Index = 0; Index < DigestList->count; Index++) {
|
||||
if (DigestList->digests[Index].hashAlg == HashAlg) {
|
||||
CopyMem (
|
||||
Digest,
|
||||
&DigestList->digests[Index].digest,
|
||||
DigestSize
|
||||
);
|
||||
return EFI_SUCCESS;
|
||||
}
|
||||
}
|
||||
|
||||
return EFI_NOT_FOUND;
|
||||
}
|
||||
|
||||
/**
|
||||
Record all measured Firmware Volum Information into a Guid Hob
|
||||
Guid Hob payload layout is
|
||||
|
@ -420,7 +385,7 @@ LogHashEvent (
|
|||
DEBUG ((EFI_D_INFO, " LogFormat - 0x%08x\n", mTcg2EventInfo[Index].LogFormat));
|
||||
switch (mTcg2EventInfo[Index].LogFormat) {
|
||||
case EFI_TCG2_EVENT_LOG_FORMAT_TCG_1_2:
|
||||
Status = Tpm2GetDigestFromDigestList (TPM_ALG_SHA1, DigestList, &NewEventHdr->Digest);
|
||||
Status = GetDigestFromDigestList (TPM_ALG_SHA1, DigestList, &NewEventHdr->Digest);
|
||||
if (!EFI_ERROR (Status)) {
|
||||
HobData = BuildGuidHob (
|
||||
&gTcgEventEntryHobGuid,
|
||||
|
|
|
@ -624,41 +624,6 @@ TcgDxeLogEvent (
|
|||
return Status;
|
||||
}
|
||||
|
||||
/**
|
||||
This function get digest from digest list.
|
||||
|
||||
@param HashAlg digest algorithm
|
||||
@param DigestList digest list
|
||||
@param Digest digest
|
||||
|
||||
@retval EFI_SUCCESS Sha1Digest is found and returned.
|
||||
@retval EFI_NOT_FOUND Sha1Digest is not found.
|
||||
**/
|
||||
EFI_STATUS
|
||||
Tpm2GetDigestFromDigestList (
|
||||
IN TPMI_ALG_HASH HashAlg,
|
||||
IN TPML_DIGEST_VALUES *DigestList,
|
||||
IN VOID *Digest
|
||||
)
|
||||
{
|
||||
UINTN Index;
|
||||
UINT16 DigestSize;
|
||||
|
||||
DigestSize = GetHashSizeFromAlgo (HashAlg);
|
||||
for (Index = 0; Index < DigestList->count; Index++) {
|
||||
if (DigestList->digests[Index].hashAlg == HashAlg) {
|
||||
CopyMem (
|
||||
Digest,
|
||||
&DigestList->digests[Index].digest,
|
||||
DigestSize
|
||||
);
|
||||
return EFI_SUCCESS;
|
||||
}
|
||||
}
|
||||
|
||||
return EFI_NOT_FOUND;
|
||||
}
|
||||
|
||||
/**
|
||||
Add a new entry to the Event Log.
|
||||
|
||||
|
@ -686,7 +651,7 @@ TcgDxeLogHashEvent (
|
|||
DEBUG ((EFI_D_INFO, " LogFormat - 0x%08x\n", mTreeEventInfo[Index].LogFormat));
|
||||
switch (mTreeEventInfo[Index].LogFormat) {
|
||||
case TREE_EVENT_LOG_FORMAT_TCG_1_2:
|
||||
Status = Tpm2GetDigestFromDigestList (TPM_ALG_SHA1, DigestList, &NewEventHdr->Digest);
|
||||
Status = GetDigestFromDigestList (TPM_ALG_SHA1, DigestList, &NewEventHdr->Digest);
|
||||
if (!EFI_ERROR (Status)) {
|
||||
//
|
||||
// Enter critical region
|
||||
|
|
|
@ -132,41 +132,6 @@ EFI_PEI_NOTIFY_DESCRIPTOR mNotifyList[] = {
|
|||
|
||||
EFI_PEI_FIRMWARE_VOLUME_INFO_MEASUREMENT_EXCLUDED_PPI *mMeasurementExcludedFvPpi;
|
||||
|
||||
/**
|
||||
This function get digest from digest list.
|
||||
|
||||
@param HashAlg digest algorithm
|
||||
@param DigestList digest list
|
||||
@param Digest digest
|
||||
|
||||
@retval EFI_SUCCESS Sha1Digest is found and returned.
|
||||
@retval EFI_NOT_FOUND Sha1Digest is not found.
|
||||
**/
|
||||
EFI_STATUS
|
||||
Tpm2GetDigestFromDigestList (
|
||||
IN TPMI_ALG_HASH HashAlg,
|
||||
IN TPML_DIGEST_VALUES *DigestList,
|
||||
IN VOID *Digest
|
||||
)
|
||||
{
|
||||
UINTN Index;
|
||||
UINT16 DigestSize;
|
||||
|
||||
DigestSize = GetHashSizeFromAlgo (HashAlg);
|
||||
for (Index = 0; Index < DigestList->count; Index++) {
|
||||
if (DigestList->digests[Index].hashAlg == HashAlg) {
|
||||
CopyMem (
|
||||
Digest,
|
||||
&DigestList->digests[Index].digest,
|
||||
DigestSize
|
||||
);
|
||||
return EFI_SUCCESS;
|
||||
}
|
||||
}
|
||||
|
||||
return EFI_NOT_FOUND;
|
||||
}
|
||||
|
||||
/**
|
||||
Record all measured Firmware Volum Information into a Guid Hob
|
||||
Guid Hob payload layout is
|
||||
|
@ -249,7 +214,7 @@ LogHashEvent (
|
|||
DEBUG ((EFI_D_INFO, " LogFormat - 0x%08x\n", mTreeEventInfo[Index].LogFormat));
|
||||
switch (mTreeEventInfo[Index].LogFormat) {
|
||||
case TREE_EVENT_LOG_FORMAT_TCG_1_2:
|
||||
Status = Tpm2GetDigestFromDigestList (TPM_ALG_SHA1, DigestList, &NewEventHdr->Digest);
|
||||
Status = GetDigestFromDigestList (TPM_ALG_SHA1, DigestList, &NewEventHdr->Digest);
|
||||
if (!EFI_ERROR (Status)) {
|
||||
HobData = BuildGuidHob (
|
||||
&gTcgEventEntryHobGuid,
|
||||
|
|
Loading…
Reference in New Issue