Определить наличие закрытого ключа - PullRequest
0 голосов
/ 30 июня 2019

Я пытаюсь предоставить пользователю диалоговое окно для выбора сертификата. Первоначально я использовал CryptUIDlgSelectCertificateFromStore в хранилище «MY», но это приводит к выбору всех сертификатов, где я хочу, чтобы пользователь выбирал только сертификаты с закрытыми ключами.

По этой причине я создаю новое хранилище памяти и храню только сертификаты, для которых существует закрытый ключ. Я могу использовать CryptAcquireCertificatePrivateKey для получения закрытого ключа сертификата, но это может привести к диалоговому окну, запрашивающему, например, PIN-код. Я не хочу использовать CRYPT_ACQUIRE_SILENT_FLAG, потому что поставщик может захотеть показать информацию о ключе (не обязательно пин-код или подсказку смарт-карты).

Есть ли способ узнать, что есть закрытый ключ без фактического его получения ?

Спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...