Попытка использовать Microsoft CNG для генерации ключей DSA на C++ ⇐ C++
-
Anonymous
Попытка использовать Microsoft CNG для генерации ключей DSA на C++
Мне нужно написать некоторую криптографическую логику на C++ (.NET/C# не вариант). Я дошел до BCryptSetProperty при создании пары ключей. API постоянно выходит из строя с STATUS_NOT_SUPPORTED/0xC00000BB. Я пробовал вариации параметров. Мне не удалось найти пример C++ для использования BCryptSetProperty с DSA для генерации ключей. Любая помощь приветствуется.
NTSTATUS nts,nts2; BCRYPT_ALG_HANDLE hAlg = NULL; BCRYPT_KEY_HANDLE hKey = NULL; DWORD cbCipherText = 0, cbPlainText = 0, cбДанные = 0, cbKeyObject = 0, cbBlockLen = 0, cbBlob = 0; // Получаем доступ к алгоритму пытаться { nts = BCryptOpenAlgorithmProvider(&hAlg, BCRYPT_DSA_ALGORITHM, // Алгоритм, который мы будем использовать MS_PRIMITIVE_PROVIDER, // Значение по умолчанию; этот параметр может быть NULL 0 // | BCRYPT_PROV_DISPATCH // Этот флаг можно использовать только в драйвере ); } ловить(...) {} если (STATUS_SUCCESS != nts) { cout
Мне нужно написать некоторую криптографическую логику на C++ (.NET/C# не вариант). Я дошел до BCryptSetProperty при создании пары ключей. API постоянно выходит из строя с STATUS_NOT_SUPPORTED/0xC00000BB. Я пробовал вариации параметров. Мне не удалось найти пример C++ для использования BCryptSetProperty с DSA для генерации ключей. Любая помощь приветствуется.
NTSTATUS nts,nts2; BCRYPT_ALG_HANDLE hAlg = NULL; BCRYPT_KEY_HANDLE hKey = NULL; DWORD cbCipherText = 0, cbPlainText = 0, cбДанные = 0, cbKeyObject = 0, cbBlockLen = 0, cbBlob = 0; // Получаем доступ к алгоритму пытаться { nts = BCryptOpenAlgorithmProvider(&hAlg, BCRYPT_DSA_ALGORITHM, // Алгоритм, который мы будем использовать MS_PRIMITIVE_PROVIDER, // Значение по умолчанию; этот параметр может быть NULL 0 // | BCRYPT_PROV_DISPATCH // Этот флаг можно использовать только в драйвере ); } ловить(...) {} если (STATUS_SUCCESS != nts) { cout
Мобильная версия