diff options
Diffstat (limited to 'CryptoPkg')
-rw-r--r-- | CryptoPkg/Library/BaseCryptLib/Hash/CryptSha512.c | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/CryptoPkg/Library/BaseCryptLib/Hash/CryptSha512.c b/CryptoPkg/Library/BaseCryptLib/Hash/CryptSha512.c index 2ab7188035..dee8f35c41 100644 --- a/CryptoPkg/Library/BaseCryptLib/Hash/CryptSha512.c +++ b/CryptoPkg/Library/BaseCryptLib/Hash/CryptSha512.c @@ -430,6 +430,8 @@ Sha512HashAll ( OUT UINT8 *HashValue
)
{
+ SHA512_CTX Context;
+
//
// Check input parameters.
//
@@ -444,9 +446,17 @@ Sha512HashAll ( //
// OpenSSL SHA-512 Hash Computation.
//
- if (SHA512 (Data, DataSize, HashValue) == NULL) {
+ if (!SHA512_Init (&Context)) {
+ return FALSE;
+ }
+
+ if (!SHA512_Update (&Context, Data, DataSize)) {
return FALSE;
- } else {
- return TRUE;
}
+
+ if (!SHA512_Final (HashValue, &Context)) {
+ return FALSE;
+ }
+
+ return TRUE;
}
|