Не удается создать контекст для шифрования AES. Windows XP - PullRequest
0 голосов
/ 02 октября 2019

Я сделал такой код, который создаст контекст для шифрования aes (с поддержкой Win32API):

if (!CryptAcquireContext(&hProvs, NULL, NULL, PROV_RSA_AES, CRYPT_VERIFYCONTEXT))
    {
        if (!CryptAcquireContext(&hProvs, NULL, NULL, PROV_RSA_AES, CRYPT_NEWKEYSET | CRYPT_VERIFYCONTEXT))
        {
            printf("%d\n", GetLastError());
            getchar();
            ExitProcess(0);
        }
    }

Он отлично работает на Windows 7 или выше, но когда я запускаю его на Windows XP, я не получаюошибки, просто закрытое приложение. И ничего. Что не так?

1 Ответ

0 голосов
/ 02 октября 2019

https://docs.microsoft.com/en-us/windows/win32/api/wincrypt/nf-wincrypt-cryptacquirecontexta

Внимание! Этот API устарел. Новое и существующее программное обеспечение должно начать использовать API-интерфейсы криптографии следующего поколения. Microsoft может удалить этот API в будущих выпусках.

...