51 lines
1.8 KiB
Groff
51 lines
1.8 KiB
Groff
tdf#159519 Windows 7 does not have BCryptKeyDerivation
|
|
|
|
It just occurred to me that these functions would of course not be called
|
|
by LibreOffice so this is untested.
|
|
|
|
--- xmlsec/src/mscng/pbkdf2.c.orig 2024-02-21 19:02:56.539534152 +0100
|
|
+++ xmlsec/src/mscng/pbkdf2.c 2024-02-21 19:01:03.282270354 +0100
|
|
@@ -318,7 +318,20 @@
|
|
}
|
|
|
|
/* generate the output key */
|
|
+#if 1 // _WIN32_WINNT <= 0x0601
|
|
+ typedef NTSTATUS (WINAPI * BCryptKeyDerivationPtr)(
|
|
+ BCRYPT_KEY_HANDLE, BCryptBufferDesc *, PUCHAR, ULONG, ULONG *, ULONG);
|
|
+ HMODULE hBCrypt = GetModuleHandle("bcrypt.dll");
|
|
+ BCryptKeyDerivationPtr pBCryptKeyDerivation =
|
|
+ (BCryptKeyDerivationPtr) GetProcAddress(hBCrypt, "BCryptKeyDerivation");
|
|
+ if(NULL == pBCryptKeyDerivation) {
|
|
+ xmlSecMSCngNtError("BCryptKeyDerivation", NULL, status);
|
|
+ goto done;
|
|
+ }
|
|
+ status = (*pBCryptKeyDerivation)(
|
|
+#else
|
|
status = BCryptKeyDerivation(
|
|
+#endif
|
|
hKey,
|
|
¶msPBKDF2,
|
|
pbOut,
|
|
--- xmlsec/src/mscng/concatkdf.c.orig 2024-02-21 19:02:37.962490885 +0100
|
|
+++ xmlsec/src/mscng/concatkdf.c 2024-02-21 19:01:37.961351134 +0100
|
|
@@ -318,7 +318,20 @@
|
|
}
|
|
|
|
/* generate the output key */
|
|
+#if 1 // _WIN32_WINNT <= 0x0601
|
|
+ typedef NTSTATUS (WINAPI * BCryptKeyDerivationPtr)(
|
|
+ BCRYPT_KEY_HANDLE, BCryptBufferDesc *, PUCHAR, ULONG, ULONG *, ULONG);
|
|
+ HMODULE hBCrypt = GetModuleHandle("bcrypt.dll");
|
|
+ BCryptKeyDerivationPtr pBCryptKeyDerivation =
|
|
+ (BCryptKeyDerivationPtr) GetProcAddress(hBCrypt, "BCryptKeyDerivation");
|
|
+ if(NULL == pBCryptKeyDerivation) {
|
|
+ xmlSecMSCngNtError("BCryptKeyDerivation", NULL, status);
|
|
+ goto done;
|
|
+ }
|
|
+ status = (*pBCryptKeyDerivation)(
|
|
+#else
|
|
status = BCryptKeyDerivation(
|
|
+#endif
|
|
hKey,
|
|
¶msCONCATKDF2,
|
|
pbOut,
|