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