Ключевое слово в защите информации
КЛЮЧЕВОЕ СЛОВО
в защите информации
Получить ГОСТ TLS-сертификат для домена (SSL-сертификат)
Добро пожаловать, Гость! Чтобы использовать все возможности Вход или Регистрация.

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline mihmig  
#1 Оставлено : 15 мая 2018 г. 14:47:52(UTC)
mihmig

Статус: Активный участник

Группы: Участники
Зарегистрирован: 18.05.2016(UTC)
Сообщений: 112

По документации из примера пытаюсь подписать XML-данные по шаблону (CADESCOM_XML_SIGNATURE_TYPE_TEMPLATE)
Тут же после подписи пытаюсь проверить, получаю малопонятную ошибку;
An error was encountered while processing an XML digital signature. (0x800705BA)

Со стороны ФСС, где насколько мне известно, используется JCP 1.0.54 - приходит ответ о невалидной ЭП.
XML:
prParseFileInLpu_Request_Signed.xml (10kb) загружен 11 раз(а).

Cades Browser Plugin версии 2.0.13064 и КриптоПро CSP Версия криптопровайдера: 4.0.9842

В чём может быть проблема?

Отредактировано пользователем 15 мая 2018 г. 14:50:22(UTC)  | Причина: Не указана

Offline cross  
#2 Оставлено : 18 мая 2018 г. 10:56:57(UTC)
Анатолий Беляев

Статус: Сотрудник

Группы: Администраторы, Участники
Зарегистрирован: 24.11.2009(UTC)
Сообщений: 965
Откуда: Crypto-Pro

Сказал(а) «Спасибо»: 3 раз
Поблагодарили: 174 раз в 152 постах
Приложите подпись посмотреть.
Техническую поддержку оказываем тут.
Наша база знаний.
Наша страничка в Instagram.
Offline mihmig  
#3 Оставлено : 18 мая 2018 г. 11:02:15(UTC)
mihmig

Статус: Активный участник

Группы: Участники
Зарегистрирован: 18.05.2016(UTC)
Сообщений: 112

Не совсем понял, что нужно добавить/
В данном XML-файле есть две подписи (ссылаются на разные теги XML, "скрепляют подписью разные участки файла") - находятся в тегах <SignatureValue>
Также Base64-представления самих сертификатов вставлены в теги <wsse:BinarySecurityToken>
Offline Евгений Афанасьев  
#4 Оставлено : 21 мая 2018 г. 16:34:33(UTC)
Евгений Афанасьев

Статус: Сотрудник

Группы: Участники
Зарегистрирован: 06.12.2008(UTC)
Сообщений: 3,925
Российская Федерация
Откуда: Крипто-Про

Сказал(а) «Спасибо»: 20 раз
Поблагодарили: 691 раз в 652 постах
Приложите, пожалуйста, шаблон, по которому формируете подпись. Проверили подпись с помощью JCP - проверяется вторая подпись, у первой не сходится хеш в DigestValue с хешом данных подписанного узла.
Offline mihmig  
#5 Оставлено : 22 мая 2018 г. 9:26:50(UTC)
mihmig

Статус: Активный участник

Группы: Участники
Зарегистрирован: 18.05.2016(UTC)
Сообщений: 112

Автор: afev Перейти к цитате
Приложите, пожалуйста, шаблон, по которому формируете подпись. Проверили подпись с помощью JCP - проверяется вторая подпись, у первой не сходится хеш в DigestValue с хешом данных подписанного узла.


Выложил комплект
Состав:

  1. before.xml - XML-шаблон подписи
  2. after.xml - результирующий XML, с рассчитанными значениями DigestValue и SignatureValue
  3. async_code.js - javascript-код, вызывающий cades browser plugin а также вставляющий base64-предаствление сертификата подписанта в тег <wsse:BinarySecurityToken> (т.к. плагин этого почему-то не делает)


Да, в ФСС тоже ответили, что проверяют с помощью JCP 1.0.54 и подпись (выполненная с помощью плагина) неверна. Вторая же подпись выполнена с помощью ПО ФСС, поэтому она проходит проверку в JCP.
Offline Евгений Афанасьев  
#6 Оставлено : 22 мая 2018 г. 16:59:17(UTC)
Евгений Афанасьев

Статус: Сотрудник

Группы: Участники
Зарегистрирован: 06.12.2008(UTC)
Сообщений: 3,925
Российская Федерация
Откуда: Крипто-Про

Сказал(а) «Спасибо»: 20 раз
Поблагодарили: 691 раз в 652 постах
Вероятно, проблема в том, что узел TREAT_PERIOD помещается в ROWSET, в котором есть xmlns:ns1="http://ru/ibs/fss/ln/ws/FileOperationsLn.wsdl" и который влияет на хешируемое содержимое. Так, after.xml проверился, при этом хешировалось сообщение
Код:

FINE: Pre-digested input:
мая 22, 2018 4:48:06 PM ru.CryptoPro.JCPxml.dsig.internal.DigesterOutputStream write
FINE: <TREAT_PERIOD xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" wsu:Id="ELN_306754768928_3_doc"><TREAT_DT1>2018-04-25</TREAT_DT1><TREAT_DT2>2018-04-27</TREAT_DT2><TREAT_DOCTOR_ROLE>??????????????????????????</TREAT_DOCTOR_ROLE><TREAT_DOCTOR>???????????? ?????????????? ??????????????????????????</TREAT_DOCTOR></TREAT_PERIOD>
мая 22, 2018 4:48:06 PM ru.CryptoPro.JCPxml.dsig.internal.dom.DOMReference validate
FINE: Expected digest: OLZaKzy4ALZ+i2A44/CSeWS2kQVYZO07rKxDjVOkRwA=
мая 22, 2018 4:48:06 PM ru.CryptoPro.JCPxml.dsig.internal.dom.DOMReference validate
FINE: Actual digest: OLZaKzy4ALZ+i2A44/CSeWS2kQVYZO07rKxDjVOkRwA=

В случае prParseFileInLpu_Request_Signed.xml - это:
Код:

FINE: Pre-digested input:
мая 22, 2018 4:50:57 PM ru.CryptoPro.JCPxml.dsig.internal.DigesterOutputStream write
FINE: <TREAT_PERIOD xmlns="http://ru/ibs/fss/ln/ws/FileOperationsLn.wsdl" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" wsu:Id="ELN_306768505947_3_doc"><TREAT_DT1>2018-05-14</TREAT_DT1><TREAT_DT2>2018-05-17</TREAT_DT2><TREAT_DOCTOR_ROLE>??????????????????????????</TREAT_DOCTOR_ROLE><TREAT_DOCTOR>???????????? ?? ??</TREAT_DOCTOR></TREAT_PERIOD>
мая 22, 2018 4:50:57 PM ru.CryptoPro.JCPxml.dsig.internal.dom.DOMReference validate
FINE: Expected digest: xn83AUIkpHSEpZd/fDPIcyxB0BvIY4AAfmGJsci9tag=
мая 22, 2018 4:50:57 PM ru.CryptoPro.JCPxml.dsig.internal.dom.DOMReference validate
FINE: Actual digest: 1r4A2BOa8uJN443guMAbXcWf3BoC497PASkkSyjvZ7o=

Добавляется xmlns из узла ROWSET.
Попробуйте перед созданием after.xml добавить xmlns="http://ru/ibs/fss/ln/ws/FileOperationsLn.wsdl" для TREAT_PERIOD.

Отредактировано пользователем 22 мая 2018 г. 17:02:10(UTC)  | Причина: Не указана

RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Guest
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.