Форум КриптоПро
»
Средства криптографической защиты информации
»
КриптоПро JCP, JavaTLS
»
ФСС prParseReestrFile DigestValue. Некорректная подпись головной организации: ЭЦП неверна.
Статус: Активный участник
Группы: Участники
Зарегистрирован: 03.04.2019(UTC) Сообщений: 45 Поблагодарили: 1 раз в 1 постах
|
ФСС prParseReestrFile DigestValue. Некорректная подпись головной организации: ЭЦП неверна. INVALID_SIGNATURE ЭП недействительна. Обратитесь к разработчику программного обеспечения, на котором осуществлялось подписание данных. Здравствуйте! Может кто подскажет. Реализовал взаимодействие с ФСС на получение ЭЛН getPrivateLNData, с шифрованием и без. Написал апи по вычислению DigestValue, формированию подписей, вычисление SignedInfo и пр. Все работает. Теперь дошло дело до реализации корректировки ЭЛН prParseReestrFile. Использую тоже самое апи. Казалось бы, просто другой BODY и добавлено еще несколько блоков подписей. Алгоритмы по вычислению DigestValue, формированию подписей, вычисления SignedInfo и пр должны быть таким же, просто подставь другие данные :). Но нет, ФСС возвращает ошибку: Код:<S:Body wsu:Id="OGRN_1027739443236">
<ns1:prParseReestrFileResponse xmlns:ns1="http://ru/ibs/fss/ln/ws/FileOperationsLn.wsdl" xmlns:ns2="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
<ns1:WSResult>
<ns1:REQUEST_ID>LNDATAINS_3103275205_2019_08_22_00018</ns1:REQUEST_ID>
<ns1:STATUS>0</ns1:STATUS>
<ns1:MESS>Найдены ошибки при проверке электронной подписи</ns1:MESS>
<ns1:INFO>
<ns1:ROWSET>
<ns1:ROW>
<ns1:ROW_NO>1</ns1:ROW_NO>
<ns1:LN_CODE>900000352887</ns1:LN_CODE>
<ns1:LN_HASH/>
<ns1:LN_STATE/>
<ns1:STATUS>0</ns1:STATUS>
<ns1:ERRORS>
<ns1:ERROR>
<ns1:ERR_CODE>ERR_SIGN</ns1:ERR_CODE>
<ns1:ERR_MESS>Некорректная подпись головной организации: ЭЦП неверна. INVALID_SIGNATURE ЭП недействительна. Обратитесь к разработчику программного обеспечения, на котором осуществлялось подписание данных.</ns1:ERR_MESS>
</ns1:ERROR>
</ns1:ERRORS>
</ns1:ROW>
</ns1:ROWSET>
</ns1:INFO>
</ns1:WSResult>
</ns1:prParseReestrFileResponse>
</S:Body>
Есть ресурс https://www.cryptopro.ru/sites/default/files/products/cades/demopage/cades_xmldsig_sample.html, где можно проверить подпись и получить DigestValue. Полученный там DigestValue совпадает с моим! Данные все в латинице, чтобы пока не напрягаться с кодировкой. Связался с поддержкой ФСС, вышел еще на кого-то. У них запросы проходят корректно, но DigestValue не совпадают с моим и что интересно, с тем ресурсом от КрипоПро. Говорят, что-то у вас не так, а на вопрос почему ваш корректный DigestValue не совпадает с тем что выдает ресурс КрипоПро - молчание. DigestValue можно вычислить несколькими способами: обработкой данных целиком и по блочно. Но значение блоков мне не известно, решил узнать методом подстановки, циклом. Но не вышел на их значение. Пробовал и DigestInputStream, безрезультатно. Может кто сталкивался с подобной ситуацией? Помогите, пожалуйста. Очень странно когда один сервис работает, а другой не хочет. Ведь уверяют, что все одинаково.
|
|
|
|
Статус: Эксперт
Группы: Участники
Зарегистрирован: 05.03.2015(UTC) Сообщений: 1,602 Откуда: Иркутская область Сказал(а) «Спасибо»: 110 раз Поблагодарили: 395 раз в 366 постах
|
Учитывая как ФСС натягивает стандарты, я не удивлюсь если ошибка из-за какого-то префикса в другом теле собщения, которого в ФСС не ожидали. Если нужно могу тоже проверить подпись своей программой, прикрепите сообщения вложениями здесь или в личку (кнопка со скрепкой). Возможно где-то перепутаны URI или дублируются ID, тогда будет просто выбираться не тот фрагмент текста от которого Вы считаете хэш (например, хэш от пустой строки, это обычно визуально похоже как если бы хэш не менялся от изменений текста).
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 03.04.2019(UTC) Сообщений: 45 Поблагодарили: 1 раз в 1 постах
|
Body_A.txt (2kb) загружен 35 раз(а).Сертификат алгоритм 2012-256 DigestValue zXM2cc7biPpMRU/Hg18nczzwUKpgpe6Onoj5Qzue4y4=
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 03.04.2019(UTC) Сообщений: 45 Поблагодарили: 1 раз в 1 постах
|
Вставляю запрос целиком. FSSSOAPQuery.txt (15kb) загружен 51 раз(а).
|
|
|
|
Статус: Эксперт
Группы: Участники
Зарегистрирован: 05.03.2015(UTC) Сообщений: 1,602 Откуда: Иркутская область Сказал(а) «Спасибо»: 110 раз Поблагодарили: 395 раз в 366 постах
|
Кажется я понял почему расхождение: Вы считаете хэш от Body (после приведения к каноническому виду разумеется) он действительно равен zXM2cc7biPpMRU/Hg18nczzwUKpgpe6Onoj5Qzue4y4= тут все честно.
Однако посмотрите на подпись внимательно, надо посчитать хэш от тега с ID="ELN_900000352887" и это... (смотрим документ, барабанная дробь) тег ROW, а вовсе не тег Body. Выходит хэш посчитан верно, но от другого фрагмента. К слову, моя программа крашится как раз на взятии фрагмента, спасибо за примерчик. Сторонними средствами выходит хэш правильного фрагмента в каноническом виде ETGAiowq8gjabEvKYe18k4juuqWNe3MkDeKqvOfO0/M= Нужно ли подписать еще и Body лучше уточнять в спецификации сервиса.
|
1 пользователь поблагодарил two_oceans за этот пост.
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 03.04.2019(UTC) Сообщений: 45 Поблагодарили: 1 раз в 1 постах
|
Автор: two_oceans Кажется я понял почему расхождение: Вы считаете хэш от Body (после приведения к каноническому виду разумеется) он действительно равен zXM2cc7biPpMRU/Hg18nczzwUKpgpe6Onoj5Qzue4y4= тут все честно.
Однако посмотрите на подпись внимательно, надо посчитать хэш от тега с ID="ELN_900000352887" и это... (смотрим документ, барабанная дробь) тег ROW, а вовсе не тег Body. Выходит хэш посчитан верно, но от другого фрагмента. К слову, моя программа крашится как раз на взятии фрагмента, спасибо за примерчик. Сторонними средствами выходит хэш правильного фрагмента в каноническом виде ETGAiowq8gjabEvKYe18k4juuqWNe3MkDeKqvOfO0/M= Нужно ли подписать еще и Body лучше уточнять в спецификации сервиса.
two_oceans, здравствуйте! Вы нам реально помогли, огромное спасибо! prParseReestrFile работает, корректировка листка проходит. Подписывать нужно было только блок ROW.
|
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 01.11.2018(UTC) Сообщений: 2
|
Добрый день, ребят а у вас реализована отправка реестров ПВСО? Не могу понять каким образом получить esl-файл после подписания и шифрования...Алгоритм бы сам понять) Само получение электронных больничных у меня работает..там довольно все просто.. Заранее спасибо за помощь.
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 03.04.2019(UTC) Сообщений: 45 Поблагодарили: 1 раз в 1 постах
|
Автор: fcknmars Добрый день, ребят а у вас реализована отправка реестров ПВСО? Не могу понять каким образом получить esl-файл после подписания и шифрования...Алгоритм бы сам понять) Само получение электронных больничных у меня работает..там довольно все просто.. Заранее спасибо за помощь. Добрый день! Пока такая задача не стоит, отправляется руками через информационную систему "Фельд'егерь"
|
|
|
|
Статус: Эксперт
Группы: Участники
Зарегистрирован: 05.03.2015(UTC) Сообщений: 1,602 Откуда: Иркутская область Сказал(а) «Спасибо»: 110 раз Поблагодарили: 395 раз в 366 постах
|
Добрый день. У нас тоже не стоит - технически возможно через 1С:отчетность и через Контур-Экстерн, не уточнял чем бухгалтерия пользуется.
|
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 05.01.2020(UTC) Сообщений: 6
|
А кто-нибудь может выложить пример зашифрованного запроса для метода prParseReestrFile? А то при отправке на тестовый контур (https://docs-test.fss.ru/ws-insurer-crypto-v11/FileOperationsLnPort) у меня появляется ошибка "Не удалось расшифровать сообщение. Возможно сообщение зашифровано на ключе отличном от ключа уполномоченного лица ФСС"?
|
|
|
|
Форум КриптоПро
»
Средства криптографической защиты информации
»
КриптоПро JCP, JavaTLS
»
ФСС prParseReestrFile DigestValue. Некорректная подпись головной организации: ЭЦП неверна.
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close