CryptDecodeObjectEx (CNG_RSA_PRIVATE_KEY_BLOB) не работает на w7 - PullRequest
0 голосов
/ 01 апреля 2020

Введение

Я пытаюсь использовать cng's rsa на w7 и w10. Прямо сейчас я импортирую ключи, используя CryptDecodeObjectEx, потому что они у меня в PEM, а cng использует другой формат.

Оба windows являются 64-битными, и я использую один и тот же exe-файл с тем же кодом.

Проблема

Мой вызов CryptDecodeObjectEx выводит "ERROR_FILE_NOT_FOUND", что в соответствии с документами Microsoft означает:

Не удалось найти функцию декодирования для указанного dwCertEncodingType и lpszStructType.

Мой тип dwCertEncodingType: X509_ASN_ENCODING Мой тип lpszStructType: CNG_RSA_PRIVATE_KEY_BLOB

Та же проблема при попытке использования клавиш publi c.

Что Я попробовал

Я на 100% уверен, что код правильный, потому что он работает без ошибок на w10, и я также проверил его на разных компьютерах w10.

Я не нашел ничего в документации о совместимости проблемы с w7 или любой функцией, которая была добавлена ​​после w7.

Я провел много исследований, не нашел ничего актуального.

Вопросы

  • Может ли это быть связано с отсутствующим обновлением? Если да, то как я могу это проверить?
  • Может ли это быть связано с разницей в dll? Если да, то как я могу это проверить?
  • Кто-нибудь знает, как это исправить?

Заранее спасибо.

...