Как перестать показывать диалог выбора смарт-карты в NCryptOpenKey из минидрайвера, если контейнер ключей недоступен

Я работаю над проектом мини-драйвера, который может генерировать пару ключей в смарт-карте.

Чтобы сгенерировать пару ключей из тестового приложения, я должен проверить, существует ли пара ключей с указанным именем контейнера, и в случае обнаружения я должен удалить это.

Чтобы проверить, существует ли контейнер с тем же именем, которое я использовал NCryptOpenKey

Status = NCryptOpenKey(
hProvider,
&hKey,
wszContainerName,
0, // dwLegacyKeySpec
0 // dwFlags
);

Он отлично работает и возвращает дескриптор ключа, если в моей смарт-карте есть контейнер, доступный для моего минидрайвера.

Но если в смарт-карте нет пары ключей с такой же меткой, она показывает диалоговое окно, подобное этому, для выбора смарт-карты.

Выберите смарт-карту

Естественно ли показывать диалог выбора карты?

Как перестать показывать диалог выбора карты из минидрайвера? NCryptOpenKey может просто вернуться
SCARD_E_NO_KEY_CONTAINER (0x80100030)

0

Решение

Задача ещё не решена.

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

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

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector