[0.4.13][BCRYPT] Add ECDSA P384 to known algorithms (#4236)
authorJoachim Henze <Joachim.Henze@reactos.org>
Tue, 25 Oct 2022 00:17:33 +0000 (02:17 +0200)
committerJoachim Henze <Joachim.Henze@reactos.org>
Tue, 25 Oct 2022 00:17:33 +0000 (02:17 +0200)
commit91eccadf3b0d011ae6e3d90e251eae8205352d74
tree827476cc0e4daddd5921a5d801dc5379ce828dea
parent06539712a332188129d67897c2459b36206ef8a3
[0.4.13][BCRYPT] Add ECDSA P384 to known algorithms (#4236)

Today 2022-10-25 was the day, when I spotted the first URL in rapps that is not longer happy with just having
ECDSA_P256 but now needs even ECDSA_P384 to make the rapps download succeed. *eye-rolling*
It was https://bitbucket.org/Swyter/tld-downloads/downloads/diabloiidemo.exe
that failed the rapps download with

fixme:(dll/win32/bcrypt/bcrypt_main.c:359) algorithm L"ECDSA_P384" not supported
err:(win32ss/user/user32/windows/messagebox.c:1048) MessageBox: L"Paket konnte nicht geladen werden! Pr\00fcfen Sie Ihre Internetverbindung!"

So I have no choice but to follow the totally stupid crypto-rat-race and
add the missing structs and handlers in BCryptOpenAlgorithmProvider().

When will the world ever learn that the new cryptos do outdate faster than the new shit even can be implemented in time everywhere?
Each additional crypto algorithm effectively enlarges the attack surface of the end-points instead of making stuff more secure.
The world is rushing towards totally breaking backward compatibility to older systems. This is built-in obsolescence. For which gain?
This race can never be won. Each crypto-iteration just intensifies the existing chaos. Enough ranting...

fix picked from 0.4.15-dev-3662-g c3e0df06113b67a4c3967cd018220c4f2bd7fa2b

It is a cherry-pick a part of Michael Müller's commit from Wine
https://source.winehq.org/git/wine.git/commit/76b6c360fa7f3d6a0a14ed935075f5eb10f2f719

The commit doesn't fix CORE-14198 at all, same like on master, but since the original commit was linked
to that JIRA ticket as well, I decided to do the same with the backport.
dll/win32/bcrypt/bcrypt_main.c