Статус: Активный участник
Группы: Участники
Зарегистрирован: 07.12.2009(UTC) Сообщений: 119 Откуда: Moscow
|
Добрый День! Использую COM интерфейс и создаю подпись ( так понимаю со штампом времени) следующим образом:
// открываем хранилище и вытаскиваем сертификат var a=CreateObject("CAPICOM.Store"); // далее выбираю сертификат и помещаю его в переменную cert
// Создаём объект signer var signer_info = CreateObject("CAdESCOM.CPSigner"); signer_info.Certificate=cert; signer_info.TSAAddress = "http://cryptopro.ru/tsp/";
// Создаём объект которым будет осуществляться подпись
var signer = CreateObject("CAdESCOM.CadesSignedData"); signer.Content="Content to sign"; var sign_base64=signer.SignCades(signer_info, 0x5d);
Теперь я хочу проверить подпись и получить время её создания делаю так
// Проверка подписи var v = CreateObject("CAdESCOM.CadesSignedData"); v.Content="Content to sign"; var res=v.VerifyCades(sign_base64, 0x5d); alert(v.Signers.Item(1).SigningTimestampTime);
Подпись проверяется, т.е. никакой exception не выбрасывается, однако alert показывает что SigningTimestampTime - undefined что странно. Т.е. получить время создания подписи не удаётся.
Подскажите что делаю не так.( в примерах у вас, не нашел как вытаскивать время создания подписи)
|
|
|
|
Статус: Сотрудник
Группы: Администраторы, Участники Зарегистрирован: 10.12.2008(UTC) Сообщений: 924 Откуда: Крипто-Про Поблагодарили: 99 раз в 95 постах
|
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 07.12.2009(UTC) Сообщений: 119 Откуда: Moscow
|
да, все заработало, спасибо)
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 07.12.2009(UTC) Сообщений: 119 Откуда: Moscow
|
Ещё вопрос, а чем отличаются:
SigningTime и SignatureTimeStampTime?
Или одно время - это время создания подписи на сервере, а другое это время подписывания сертификатом клиента, так?
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 13,340 Сказал «Спасибо»: 550 раз Поблагодарили: 2212 раз в 1727 постах
|
Jin написал:Ещё вопрос, а чем отличаются:
SigningTime и SignatureTimeStampTime?
Или одно время - это время создания подписи на сервере, а другое это время подписывания сертификатом клиента, так? SignatureTimeStampTime - время подписи из штампа времени на значение подписи (время - на сервере) - "подписывает сервер" SigningTime - время подписи ( на стороне клиента) из атрибута к ЭЦП - "подписывает автор" Отредактировано пользователем 11 марта 2012 г. 17:37:59(UTC)
| Причина: Не указана |
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 07.12.2009(UTC) Сообщений: 119 Откуда: Moscow
|
ок, но почему то свойство SigningTime не доступно!! пробую обратиться так же как и к свойству SignatureTimeStampTime, т.е. следующим образом:
// Проверка подписи var v = CreateObject("CAdESCOM.CadesSignedData"); v.Content="Content to sign"; var res=v.VerifyCades(sign_base64, 0x5d); alert(v.Signers.Item(1).SigningTime);
Ошибка следующая:
Error: Cannot find object or property. (0x80092004) Что не так делаю, подскажите
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 26.07.2011(UTC) Сообщений: 13,340 Сказал «Спасибо»: 550 раз Поблагодарили: 2212 раз в 1727 постах
|
Jin написал:ок, но почему то свойство SigningTime не доступно!! пробую обратиться так же как и к свойству SignatureTimeStampTime, т.е. следующим образом:
// Проверка подписи var v = CreateObject("CAdESCOM.CadesSignedData"); v.Content="Content to sign"; var res=v.VerifyCades(sign_base64, 0x5d); alert(v.Signers.Item(1).SigningTime);
Ошибка следующая:
Error: Cannot find object or property. (0x80092004) Что не так делаю, подскажите Цитата:Примечания
Свойство SigningTime возвращает время, содержащееся в атрибуте signingTime. Если указанный атрибут отсутствует, свойство вернет ошибку.
Обратите внимание, что данное свойство доступно только для объекта CPSigner, полученого из сообщения после того как сообщение было проверено при помощи метода ICPSignedData2::Verify или ICPSignedData2::VerifyCades. эцп можешь здесь выложить? Cannot find object or property - а время было добавлено в атрибуты при создании подписи? Отредактировано пользователем 11 марта 2012 г. 18:07:46(UTC)
| Причина: Не указана |
|
|
|
|
Статус: Сотрудник
Группы: Администраторы, Участники Зарегистрирован: 10.12.2008(UTC) Сообщений: 924 Откуда: Крипто-Про Поблагодарили: 99 раз в 95 постах
|
SigningTime - время из подписанного атрибута signing-time. Если вы не добавляли этот атрибут в подпись, то при попытке получить его значение возникнет ошибка.
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 07.12.2009(UTC) Сообщений: 119 Откуда: Moscow
|
|
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 26.11.2012(UTC) Сообщений: 5 Откуда: UA
|
|
|
|
|
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close