In openssl 3.0 SHA256() goes through the provider logic, requiring a huge amount of openssl code. The individual functions do not, so use them instead.
Signed-off-by: Gerd Hoffmann <kra...@redhat.com> --- .../Library/BaseCryptLib/Hash/CryptSha256.c | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/CryptoPkg/Library/BaseCryptLib/Hash/CryptSha256.c b/CryptoPkg/Library/BaseCryptLib/Hash/CryptSha256.c index f105e6e57708..4d7d92812c4d 100644 --- a/CryptoPkg/Library/BaseCryptLib/Hash/CryptSha256.c +++ b/CryptoPkg/Library/BaseCryptLib/Hash/CryptSha256.c @@ -202,6 +202,8 @@ Sha256HashAll ( OUT UINT8 *HashValue ) { + SHA256_CTX Context; + // // Check input parameters. // @@ -216,9 +218,17 @@ Sha256HashAll ( // // OpenSSL SHA-256 Hash Computation. // - if (SHA256 (Data, DataSize, HashValue) == NULL) { + if (!SHA256_Init (&Context)) { return FALSE; - } else { - return TRUE; } + + if (!SHA256_Update (&Context, Data, DataSize)) { + return FALSE; + } + + if (!SHA256_Final (HashValue, &Context)) { + return FALSE; + } + + return TRUE; } -- 2.39.1 -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#100125): https://edk2.groups.io/g/devel/message/100125 Mute This Topic: https://groups.io/mt/96943601/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-