Кэширование пин-кода для токенов
Опубликовано Наталья Мовчан on 2016-02-09 15:05

Сценарий: Подписываются бинарные потоки (байты) в автоматическом режиме.
1. Загружается сертификат функцией CryptUIDlgSelectCertificateFromStore.
2. Вызывается функция подписи CadesSignMessage в цикле. Эта функция при каждой подписи запрашивает ввод пин кода у пользователя. 
3. Нужно закэшировать котейнер закрытого ключа (пин код), чтобы функция CadesSignMessage при дальнейшей подписи потоков не запрашивала пин код. 
4. После окончания работы цикла выгружается закрытый ключ из памяти.

Для кэширования пин-кода необходимо перед вызовом SignMessage вызвать CryptAcquireCertificatePrivateKey c флагом кэширования ключа.

После всех вызовов - CryptReleaseContext.

(14 плюсик(ов))
Класс!
Не очень :(

Коментарии (0)