From ba0a25382bc272bfacb1fe13e06543fe1e091440 Mon Sep 17 00:00:00 2001 From: Joachim Henze Date: Wed, 2 Feb 2022 22:10:03 +0100 Subject: [PATCH] [0.4.9][BCRYPT] Add ECDSA P256 to known algorithms CORE-16741 Add missing structs and handler in BCryptOpenAlgorithmProvider(). Fixes CORE-16741 and similar problems. The modern internet is not waiting for ReactOS, needed to keep the RAPPS URLs working. fix picked from: 0.4.15-dev-3603-g e0a47b7b5ffc7d8dd5b883875200b56cec8ef923 [BCRYPT] Add BCRYPT_ECDSA_P256_ALGORITHM --- dll/win32/bcrypt/bcrypt_main.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/dll/win32/bcrypt/bcrypt_main.c b/dll/win32/bcrypt/bcrypt_main.c index 14523136440..042e906bb7d 100644 --- a/dll/win32/bcrypt/bcrypt_main.c +++ b/dll/win32/bcrypt/bcrypt_main.c @@ -266,7 +266,8 @@ enum alg_id ALG_ID_SHA1, ALG_ID_SHA256, ALG_ID_SHA384, - ALG_ID_SHA512 + ALG_ID_SHA512, + ALG_ID_ECDSA_P256 }; static const struct { @@ -278,7 +279,8 @@ static const struct { /* ALG_ID_SHA1 */ { 20, BCRYPT_SHA1_ALGORITHM }, /* ALG_ID_SHA256 */ { 32, BCRYPT_SHA256_ALGORITHM }, /* ALG_ID_SHA384 */ { 48, BCRYPT_SHA384_ALGORITHM }, - /* ALG_ID_SHA512 */ { 64, BCRYPT_SHA512_ALGORITHM } + /* ALG_ID_SHA512 */ { 64, BCRYPT_SHA512_ALGORITHM }, + /* ALG_ID_ECDSA_P256 */ { 0, BCRYPT_ECDSA_P256_ALGORITHM } }; struct algorithm @@ -351,6 +353,7 @@ NTSTATUS WINAPI BCryptOpenAlgorithmProvider( BCRYPT_ALG_HANDLE *handle, LPCWSTR else if (!strcmpW( id, BCRYPT_SHA256_ALGORITHM )) alg_id = ALG_ID_SHA256; else if (!strcmpW( id, BCRYPT_SHA384_ALGORITHM )) alg_id = ALG_ID_SHA384; else if (!strcmpW( id, BCRYPT_SHA512_ALGORITHM )) alg_id = ALG_ID_SHA512; + else if (!strcmpW( id, BCRYPT_ECDSA_P256_ALGORITHM )) alg_id = ALG_ID_ECDSA_P256; else { FIXME( "algorithm %s not supported\n", debugstr_w(id) );