| ||||
| ||||
Есть необходимость вытащить данные по сертификату, которые хранятся в control panel -> internet properties -> content -> certificates -> certificate -> details и certification path Некоторые из них удалось вытащить, а именно // серийный номер var serialNumber = certificat.SerialNumber; // действителен с var validFromDate = certificat.ValidFromDate; // до какой даты сертификат актуален var validToDate = certificat.ValidToDate; Другие нет. Как вытащить указанные ниже атрибуты? По сертификату необходимо вытащить: Имя владельца: <полное имя владельца ключа подписи (g)> Должность: <должность владельца ключа подписи (h)> Организация: <место работы владельца ключа подписи (i)> Подразделение: <Полное название структурного подразделения, где работает владелец ключа подписи (j)> Адрес: <Юридический адрес организации, где работает владелец ключа подписи (k)> Почта: <адрес электронной почты владельца ключа подписи (l)> Условия: <Перечень документов (m)> По удостоверяющему центру необходимо вытащить: Организация: <Полное название организации, выдавшей сертификат (n)> Адрес: <Юридический адрес организации, выдавшей сертификат (o)> Идентификатор корневого ключа <Идентификатор корневого ключа подписи юрисдикции (p)> Подвопрос №1. Пробовал через Certificate.getInfo(i), где i=0...7, но не по всем есть информация, есть по 0 и 1 - короткое имя и сокращение удостоверяющего центра соответственно. Почему так? Подвопрос №2. Certificate.ExtendedProperties должен хранить все свойства, так? Как на javascript вытащить их? Заранее благодарен. | ||||
Ответы: | ||||
| ||||
Через CAPICOM никак. Элементы имени можно вытащить через Subject и Issuer, если конечно они у Вас там хранятся. Certificate.getInfo возвращает только ту информацию, которая определена в CAPICOM_CERT_INFO_TYPE. Аналогично, ExtendedProperties - это не все что можно, а только то что есть в CAPICOM_PROPID. | ||||
| ||||
Кирилл, есть альтернативные варианты? | ||||
| ||||
Конечно - cобственный COM объект, использующий CryptoAPI. | ||||
| ||||
Киррил, в каких COM-библиотеках это реализовано? | ||||
| ||||
Не в курсе. Для УЦ пришлось делать собственный COM, расширяющий функциональность CAPICOM. И мое имя по русски пишется с одним Р, но с двумя Л. | ||||