Статус: Активный участник
Группы: Участники
Зарегистрирован: 18.05.2016(UTC) Сообщений: 112
|
На странице примера "Проверка создания электронной подписи XML" https://www.cryptopro.ru...ades_xmldsig_sample.htmlУспешно подписывается тестовый XML Но при модификации текста (не затрагивая структуру и содержимое тегов - например убрав перенос строки между тегами) изменяются значения полей <DigestValue> и <SignatureValue>. т.е. подпись изменяется. Почему? Возможно я неправильно понимаю термин "каноникализация"? Кстати, на странице http://cpdn.cryptopro.ru...in-samples-sign-xml.htmlприведён устаревший пример для браузеров с поддержкой NPAPI Можно ли ожидать примеров подписи XML в асинхронной версии плагина?
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 18.05.2016(UTC) Сообщений: 112
|
Более того, в весьма скудном описании асинхронного режима работы плагина http://cpdn.cryptopro.ru...in-samples-sign-xml.htmlесть ошибка: catch ( e) { args[3]("Failed to create signature. Error: " + cadesplugin.getLastError( err)); } А вообще - документация на браузерный плагин существует?
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 21.11.2010(UTC) Сообщений: 1,042
Сказал(а) «Спасибо»: 7 раз Поблагодарили: 141 раз в 127 постах
|
cades-plugin.png (13kb) загружен 225 раз(а).
|
|
|
|
Статус: Сотрудник
Группы: Администраторы, Участники Зарегистрирован: 24.11.2009(UTC) Сообщений: 965 Откуда: Crypto-Pro
Сказал(а) «Спасибо»: 3 раз Поблагодарили: 174 раз в 152 постах
|
Автор: mihmig На странице примера "Проверка создания электронной подписи XML" https://www.cryptopro.ru...ades_xmldsig_sample.htmlУспешно подписывается тестовый XML Но при модификации текста (не затрагивая структуру и содержимое тегов - например убрав перенос строки между тегами) изменяются значения полей <DigestValue> и <SignatureValue>. т.е. подпись изменяется. Почему? Возможно я неправильно понимаю термин "каноникализация"? Кстати, на странице http://cpdn.cryptopro.ru...in-samples-sign-xml.htmlприведён устаревший пример для браузеров с поддержкой NPAPI Можно ли ожидать примеров подписи XML в асинхронной версии плагина? Значение подписи и должно меняться. Можете привести скриншоты с вашими xml и какие получаются результаты вычисления DigestValue. У меня при добавлении пробелов все ок. |
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 18.05.2016(UTC) Сообщений: 112
|
1. Вот снимок экрана при открытии страницы https://www.cryptopro.ru...ades_xmldsig_sample.html(ничего не менял, выбрал только действующий сертификат) screenshot20180319170018.png (60kb) загружен 40 раз(а).Вот снимок экрана после измненения текста - место, помеченное жёлтой точкой (после закрывающей угловой скобочки </Data>) добавил 1 пробел (между тегами, структура XML не изменилась). screenshot20180320083832.png (60kb) загружен 30 раз(а).Как видим - значения тегов <DigestValue> и <SignatureValue> меняются. Что я делаю не так? 2. И ещё скажите - подписывается ВСЁ содержимое textarea, содержимое тега <Envelope> или тега <Node>? В исходном javascript коде подсмотрел, что выполняется Вложенная подпись )CADESCOM_XML_SIGNATURE_TYPE_ENVELOPED) но в чём отличия от CADESCOM_XML_SIGNATURE_TYPE_ENVELOPING (Оборачивающая подпись.) и CADESCOM_XML_SIGNATURE_TYPE_TEMPLATE (Подпись по шаблону.) Есть где-нибудь документация с примерами кроме http://cpdn.cryptopro.ru...gn-cades-bes-async.html?3. Ещё непонятно в документации (http://cpdn.cryptopro.ru/default.asp?url=content/cades/plugin-samples-sign-xml.html) указано, что Цитата:данные, переданные при создании подписи, будут перекодированы в UCS-2 little endian и именно в таком виде данные будут подписаны. получается, что принимающая сторона (в нашем случае ФСС) ожидая данные в UTF-8 не сможет проверить корректность подписи?
|
|
|
|
Статус: Сотрудник
Группы: Администраторы, Участники Зарегистрирован: 24.11.2009(UTC) Сообщений: 965 Откуда: Crypto-Pro
Сказал(а) «Спасибо»: 3 раз Поблагодарили: 174 раз в 152 постах
|
|
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 18.05.2016(UTC) Сообщений: 112
|
К сожалению, в документации есть пример только для устаревшего, синхронного режима работы: oHashedData.DataEncoding = CADESCOM_BASE64_TO_BINARY; Подскажите, как указать данный параметр для асинхронного режима работы (в примере https://www.cryptopro.ru...ades_xmldsig_sample.htmlданный параметр не устанавливается)
|
|
|
|
Статус: Сотрудник
Группы: Администраторы, Участники Зарегистрирован: 24.11.2009(UTC) Сообщений: 965 Откуда: Crypto-Pro
Сказал(а) «Спасибо»: 3 раз Поблагодарили: 174 раз в 152 постах
|
аналогично всем остальным свойствам. oHashedData.propset_DataEncoding(CADESCOM_BASE64_TO_BINARY) |
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 18.05.2016(UTC) Сообщений: 112
|
Автор: cross аналогично всем остальным свойствам. oHashedData.propset_DataEncoding(CADESCOM_BASE64_TO_BINARY) Непонятно.в на странице асинхронной подписи такого объекта (oHashedData) нет. Объект oSignedXML (см. файл async_code.js) не имеет такого метода: TypeError: oSignedXML.propset_DataEncoding is not a function В каком месте нужно указывать данный параметр?
|
|
|
|
Статус: Сотрудник
Группы: Администраторы, Участники Зарегистрирован: 24.11.2009(UTC) Сообщений: 965 Откуда: Crypto-Pro
Сказал(а) «Спасибо»: 3 раз Поблагодарили: 174 раз в 152 постах
|
Для данного обьекта задавать свойство DataEncoding не нужно. Вы можете закодировать ваш xml в base64 и обьект внутри сам раскодирует его. |
|
|
|
|
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close