From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received-SPF: Pass (sender SPF authorized) identity=mailfrom; client-ip=192.55.52.151; helo=mga17.intel.com; envelope-from=chao.b.zhang@intel.com; receiver=edk2-devel@lists.01.org Received: from mga17.intel.com (mga17.intel.com [192.55.52.151]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id 845D021124FE0 for ; Fri, 7 Sep 2018 01:49:48 -0700 (PDT) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga006.jf.intel.com ([10.7.209.51]) by fmsmga107.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 07 Sep 2018 01:49:47 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.53,341,1531810800"; d="scan'208";a="72350181" Received: from shwde9099.ccr.corp.intel.com ([10.239.9.146]) by orsmga006.jf.intel.com with ESMTP; 07 Sep 2018 01:49:46 -0700 From: "Zhang, Chao B" To: edk2-devel@lists.01.org Cc: Bi Dandan , Zhang Chao B Date: Fri, 7 Sep 2018 16:49:39 +0800 Message-Id: <20180907084939.15288-1-chao.b.zhang@intel.com> X-Mailer: git-send-email 2.16.2.windows.1 Subject: [Patch] SecurityPkg: HashLib: Change dos format X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 07 Sep 2018 08:49:48 -0000 Change file format to DOS Cc: Bi Dandan Contributed-under: TianoCore Contribution Agreement 1.1 Signed-off-by: Zhang Chao B Signed-off-by: Zhang, Chao B --- .../HashInstanceLibSha384/HashInstanceLibSha384.c | 310 ++++++++++----------- .../HashInstanceLibSha384.inf | 90 +++--- .../HashInstanceLibSha384.uni | 42 +-- .../HashInstanceLibSha512/HashInstanceLibSha512.c | 308 ++++++++++---------- .../HashInstanceLibSha512.inf | 90 +++--- .../HashInstanceLibSha512.uni | 42 +-- 6 files changed, 441 insertions(+), 441 deletions(-) diff --git a/SecurityPkg/Library/HashInstanceLibSha384/HashInstanceLibSha384.c b/SecurityPkg/Library/HashInstanceLibSha384/HashInstanceLibSha384.c index 54bc687425..c750273bdc 100644 --- a/SecurityPkg/Library/HashInstanceLibSha384/HashInstanceLibSha384.c +++ b/SecurityPkg/Library/HashInstanceLibSha384/HashInstanceLibSha384.c @@ -1,155 +1,155 @@ -/** @file - This library is BaseCrypto SHA384 hash instance. - It can be registered to BaseCrypto router, to serve as hash engine. - -Copyright (c) 2018, Intel Corporation. All rights reserved.
-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 -http://opensource.org/licenses/bsd-license.php - -THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, -WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. - -**/ - -#include - -#include -#include -#include -#include -#include -#include - -/** - The function set SHA384 to digest list. - - @param DigestList digest list - @param Sha384Digest SHA384 digest -**/ -VOID -Tpm2SetSha384ToDigestList ( - IN TPML_DIGEST_VALUES *DigestList, - IN UINT8 *Sha384Digest - ) -{ - DigestList->count = 1; - DigestList->digests[0].hashAlg = TPM_ALG_SHA384; - CopyMem ( - DigestList->digests[0].digest.sha384, - Sha384Digest, - SHA384_DIGEST_SIZE - ); -} - -/** - Start hash sequence. - - @param HashHandle Hash handle. - - @retval EFI_SUCCESS Hash sequence start and HandleHandle returned. - @retval EFI_OUT_OF_RESOURCES No enough resource to start hash. -**/ -EFI_STATUS -EFIAPI -Sha384HashInit ( - OUT HASH_HANDLE *HashHandle - ) -{ - VOID *Sha384Ctx; - UINTN CtxSize; - - CtxSize = Sha384GetContextSize (); - Sha384Ctx = AllocatePool (CtxSize); - ASSERT (Sha384Ctx != NULL); - - Sha384Init (Sha384Ctx); - - *HashHandle = (HASH_HANDLE)Sha384Ctx; - - return EFI_SUCCESS; -} - -/** - Update hash sequence data. - - @param HashHandle Hash handle. - @param DataToHash Data to be hashed. - @param DataToHashLen Data size. - - @retval EFI_SUCCESS Hash sequence updated. -**/ -EFI_STATUS -EFIAPI -Sha384HashUpdate ( - IN HASH_HANDLE HashHandle, - IN VOID *DataToHash, - IN UINTN DataToHashLen - ) -{ - VOID *Sha384Ctx; - - Sha384Ctx = (VOID *)HashHandle; - Sha384Update (Sha384Ctx, DataToHash, DataToHashLen); - - return EFI_SUCCESS; -} - -/** - Complete hash sequence complete. - - @param HashHandle Hash handle. - @param DigestList Digest list. - - @retval EFI_SUCCESS Hash sequence complete and DigestList is returned. -**/ -EFI_STATUS -EFIAPI -Sha384HashFinal ( - IN HASH_HANDLE HashHandle, - OUT TPML_DIGEST_VALUES *DigestList - ) -{ - UINT8 Digest[SHA384_DIGEST_SIZE]; - VOID *Sha384Ctx; - - Sha384Ctx = (VOID *)HashHandle; - Sha384Final (Sha384Ctx, Digest); - - FreePool (Sha384Ctx); - - Tpm2SetSha384ToDigestList (DigestList, Digest); - - return EFI_SUCCESS; -} - -HASH_INTERFACE mSha384InternalHashInstance = { - HASH_ALGORITHM_SHA384_GUID, - Sha384HashInit, - Sha384HashUpdate, - Sha384HashFinal, -}; - -/** - The function register SHA384 instance. - - @retval EFI_SUCCESS SHA384 instance is registered, or system dose not surpport registr SHA384 instance -**/ -EFI_STATUS -EFIAPI -HashInstanceLibSha384Constructor ( - VOID - ) -{ - EFI_STATUS Status; - - Status = RegisterHashInterfaceLib (&mSha384InternalHashInstance); - if ((Status == EFI_SUCCESS) || (Status == EFI_UNSUPPORTED)) { - // - // Unsupported means platform policy does not need this instance enabled. - // - return EFI_SUCCESS; - } - return Status; -} \ No newline at end of file +/** @file + This library is BaseCrypto SHA384 hash instance. + It can be registered to BaseCrypto router, to serve as hash engine. + +Copyright (c) 2018, Intel Corporation. All rights reserved.
+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 +http://opensource.org/licenses/bsd-license.php + +THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, +WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. + +**/ + +#include + +#include +#include +#include +#include +#include +#include + +/** + The function set SHA384 to digest list. + + @param DigestList digest list + @param Sha384Digest SHA384 digest +**/ +VOID +Tpm2SetSha384ToDigestList ( + IN TPML_DIGEST_VALUES *DigestList, + IN UINT8 *Sha384Digest + ) +{ + DigestList->count = 1; + DigestList->digests[0].hashAlg = TPM_ALG_SHA384; + CopyMem ( + DigestList->digests[0].digest.sha384, + Sha384Digest, + SHA384_DIGEST_SIZE + ); +} + +/** + Start hash sequence. + + @param HashHandle Hash handle. + + @retval EFI_SUCCESS Hash sequence start and HandleHandle returned. + @retval EFI_OUT_OF_RESOURCES No enough resource to start hash. +**/ +EFI_STATUS +EFIAPI +Sha384HashInit ( + OUT HASH_HANDLE *HashHandle + ) +{ + VOID *Sha384Ctx; + UINTN CtxSize; + + CtxSize = Sha384GetContextSize (); + Sha384Ctx = AllocatePool (CtxSize); + ASSERT (Sha384Ctx != NULL); + + Sha384Init (Sha384Ctx); + + *HashHandle = (HASH_HANDLE)Sha384Ctx; + + return EFI_SUCCESS; +} + +/** + Update hash sequence data. + + @param HashHandle Hash handle. + @param DataToHash Data to be hashed. + @param DataToHashLen Data size. + + @retval EFI_SUCCESS Hash sequence updated. +**/ +EFI_STATUS +EFIAPI +Sha384HashUpdate ( + IN HASH_HANDLE HashHandle, + IN VOID *DataToHash, + IN UINTN DataToHashLen + ) +{ + VOID *Sha384Ctx; + + Sha384Ctx = (VOID *)HashHandle; + Sha384Update (Sha384Ctx, DataToHash, DataToHashLen); + + return EFI_SUCCESS; +} + +/** + Complete hash sequence complete. + + @param HashHandle Hash handle. + @param DigestList Digest list. + + @retval EFI_SUCCESS Hash sequence complete and DigestList is returned. +**/ +EFI_STATUS +EFIAPI +Sha384HashFinal ( + IN HASH_HANDLE HashHandle, + OUT TPML_DIGEST_VALUES *DigestList + ) +{ + UINT8 Digest[SHA384_DIGEST_SIZE]; + VOID *Sha384Ctx; + + Sha384Ctx = (VOID *)HashHandle; + Sha384Final (Sha384Ctx, Digest); + + FreePool (Sha384Ctx); + + Tpm2SetSha384ToDigestList (DigestList, Digest); + + return EFI_SUCCESS; +} + +HASH_INTERFACE mSha384InternalHashInstance = { + HASH_ALGORITHM_SHA384_GUID, + Sha384HashInit, + Sha384HashUpdate, + Sha384HashFinal, +}; + +/** + The function register SHA384 instance. + + @retval EFI_SUCCESS SHA384 instance is registered, or system dose not surpport registr SHA384 instance +**/ +EFI_STATUS +EFIAPI +HashInstanceLibSha384Constructor ( + VOID + ) +{ + EFI_STATUS Status; + + Status = RegisterHashInterfaceLib (&mSha384InternalHashInstance); + if ((Status == EFI_SUCCESS) || (Status == EFI_UNSUPPORTED)) { + // + // Unsupported means platform policy does not need this instance enabled. + // + return EFI_SUCCESS; + } + return Status; +} diff --git a/SecurityPkg/Library/HashInstanceLibSha384/HashInstanceLibSha384.inf b/SecurityPkg/Library/HashInstanceLibSha384/HashInstanceLibSha384.inf index 96b6a7ea53..0a39ac5ee1 100644 --- a/SecurityPkg/Library/HashInstanceLibSha384/HashInstanceLibSha384.inf +++ b/SecurityPkg/Library/HashInstanceLibSha384/HashInstanceLibSha384.inf @@ -1,45 +1,45 @@ -## @file -# Provides BaseCrypto SHA384 hash service -# -# This library can be registered to BaseCrypto router, to serve as hash engine. -# -# Copyright (c) 2018, Intel Corporation. All rights reserved.
-# 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 -# http://opensource.org/licenses/bsd-license.php -# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, -# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. -# -## - -[Defines] - INF_VERSION = 0x00010005 - BASE_NAME = HashInstanceLibSha384 - MODULE_UNI_FILE = HashInstanceLibSha384.uni - FILE_GUID = 74223710-17A9-478F-9B24-E354496B968B - MODULE_TYPE = BASE - VERSION_STRING = 1.0 - LIBRARY_CLASS = NULL - CONSTRUCTOR = HashInstanceLibSha384Constructor - -# -# The following information is for reference only and not required by the build tools. -# -# VALID_ARCHITECTURES = IA32 X64 -# - -[Sources] - HashInstanceLibSha384.c - -[Packages] - MdePkg/MdePkg.dec - SecurityPkg/SecurityPkg.dec - CryptoPkg/CryptoPkg.dec - -[LibraryClasses] - BaseLib - BaseMemoryLib - DebugLib - MemoryAllocationLib - BaseCryptLib +## @file +# Provides BaseCrypto SHA384 hash service +# +# This library can be registered to BaseCrypto router, to serve as hash engine. +# +# Copyright (c) 2018, Intel Corporation. All rights reserved.
+# 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 +# http://opensource.org/licenses/bsd-license.php +# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, +# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. +# +## + +[Defines] + INF_VERSION = 0x00010005 + BASE_NAME = HashInstanceLibSha384 + MODULE_UNI_FILE = HashInstanceLibSha384.uni + FILE_GUID = 74223710-17A9-478F-9B24-E354496B968B + MODULE_TYPE = BASE + VERSION_STRING = 1.0 + LIBRARY_CLASS = NULL + CONSTRUCTOR = HashInstanceLibSha384Constructor + +# +# The following information is for reference only and not required by the build tools. +# +# VALID_ARCHITECTURES = IA32 X64 +# + +[Sources] + HashInstanceLibSha384.c + +[Packages] + MdePkg/MdePkg.dec + SecurityPkg/SecurityPkg.dec + CryptoPkg/CryptoPkg.dec + +[LibraryClasses] + BaseLib + BaseMemoryLib + DebugLib + MemoryAllocationLib + BaseCryptLib diff --git a/SecurityPkg/Library/HashInstanceLibSha384/HashInstanceLibSha384.uni b/SecurityPkg/Library/HashInstanceLibSha384/HashInstanceLibSha384.uni index 6fde3c6224..6372852a87 100644 --- a/SecurityPkg/Library/HashInstanceLibSha384/HashInstanceLibSha384.uni +++ b/SecurityPkg/Library/HashInstanceLibSha384/HashInstanceLibSha384.uni @@ -1,21 +1,21 @@ -// /** @file -// Provides BaseCrypto SHA384 hash service -// -// This library can be registered to BaseCrypto router, to serve as hash engine. -// -// Copyright (c) 2018, Intel Corporation. All rights reserved.
-// -// 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 -// http://opensource.org/licenses/bsd-license.php -// THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, -// WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. -// -// **/ - - -#string STR_MODULE_ABSTRACT #language en-US "Provides BaseCrypto SHA384 hash service" - -#string STR_MODULE_DESCRIPTION #language en-US "This library can be registered to BaseCrypto router, to serve as hash engine." - +// /** @file +// Provides BaseCrypto SHA384 hash service +// +// This library can be registered to BaseCrypto router, to serve as hash engine. +// +// Copyright (c) 2018, Intel Corporation. All rights reserved.
+// +// 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 +// http://opensource.org/licenses/bsd-license.php +// THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, +// WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. +// +// **/ + + +#string STR_MODULE_ABSTRACT #language en-US "Provides BaseCrypto SHA384 hash service" + +#string STR_MODULE_DESCRIPTION #language en-US "This library can be registered to BaseCrypto router, to serve as hash engine." + diff --git a/SecurityPkg/Library/HashInstanceLibSha512/HashInstanceLibSha512.c b/SecurityPkg/Library/HashInstanceLibSha512/HashInstanceLibSha512.c index 5dd15f5a42..83133702d5 100644 --- a/SecurityPkg/Library/HashInstanceLibSha512/HashInstanceLibSha512.c +++ b/SecurityPkg/Library/HashInstanceLibSha512/HashInstanceLibSha512.c @@ -1,154 +1,154 @@ -/** @file - This library is BaseCrypto SHA512 hash instance. - It can be registered to BaseCrypto router, to serve as hash engine. - -Copyright (c) 2018, Intel Corporation. All rights reserved.
-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 -http://opensource.org/licenses/bsd-license.php - -THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, -WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. - -**/ - -#include -#include -#include -#include -#include -#include -#include - -/** - The function set SHA512 to digest list. - - @param DigestList digest list - @param Sha512Digest SHA512 digest -**/ -VOID -Tpm2SetSha512ToDigestList ( - IN TPML_DIGEST_VALUES *DigestList, - IN UINT8 *Sha512Digest - ) -{ - DigestList->count = 1; - DigestList->digests[0].hashAlg = TPM_ALG_SHA512; - CopyMem ( - DigestList->digests[0].digest.sha512, - Sha512Digest, - SHA512_DIGEST_SIZE - ); -} - -/** - Start hash sequence. - - @param HashHandle Hash handle. - - @retval EFI_SUCCESS Hash sequence start and HandleHandle returned. - @retval EFI_OUT_OF_RESOURCES No enough resource to start hash. -**/ -EFI_STATUS -EFIAPI -Sha512HashInit ( - OUT HASH_HANDLE *HashHandle - ) -{ - VOID *Sha512Ctx; - UINTN CtxSize; - - CtxSize = Sha512GetContextSize (); - Sha512Ctx = AllocatePool (CtxSize); - ASSERT (Sha512Ctx != NULL); - - Sha512Init (Sha512Ctx); - - *HashHandle = (HASH_HANDLE)Sha512Ctx; - - return EFI_SUCCESS; -} - -/** - Update hash sequence data. - - @param HashHandle Hash handle. - @param DataToHash Data to be hashed. - @param DataToHashLen Data size. - - @retval EFI_SUCCESS Hash sequence updated. -**/ -EFI_STATUS -EFIAPI -Sha512HashUpdate ( - IN HASH_HANDLE HashHandle, - IN VOID *DataToHash, - IN UINTN DataToHashLen - ) -{ - VOID *Sha512Ctx; - - Sha512Ctx = (VOID *)HashHandle; - Sha512Update (Sha512Ctx, DataToHash, DataToHashLen); - - return EFI_SUCCESS; -} - -/** - Complete hash sequence complete. - - @param HashHandle Hash handle. - @param DigestList Digest list. - - @retval EFI_SUCCESS Hash sequence complete and DigestList is returned. -**/ -EFI_STATUS -EFIAPI -Sha512HashFinal ( - IN HASH_HANDLE HashHandle, - OUT TPML_DIGEST_VALUES *DigestList - ) -{ - UINT8 Digest[SHA512_DIGEST_SIZE]; - VOID *Sha512Ctx; - - Sha512Ctx = (VOID *)HashHandle; - Sha512Final (Sha512Ctx, Digest); - - FreePool (Sha512Ctx); - - Tpm2SetSha512ToDigestList (DigestList, Digest); - - return EFI_SUCCESS; -} - -HASH_INTERFACE mSha512InternalHashInstance = { - HASH_ALGORITHM_SHA512_GUID, - Sha512HashInit, - Sha512HashUpdate, - Sha512HashFinal, -}; - -/** - The function register SHA512 instance. - - @retval EFI_SUCCESS SHA512 instance is registered, or system dose not surpport registr SHA512 instance -**/ -EFI_STATUS -EFIAPI -HashInstanceLibSha512Constructor ( - VOID - ) -{ - EFI_STATUS Status; - - Status = RegisterHashInterfaceLib (&mSha512InternalHashInstance); - if ((Status == EFI_SUCCESS) || (Status == EFI_UNSUPPORTED)) { - // - // Unsupported means platform policy does not need this instance enabled. - // - return EFI_SUCCESS; - } - return Status; -} \ No newline at end of file +/** @file + This library is BaseCrypto SHA512 hash instance. + It can be registered to BaseCrypto router, to serve as hash engine. + +Copyright (c) 2018, Intel Corporation. All rights reserved.
+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 +http://opensource.org/licenses/bsd-license.php + +THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, +WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. + +**/ + +#include +#include +#include +#include +#include +#include +#include + +/** + The function set SHA512 to digest list. + + @param DigestList digest list + @param Sha512Digest SHA512 digest +**/ +VOID +Tpm2SetSha512ToDigestList ( + IN TPML_DIGEST_VALUES *DigestList, + IN UINT8 *Sha512Digest + ) +{ + DigestList->count = 1; + DigestList->digests[0].hashAlg = TPM_ALG_SHA512; + CopyMem ( + DigestList->digests[0].digest.sha512, + Sha512Digest, + SHA512_DIGEST_SIZE + ); +} + +/** + Start hash sequence. + + @param HashHandle Hash handle. + + @retval EFI_SUCCESS Hash sequence start and HandleHandle returned. + @retval EFI_OUT_OF_RESOURCES No enough resource to start hash. +**/ +EFI_STATUS +EFIAPI +Sha512HashInit ( + OUT HASH_HANDLE *HashHandle + ) +{ + VOID *Sha512Ctx; + UINTN CtxSize; + + CtxSize = Sha512GetContextSize (); + Sha512Ctx = AllocatePool (CtxSize); + ASSERT (Sha512Ctx != NULL); + + Sha512Init (Sha512Ctx); + + *HashHandle = (HASH_HANDLE)Sha512Ctx; + + return EFI_SUCCESS; +} + +/** + Update hash sequence data. + + @param HashHandle Hash handle. + @param DataToHash Data to be hashed. + @param DataToHashLen Data size. + + @retval EFI_SUCCESS Hash sequence updated. +**/ +EFI_STATUS +EFIAPI +Sha512HashUpdate ( + IN HASH_HANDLE HashHandle, + IN VOID *DataToHash, + IN UINTN DataToHashLen + ) +{ + VOID *Sha512Ctx; + + Sha512Ctx = (VOID *)HashHandle; + Sha512Update (Sha512Ctx, DataToHash, DataToHashLen); + + return EFI_SUCCESS; +} + +/** + Complete hash sequence complete. + + @param HashHandle Hash handle. + @param DigestList Digest list. + + @retval EFI_SUCCESS Hash sequence complete and DigestList is returned. +**/ +EFI_STATUS +EFIAPI +Sha512HashFinal ( + IN HASH_HANDLE HashHandle, + OUT TPML_DIGEST_VALUES *DigestList + ) +{ + UINT8 Digest[SHA512_DIGEST_SIZE]; + VOID *Sha512Ctx; + + Sha512Ctx = (VOID *)HashHandle; + Sha512Final (Sha512Ctx, Digest); + + FreePool (Sha512Ctx); + + Tpm2SetSha512ToDigestList (DigestList, Digest); + + return EFI_SUCCESS; +} + +HASH_INTERFACE mSha512InternalHashInstance = { + HASH_ALGORITHM_SHA512_GUID, + Sha512HashInit, + Sha512HashUpdate, + Sha512HashFinal, +}; + +/** + The function register SHA512 instance. + + @retval EFI_SUCCESS SHA512 instance is registered, or system dose not surpport registr SHA512 instance +**/ +EFI_STATUS +EFIAPI +HashInstanceLibSha512Constructor ( + VOID + ) +{ + EFI_STATUS Status; + + Status = RegisterHashInterfaceLib (&mSha512InternalHashInstance); + if ((Status == EFI_SUCCESS) || (Status == EFI_UNSUPPORTED)) { + // + // Unsupported means platform policy does not need this instance enabled. + // + return EFI_SUCCESS; + } + return Status; +} diff --git a/SecurityPkg/Library/HashInstanceLibSha512/HashInstanceLibSha512.inf b/SecurityPkg/Library/HashInstanceLibSha512/HashInstanceLibSha512.inf index 2ebf7ed8c7..55533ca302 100644 --- a/SecurityPkg/Library/HashInstanceLibSha512/HashInstanceLibSha512.inf +++ b/SecurityPkg/Library/HashInstanceLibSha512/HashInstanceLibSha512.inf @@ -1,45 +1,45 @@ -## @file -# Provides BaseCrypto SHA512 hash service -# -# This library can be registered to BaseCrypto router, to serve as hash engine. -# -# Copyright (c) 2018, Intel Corporation. All rights reserved.
-# 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 -# http://opensource.org/licenses/bsd-license.php -# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, -# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. -# -## - -[Defines] - INF_VERSION = 0x00010005 - BASE_NAME = HashInstanceLibSha512 - MODULE_UNI_FILE = HashInstanceLibSha512.uni - FILE_GUID = 959C3685-AC3F-4F3E-AC5B-7E2A64BADD36 - MODULE_TYPE = BASE - VERSION_STRING = 1.0 - LIBRARY_CLASS = NULL - CONSTRUCTOR = HashInstanceLibSha512Constructor - -# -# The following information is for reference only and not required by the build tools. -# -# VALID_ARCHITECTURES = IA32 X64 -# - -[Sources] - HashInstanceLibSha512.c - -[Packages] - MdePkg/MdePkg.dec - SecurityPkg/SecurityPkg.dec - CryptoPkg/CryptoPkg.dec - -[LibraryClasses] - BaseLib - BaseMemoryLib - DebugLib - MemoryAllocationLib - BaseCryptLib +## @file +# Provides BaseCrypto SHA512 hash service +# +# This library can be registered to BaseCrypto router, to serve as hash engine. +# +# Copyright (c) 2018, Intel Corporation. All rights reserved.
+# 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 +# http://opensource.org/licenses/bsd-license.php +# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, +# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. +# +## + +[Defines] + INF_VERSION = 0x00010005 + BASE_NAME = HashInstanceLibSha512 + MODULE_UNI_FILE = HashInstanceLibSha512.uni + FILE_GUID = 959C3685-AC3F-4F3E-AC5B-7E2A64BADD36 + MODULE_TYPE = BASE + VERSION_STRING = 1.0 + LIBRARY_CLASS = NULL + CONSTRUCTOR = HashInstanceLibSha512Constructor + +# +# The following information is for reference only and not required by the build tools. +# +# VALID_ARCHITECTURES = IA32 X64 +# + +[Sources] + HashInstanceLibSha512.c + +[Packages] + MdePkg/MdePkg.dec + SecurityPkg/SecurityPkg.dec + CryptoPkg/CryptoPkg.dec + +[LibraryClasses] + BaseLib + BaseMemoryLib + DebugLib + MemoryAllocationLib + BaseCryptLib diff --git a/SecurityPkg/Library/HashInstanceLibSha512/HashInstanceLibSha512.uni b/SecurityPkg/Library/HashInstanceLibSha512/HashInstanceLibSha512.uni index 01cda5e13d..293ac0d83b 100644 --- a/SecurityPkg/Library/HashInstanceLibSha512/HashInstanceLibSha512.uni +++ b/SecurityPkg/Library/HashInstanceLibSha512/HashInstanceLibSha512.uni @@ -1,21 +1,21 @@ -// /** @file -// Provides BaseCrypto SHA512 hash service -// -// This library can be registered to BaseCrypto router, to serve as hash engine. -// -// Copyright (c) 2018, Intel Corporation. All rights reserved.
-// -// 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 -// http://opensource.org/licenses/bsd-license.php -// THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, -// WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. -// -// **/ - - -#string STR_MODULE_ABSTRACT #language en-US "Provides BaseCrypto SHA512 hash service" - -#string STR_MODULE_DESCRIPTION #language en-US "This library can be registered to BaseCrypto router, to serve as hash engine." - +// /** @file +// Provides BaseCrypto SHA512 hash service +// +// This library can be registered to BaseCrypto router, to serve as hash engine. +// +// Copyright (c) 2018, Intel Corporation. All rights reserved.
+// +// 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 +// http://opensource.org/licenses/bsd-license.php +// THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, +// WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. +// +// **/ + + +#string STR_MODULE_ABSTRACT #language en-US "Provides BaseCrypto SHA512 hash service" + +#string STR_MODULE_DESCRIPTION #language en-US "This library can be registered to BaseCrypto router, to serve as hash engine." + -- 2.16.2.windows.1