logo Обзор КриптоПро NGate для защищённого доступа к корпоративным ресурсам
Добро пожаловать, Гость! Чтобы использовать все возможности Вход или Регистрация.

Уведомление

Icon
Error

8 Страницы«<678
Опции
К последнему сообщению К первому непрочитанному
Offline two_oceans  
#141 Оставлено : 4 декабря 2019 г. 5:55:15(UTC)
two_oceans

Статус: Эксперт

Группы: Участники
Зарегистрирован: 05.03.2015(UTC)
Сообщений: 786
Российская Федерация
Откуда: Иркутская область

Сказал(а) «Спасибо»: 49 раз
Поблагодарили: 168 раз в 158 постах
Автор: Dmitriy_Zh Перейти к цитате
Служебный данные из трейса SignedXml
Преобразованный контент ссылки:
У этого фрагмента хэш совпадает с указанным в Reference, но у меня получилось другое значение с хэшем YEwZ+QB5G+8QrPaN1AqOXcyey1ky5dYNNyJX+XFJ+0w=.
Навскидку отличается тем что сам SenderProvidedRequestData у меня попал под смэвовский трансформ, а в Вашем примере не попал под трансформ.
Автор: Dmitriy_Zh Перейти к цитате
Выходные данные преобразования канонизации:
SignedInfo совпадает при проверке SignatureValue и с тем что получилось у меня.
Автор: Dmitriy_Zh Перейти к цитате
Данные которые сформировал клиент WCF для отправки:
Тут вообще невалидный xml - нет объявления префикса для Body (или просто Envelope куда-то делся, хотя вроде не нужны Body с Envelope). В целом, после добавления объявления, SignatureValue сошлось, а DigestValue нет.

Отредактировано пользователем 4 декабря 2019 г. 6:07:34(UTC)  | Причина: Не указана

Offline Dmitriy_Zh  
#142 Оставлено : 4 декабря 2019 г. 8:55:22(UTC)
Dmitriy_Zh

Статус: Участник

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

Автор: two_oceans Перейти к цитате
Автор: Dmitriy_Zh Перейти к цитате
Служебный данные из трейса SignedXml
Преобразованный контент ссылки:
У этого фрагмента хэш совпадает с указанным в Reference, но у меня получилось другое значение с хэшем YEwZ+QB5G+8QrPaN1AqOXcyey1ky5dYNNyJX+XFJ+0w=.
Навскидку отличается тем что сам SenderProvidedRequestData у меня попал под смэвовский трансформ, а в Вашем примере не попал под трансформ.
Автор: Dmitriy_Zh Перейти к цитате
Выходные данные преобразования канонизации:
SignedInfo совпадает при проверке SignatureValue и с тем что получилось у меня.
Автор: Dmitriy_Zh Перейти к цитате
Данные которые сформировал клиент WCF для отправки:
Тут вообще невалидный xml - нет объявления префикса для Body (или просто Envelope куда-то делся, хотя вроде не нужны Body с Envelope). В целом, после добавления объявления, SignatureValue сошлось, а DigestValue нет.


Данные от WCF клиента я выбирал из трейса, там есть обёртка Envelope и Body. Просто их не стал добавлять.
По поводу трансформации не очень понятно, т.к передаю SenderProvidedRequestData на подпись.
Так же не понятно, по какой причине DigestValue может отличаться...
Сегодня сделаю формирование запроса в файл, чтобы WCF не влиял на конечный результат. Т.к пока не могу понять на этапе формирования данных ошибка или на этапе отправки данных.
По результатам отпишусь.

Offline two_oceans  
#143 Оставлено : 4 декабря 2019 г. 10:06:34(UTC)
two_oceans

Статус: Эксперт

Группы: Участники
Зарегистрирован: 05.03.2015(UTC)
Сообщений: 786
Российская Федерация
Откуда: Иркутская область

Сказал(а) «Спасибо»: 49 раз
Поблагодарили: 168 раз в 158 постах
Автор: Dmitriy_Zh Перейти к цитате
По поводу трансформации не очень понятно, т.к передаю SenderProvidedRequestData на подпись.
Так же не понятно, по какой причине DigestValue может отличаться...
Хэш в Reference в итоговом файле совпадает с хэшем результата трансформации из SignedXml, то есть похоже после трансформации был верно посчитан хэш (но от другого результата трансформации и потому отличается) и без критических искажений как SignedInfo, так и подписанный фрагмент перешел в итоговый файл. Полагаю, это указывает именно на неправильный трансформ, далее сборка без искажений.

Отредактировано пользователем 4 декабря 2019 г. 10:18:08(UTC)  | Причина: P.S. приходится сохранять пустое сообщение и править чтобы форум не вылетал каждые несколько секунд

Offline Dmitriy_Zh  
#144 Оставлено : 4 декабря 2019 г. 10:44:29(UTC)
Dmitriy_Zh

Статус: Участник

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

Автор: two_oceans Перейти к цитате
Автор: Dmitriy_Zh Перейти к цитате
По поводу трансформации не очень понятно, т.к передаю SenderProvidedRequestData на подпись.
Так же не понятно, по какой причине DigestValue может отличаться...
Хэш в Reference в итоговом файле совпадает с хэшем результата трансформации из SignedXml, то есть похоже после трансформации был верно посчитан хэш (но от другого результата трансформации и потому отличается) и без критических искажений как SignedInfo, так и подписанный фрагмент перешел в итоговый файл. Полагаю, это указывает именно на неправильный трансформ, далее сборка без искажений.


Мне удалось добиться прохождения проверки. Для этого полностью отказался от использования сгенерированных классов и написал всё руками.
Буду делать свою библиотеку для решения взаимодействия со СМЭВ. Из коробки не работает :(
Offline two_oceans  
#145 Оставлено : 4 декабря 2019 г. 11:23:42(UTC)
two_oceans

Статус: Эксперт

Группы: Участники
Зарегистрирован: 05.03.2015(UTC)
Сообщений: 786
Российская Федерация
Откуда: Иркутская область

Сказал(а) «Спасибо»: 49 раз
Поблагодарили: 168 раз в 158 постах
В этой теме пару страниц назад вроде бы скидывали ссылку на один из проектов.

В целом да, вручную наше все, я в другой среде, но тоже пишу сам - сейчас вот думаю свой генератор сделать, чтобы не выписывать для каждой схемы элементы вручную. Один раз прочитать схему, сделать дамп в своем формате и по нему работать.
Offline Dmitriy_Zh  
#146 Оставлено : 4 декабря 2019 г. 12:13:54(UTC)
Dmitriy_Zh

Статус: Участник

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

Автор: two_oceans Перейти к цитате
В этой теме пару страниц назад вроде бы скидывали ссылку на один из проектов.

В целом да, вручную наше все, я в другой среде, но тоже пишу сам - сейчас вот думаю свой генератор сделать, чтобы не выписывать для каждой схемы элементы вручную. Один раз прочитать схему, сделать дамп в своем формате и по нему работать.


У меня получилось выполнить в итоге эталонные запросы. Тестовый проект смотрел))) Но он реализован очень запутанно. Я для наших проектов буду делать библиотеку свою.
Самое сложное - подписать данные в правильном виде. Сейчас сделал это с помощью костылей. Хочу в ближайшие дни заставить работать автосгенерированный код
Offline two_oceans  
#147 Оставлено : 4 декабря 2019 г. 12:41:16(UTC)
two_oceans

Статус: Эксперт

Группы: Участники
Зарегистрирован: 05.03.2015(UTC)
Сообщений: 786
Российская Федерация
Откуда: Иркутская область

Сказал(а) «Спасибо»: 49 раз
Поблагодарили: 168 раз в 158 постах

Отредактировано пользователем 4 декабря 2019 г. 13:02:57(UTC)  | Причина: Не указана

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