Статус: Активный участник
Группы: Участники
Зарегистрирован: 04.10.2011(UTC) Сообщений: 74 Откуда: Moscow
Сказал(а) «Спасибо»: 1 раз Поблагодарили: 1 раз в 1 постах
|
Задача: имея подпись и документ, предоставить пользователю возможность просмотра данных о подписавших, используя КриптоПро ЭЦП Browser plug-in. В документации ( тут) сказано, что объекты класса CAdESCOM.CadesSignedData реализуют метод Display интерфейса ICPSignedData. Однако, если использовать JavaScript-API, предоставляемое браузерным плагином, то у объектов CadesSignedData нет метода Display. Win 7, помимо плагина установлен КриптоПро ЭЦП SDK, от браузера не зависит. 1. Предоставляет ли JS API доступ к методу CadesSignedData.Display и если нет, то где посмотреть документацию именно по JS API? 2. Каким ещё способом можно решить поставленную задачу, т.е. получить из подписи перечень подписавших, чтобы показать его пользователю? Примерный код на JS: Код:var store = createObject("CAPICOM.Store");
store.Open(2, "My", 2);
var certificates = store.Certificates.Find(1, subjectName);
var signer = createObject("CAdESCOM.CPSigner");
signer.Certificate = certificates.Item(1);
signer.TSAAddress = tsaUrl;
var signedData = createObject("CAdESCOM.CadesSignedData");
signedData.ContentEncoding = 0x01;
signedData.Content = documentData;
signedData.VerifyCades(signatureData, 0x5d, true);
var signedMessage = signedData.CoSignCades(signer, 0x5d, 0);
signedData.Display(null, "Title");
// Exception: TypeError: Object [object Object] has no method 'Display'
(Все используемые переменные определены валидными значениями, подписание проходит успешно.)
|
|
|
|
Статус: Сотрудник
Группы: Администраторы, Участники Зарегистрирован: 10.12.2008(UTC) Сообщений: 924 Откуда: Крипто-Про Поблагодарили: 99 раз в 95 постах
|
Методы Display объектов CadesSignedData и CPSigner доступны только в CAdESCOM (то есть только для IE). В КриптоПро ЭЦП Browser plug-in методы Display недоступны. Делать поддержку методов CadesSignedData.Display и CPSigner.Display в плагине нецелесообразно, так как: - Выкидывать окно с веб-страницы не принято. - Сильно зависит от операционной системы. Сведения о сертификате и прочих свойствах подписи можно получить через свойства объекта CPSigner. Например: CadesSignedData.Signers.Item(номер подписи).Certificate - сертификат (владелец, назначение, сроки действия и пр. - в свойствах объекта Certificate) CadesSignedData.Signers.Item(номер подписи). SigningTimestampTime - время в штампе.
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 26.04.2012(UTC) Сообщений: 61
|
Новожилова Елена написал:Например: CadesSignedData.Signers.Item(номер подписи).Certificate - сертификат (владелец, назначение, сроки действия и пр. - в свойствах объекта Certificate) CadesSignedData.Signers.Item(номер подписи). SigningTimestampTime - время в штампе. Делаю Цитата: oSignedData.VerifyCades(sSignedMessage, CADESCOM_CADES_X_LONG_TYPE_1); alert(oSignedData.Signers.Item(0).Certificate.IsValid()); alert(oSignedData.Signers.Item(0).SigningTimestampTime);
VerifyCades отрабатывает успешно, а при обращении к сертификату или timestamp происходит ошибка и браузер закрывается. Как по подписанному сообщению можно узнать данные о подписанте или это не возможно?
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 26.04.2012(UTC) Сообщений: 61
|
Заработало,
Нумерация должна быть с 1
oSignedData.VerifyCades(sSignedMessage, CADESCOM_CADES_X_LONG_TYPE_1); alert(oSignedData.Signers.Item(1).Certificate.IsValid()); alert(oSignedData.Signers.Item(1).SigningTimestampTime);
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 13,340 Сказал «Спасибо»: 550 раз Поблагодарили: 2212 раз в 1727 постах
|
alexeyng написал:Заработало,
Нумерация должна быть с 1
oSignedData.VerifyCades(sSignedMessage, CADESCOM_CADES_X_LONG_TYPE_1); alert(oSignedData.Signers.Item(1).Certificate.IsValid()); alert(oSignedData.Signers.Item(1).SigningTimestampTime);
Так же и показано в примере http://cpdn.cryptopro.ru...lugin-samples-attrs.html Но явного "примечания" нет Отредактировано пользователем 3 мая 2012 г. 17:26:44(UTC)
| Причина: Не указана |
|
|
|
|
Статус: Сотрудник
Группы: Администраторы, Участники Зарегистрирован: 10.12.2008(UTC) Сообщений: 924 Откуда: Крипто-Про Поблагодарили: 99 раз в 95 постах
|
По аналогии с CAPICOM - нумерация объектов в коллекциях начинается с единицы.
"Явное примечание" добавим - вопрос возникает не в первый раз :-)
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 13,340 Сказал «Спасибо»: 550 раз Поблагодарили: 2212 раз в 1727 постах
|
Новожилова Елена написал:По аналогии с CAPICOM - нумерация объектов в коллекциях начинается с единицы.
"Явное примечание" добавим - вопрос возникает не в первый раз :-) По аналогии с CAPICOM... это кто его "проходил".. знает... а кто сразу с КриптоПро ЭЦП Browser plug-in начинает... не факт Отредактировано пользователем 3 мая 2012 г. 19:10:50(UTC)
| Причина: Не указана |
|
|
|
|
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close