21.09.2007 12:23:31Использование CAPICOM & js для построения бланка сертификата ключа Ответов: 5
Геннадий
Есть необходимость вытащить данные по сертификату, которые хранятся в 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 вытащить их?

Заранее благодарен.
 
Ответы:
21.09.2007 13:48:48Kirill Sobolev
Через CAPICOM никак. Элементы имени можно вытащить через Subject и Issuer, если конечно они у Вас там хранятся.
Certificate.getInfo возвращает только ту информацию, которая определена в CAPICOM_CERT_INFO_TYPE. Аналогично, ExtendedProperties - это не все что можно, а только то что есть в CAPICOM_PROPID.
21.09.2007 13:52:33Геннадий
Кирилл, есть альтернативные варианты?
21.09.2007 15:12:44Kirill Sobolev
Конечно - cобственный COM объект, использующий CryptoAPI.
21.09.2007 19:35:29Геннадий
Киррил, в каких COM-библиотеках это реализовано?
24.09.2007 10:04:23Kirill Sobolev
Не в курсе. Для УЦ пришлось делать собственный COM, расширяющий функциональность CAPICOM.
И мое имя по русски пишется с одним Р, но с двумя Л.