CNG Поставщик хранилища ключей смарт-карт Microsoft AcquireContext

Я пытаюсь приобрести поставщик хранилища ключей смарт-карт Microsoft, используя:

CryptAcquireContext(&hProv, contName ,L"Microsoft Smart Card Key Storage Provider", PROV_RSA_FULL , flags);

но это не с ошибкой: NTE_KEYSET_NOT_DEF (0x80090019)

если я использую:

CryptAcquireContext(&hProv, contName ,L" Microsoft Base Smart Card Crypto Provider", PROV_RSA_FULL , flags);

оно работает.
Но, насколько мне известно, поставщик базовой смарт-карты является поставщиком до введения CNG.

Итак, какое имя провайдера подходит для использования CNG KSP для смарт-карт?

Спасибо за вашу помощь!

1

Решение

Проблема в том, что вы не используете CryptAcquireContext для поставщиков CNG. Чтобы открыть провайдера CNG, используйте NCryptOpenStorageProvider.

1

Другие решения

Других решений пока нет …