| ||||
| ||||
Пытаюсь поставить ЭЦП. Сертификат в хранилище пользователя. Все отлично работает, если я выполняю код "руками". Однако, подпись не удается поставить, когда код выполняется из-под ИИСа. ИИС настроен таким образом, что работает от имени той же учетной записи, из-под которой проверял "руками". var objCertStore = new ActiveXObject("CAPICOM.Store"); ... objCertStore.Certificates.Count возвращает 0. Буду премного благодарен за помощь. | ||||
Ответы: | ||||
| ||||
Сертификат должен быть установлен в раздел "Личные" хранилища сертификатов ЛОКАЛЬНОГО КОМПЬЮТЕРА. Тогда IIS его "увидит". При этом Вы его сейчас должны не просто скопировать туда через mmc консоль, а именно установить через оснастку КриптоПро CSP, указав, что имя контейнера задает компютер (а пользователя). | ||||
| ||||
Но все же. Почему из-под ИИСа не видны сертификаты пользователя, хотя они точно есть? В чем подвох? | ||||
| ||||
потому что ИИС - это не пользовательское приложение :-) Как и для всех служба, ИИСу доступно только два хранилища сертификатов: компьютера и собственное службы. Для ответа на вопрос "почему так сделано" обратитесь в Майкрософт. | ||||