The hidden API are found in windowsapp since the RS4/19H1 SDK. They are also allowed by the WACK in api-ms-win-security-cryptoapi-l1-1-0. That DLL has been on all Windows 10 versions [1].
It's better to use the real API than using CCryptography winrt API just for these calls. Crypto.c is kept in the old winstorecompat when targetting Windows 8. Apps targetting UWP before 19H1 and using CryptGenRandom may not work if api-ms-win-security-cryptoapi-l1-1-0.dll on older Windows doesn't contain the entry. [1] https://learn.microsoft.com/en-us/uwp/win32-and-com/win32-apis#apis-from-api-ms-win-security-cryptoapi-l1-1-0dll --- .../api-ms-win-security-cryptoapi-l1-1-0.def | 12 ++++-------- .../lib32/api-ms-win-security-cryptoapi-l1-1-0.def | 12 ++++-------- mingw-w64-libraries/winstorecompat/Makefile.am | 1 - 3 files changed, 8 insertions(+), 17 deletions(-) diff --git a/mingw-w64-crt/lib-common/api-ms-win-security-cryptoapi-l1-1-0.def b/mingw-w64-crt/lib-common/api-ms-win-security-cryptoapi-l1-1-0.def index 08bd2c35e..ebeeda2c5 100644 --- a/mingw-w64-crt/lib-common/api-ms-win-security-cryptoapi-l1-1-0.def +++ b/mingw-w64-crt/lib-common/api-ms-win-security-cryptoapi-l1-1-0.def @@ -2,10 +2,8 @@ LIBRARY api-ms-win-security-cryptoapi-l1-1-0 EXPORTS -; Implemented in windowsappcompat -;CryptAcquireContextA -; Implemented in windowsappcompat -;CryptAcquireContextW +CryptAcquireContextA +CryptAcquireContextW CryptCreateHash CryptDecrypt CryptDeriveKey @@ -17,8 +15,7 @@ CryptEnumProvidersA CryptEnumProvidersW CryptExportKey CryptGenKey -; Implemented in windowsappcompat -;CryptGenRandom +CryptGenRandom CryptGetDefaultProviderA CryptGetDefaultProviderW CryptGetHashParam @@ -27,8 +24,7 @@ CryptGetProvParam CryptGetUserKey CryptHashData CryptImportKey -; Implemented in windowsappcompat -;CryptReleaseContext +CryptReleaseContext CryptSetHashParam CryptSetKeyParam CryptSetProviderW diff --git a/mingw-w64-crt/lib32/api-ms-win-security-cryptoapi-l1-1-0.def b/mingw-w64-crt/lib32/api-ms-win-security-cryptoapi-l1-1-0.def index c851a41c9..2590c143c 100644 --- a/mingw-w64-crt/lib32/api-ms-win-security-cryptoapi-l1-1-0.def +++ b/mingw-w64-crt/lib32/api-ms-win-security-cryptoapi-l1-1-0.def @@ -2,10 +2,8 @@ LIBRARY api-ms-win-security-cryptoapi-l1-1-0 EXPORTS -; Implemented in windowsappcompat -;CryptAcquireContextA@20 -; Implemented in windowsappcompat -;CryptAcquireContextW@20 +CryptAcquireContextA@20 +CryptAcquireContextW@20 CryptCreateHash@20 CryptDecrypt@24 CryptDeriveKey@20 @@ -17,8 +15,7 @@ CryptEnumProvidersA@24 CryptEnumProvidersW@24 CryptExportKey@24 CryptGenKey@16 -; Implemented in windowsappcompat -;CryptGenRandom@12 +CryptGenRandom@12 CryptGetDefaultProviderA@20 CryptGetDefaultProviderW@20 CryptGetHashParam@20 @@ -27,8 +24,7 @@ CryptGetProvParam@20 CryptGetUserKey@12 CryptHashData@16 CryptImportKey@24 -; Implemented in windowsappcompat -;CryptReleaseContext@8 +CryptReleaseContext@8 CryptSetHashParam@16 CryptSetKeyParam@16 CryptSetProviderW@8 diff --git a/mingw-w64-libraries/winstorecompat/Makefile.am b/mingw-w64-libraries/winstorecompat/Makefile.am index 99016a051..55fb45841 100644 --- a/mingw-w64-libraries/winstorecompat/Makefile.am +++ b/mingw-w64-libraries/winstorecompat/Makefile.am @@ -57,7 +57,6 @@ libwindowsappcompat_a_SOURCES = \ src/GetFileSize.c \ src/SHGetFolderPathW.c \ src/QueueTimer.c \ - src/Crypto.c \ src/GetStartupInfo.c \ src/EnumProcessModules.c \ src/RtlAddFunctionTable.c \ -- 2.39.2 _______________________________________________ Mingw-w64-public mailing list Mingw-w64-public@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mingw-w64-public