22.12.2004 10:13:03Обнаружение носителя. Ответов: 1
Vadim_K
ИНОГДА, когда программа или служба хочет считать закрытый ключ с носителя, например с дискетки, вместо того, чтобы выскочить окну с запросом на установку носителя, система пилит-и-пилит до посинения бедный дисковод, в который кто-то забыл вставить дискетку... Это почему? К тому же чаще всего все проходит нормально, и система просто просит вставить ключевой носитель, но, повторяюсь, не всегда.

Еще вариант: пользовательское приложение подписывает поочередно 100 документов, считывая при этом ключ каждый раз с носителя (я не разработчик этого приложения и не изучал ваш API, но опции кэширования на этот процесс почему-то не влияют - приложение считывает ключ 100 раз подряд для подписания каждого документа, а это ооочень долго...). Так вот, если в середине этого процесса вынуть ключевой носитель, то приложение просто остановится и будет молча стоять и ждать, когда носитель снова вставят, вместо того, чтобы попросить это явным образом. Что это? Глюк или неправильная работа с API авторов моего приложения?
 
Ответы:
24.12.2004 11:56:30Василий
Окно выбора считывателя (CSP 2.0) может не появляться в случаях:
1) Считыватель только один.
2) Приложение обращается к контейнеру по уникальному имени.
3) Приложение обращается к контейнеру с флагом CRYPT_SILENT.
При работе приложения с сертификатом (установленным в хранилище Личные с привязкой к ключу) имеет место п. 2.
Но, если носитель отсутствует - будет окно об этом (кроме п. 3), когда окон нет по-любому.

По второй части вопроса.
Кешируются только контейнеры пользователя. Если к контейнеру обращается служба, то требуется носитель.