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

Уведомление

Icon
Error

8 Страницы«<5678>
Опции
К последнему сообщению К первому непрочитанному
Offline HF_HF  
#121 Оставлено : 4 октября 2019 г. 15:59:14(UTC)
HF_HF

Статус: Новичок

Группы: Участники
Зарегистрирован: 25.09.2019(UTC)
Сообщений: 8
Мужчина
Российская Федерация

Сказал «Спасибо»: 5 раз
Поблагодарили: 1 раз в 1 постах
Если кто знает как исправить чтобы VS формировала нормально классы без таких ошибок
Невозможно создать временный класс (результат=1).
error CS0030: Cannot convert type 'SMEV3Services.SMEV3.AttachmentContentType' to 'SMEV3Services.SMEV3.AttachmentContentList'
error CS0030: Cannot convert type 'SMEV3Services.SMEV3.AttachmentContentType' to 'SMEV3Services.SMEV3.AttachmentContentList'
error CS0029: Cannot implicitly convert type 'SMEV3Services.SMEV3.AttachmentContentList' to 'SMEV3Services.SMEV3.AttachmentContentType'
error CS0029: Cannot implicitly convert type 'SMEV3Services.SMEV3.AttachmentContentList' to 'SMEV3Services.SMEV3.AttachmentContentType'
На основе wsdl SMEV 3, подскажите пожалуйста)))

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

Offline Dmitriy_Zh  
#122 Оставлено : 11 октября 2019 г. 16:49:35(UTC)
Dmitriy_Zh

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

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

Автор: HF_HF Перейти к цитате
Если кто знает как исправить чтобы VS формировала нормально классы без таких ошибок
Невозможно создать временный класс (результат=1).
error CS0030: Cannot convert type 'SMEV3Services.SMEV3.AttachmentContentType' to 'SMEV3Services.SMEV3.AttachmentContentList'
error CS0030: Cannot convert type 'SMEV3Services.SMEV3.AttachmentContentType' to 'SMEV3Services.SMEV3.AttachmentContentList'
error CS0029: Cannot implicitly convert type 'SMEV3Services.SMEV3.AttachmentContentList' to 'SMEV3Services.SMEV3.AttachmentContentType'
error CS0029: Cannot implicitly convert type 'SMEV3Services.SMEV3.AttachmentContentList' to 'SMEV3Services.SMEV3.AttachmentContentType'
На основе wsdl SMEV 3, подскажите пожалуйста)))


Если вы не используете аттачменты, просто вырезайте код. Либо придётся править руками сгенерированный код
Offline HF_HF  
#123 Оставлено : 14 октября 2019 г. 8:59:46(UTC)
HF_HF

Статус: Новичок

Группы: Участники
Зарегистрирован: 25.09.2019(UTC)
Сообщений: 8
Мужчина
Российская Федерация

Сказал «Спасибо»: 5 раз
Поблагодарили: 1 раз в 1 постах
Автор: Dmitriy_Zh Перейти к цитате
Автор: HF_HF Перейти к цитате
Если кто знает как исправить чтобы VS формировала нормально классы без таких ошибок
Невозможно создать временный класс (результат=1).
error CS0030: Cannot convert type 'SMEV3Services.SMEV3.AttachmentContentType' to 'SMEV3Services.SMEV3.AttachmentContentList'
error CS0030: Cannot convert type 'SMEV3Services.SMEV3.AttachmentContentType' to 'SMEV3Services.SMEV3.AttachmentContentList'
error CS0029: Cannot implicitly convert type 'SMEV3Services.SMEV3.AttachmentContentList' to 'SMEV3Services.SMEV3.AttachmentContentType'
error CS0029: Cannot implicitly convert type 'SMEV3Services.SMEV3.AttachmentContentList' to 'SMEV3Services.SMEV3.AttachmentContentType'
На основе wsdl SMEV 3, подскажите пожалуйста)))


Если вы не используете аттачменты, просто вырезайте код. Либо придётся править руками сгенерированный код


Спасибо.
Переписал. Просто думал, мало ли есть способ нормально сформировать классы.

Offline two_oceans  
#124 Оставлено : 14 октября 2019 г. 9:47:23(UTC)
two_oceans

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

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

Сказал(а) «Спасибо»: 49 раз
Поблагодарили: 168 раз в 158 постах
Автор: HF_HF Перейти к цитате
Переписал. Просто думал, мало ли есть способ нормально сформировать классы.
Подозреваю, что способ должен быть, не зря же сначала пытается конвертить один тип в другой, потом обратно. Вот только пока неизвестно как исправить: ведь по идее надо найти из-за чего в схеме выходит расхождение в генераторе класса и либо исправить генератор либо исправить саму схему. Скорее уж схему - ее можно хотя бы перехватить прокси и поменять/подменить, благо схемы не подписаны. Исправить генератор значит либо найти некие параметры сглаживающие различие (не факт, что они вообще есть) или патч (вызовет массу проблем как с антивирусами, так и с новыми версиями dotNet).
Offline HF_HF  
#125 Оставлено : 22 октября 2019 г. 16:45:23(UTC)
HF_HF

Статус: Новичок

Группы: Участники
Зарегистрирован: 25.09.2019(UTC)
Сообщений: 8
Мужчина
Российская Федерация

Сказал «Спасибо»: 5 раз
Поблагодарили: 1 раз в 1 постах
Автор: two_oceans Перейти к цитате
Автор: HF_HF Перейти к цитате
Переписал. Просто думал, мало ли есть способ нормально сформировать классы.
Подозреваю, что способ должен быть, не зря же сначала пытается конвертить один тип в другой, потом обратно. Вот только пока неизвестно как исправить: ведь по идее надо найти из-за чего в схеме выходит расхождение в генераторе класса и либо исправить генератор либо исправить саму схему. Скорее уж схему - ее можно хотя бы перехватить прокси и поменять/подменить, благо схемы не подписаны. Исправить генератор значит либо найти некие параметры сглаживающие различие (не факт, что они вообще есть) или патч (вызовет массу проблем как с антивирусами, так и с новыми версиями dotNet).


Работаю далее с теми классами что получились, сюрпризов много, не то что классы не правильно формируются, генератор классов вместо класса создал перечисления, Enum. Пришлось взять xml ответа и сформировать классы на основе xml, получить в итоге классы с вложенными друг в друга, Уже мысль не на C# писать сервис, а на JAVA.... хотя тренировка не стандартных ситуаций хорошая.)
Скажите народ вы на каком языке программирования с СМЭВ 3 работаете ?
Offline archimed7592  
#126 Оставлено : 22 октября 2019 г. 18:58:51(UTC)
archimed7592

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

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

Поблагодарили: 3 раз в 3 постах
Автор: HF_HF Перейти к цитате

Работаю далее с теми классами что получились, сюрпризов много, не то что классы не правильно формируются, генератор классов вместо класса создал перечисления, Enum. Пришлось взять xml ответа и сформировать классы на основе xml, получить в итоге классы с вложенными друг в друга, Уже мысль не на C# писать сервис, а на JAVA.... хотя тренировка не стандартных ситуаций хорошая.)
Скажите народ вы на каком языке программирования с СМЭВ 3 работаете ?


Работаем на C#. Не испытывали проблем, помимо описанных выше минорных изменений сгенерированных классов AttachmentContentType/AttachmentContentList.
В чём проблема с Enum?
thanks 1 пользователь поблагодарил archimed7592 за этот пост.
HF_HF оставлено 30.10.2019(UTC)
Offline two_oceans  
#127 Оставлено : 23 октября 2019 г. 8:38:13(UTC)
two_oceans

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

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

Сказал(а) «Спасибо»: 49 раз
Поблагодарили: 168 раз в 158 постах
Автор: HF_HF Перейти к цитате
Работаю далее с теми классами что получились, сюрпризов много, не то что классы не правильно формируются, генератор классов вместо класса создал перечисления, Enum.
Вообще "замечательно".

Я вот пытаюсь на FreePascal сделать работу, но пока от схем ВС вообще не танцую (хотя в принципе есть такой модуль, а приложив усилий можно сгибридить и с С# и с Java). Сами теги документа хранятся в виде 5 табличек (адреса пространств, префиксы, теги, атрибуты, текстовые узлы). Одна библиотека базовая (обертка над http и управление адресами, туннелями, адаптерами), на нее цепляются "адаптеры-концентраторы" для смэв 2 и смэв 3 (одинаковые структуры для всех сервисов/ВС), на них "адаптеры" конкретного сервиса смэв 2 или ВС смэв 3. Базовая идея - не передавать в "адаптер" все теги/атрибуты/значения, а сначала обязательные строчки, потом выборочно необязательные, из которых уже адаптер по числовым кодам распознает что это вообще за тег (какая строка тег, какая значение атрибута, какая текстовый узел) и добавит переданные строки в нужные места табличек. Из табличек самопальный аналог xml-процессора формирует xml-документ. Похоже на нестандартно заданный шаблон. Сейчас переосмысливаю подписание гост-2012 для смэв 3.
Offline HF_HF  
#128 Оставлено : 23 октября 2019 г. 17:58:41(UTC)
HF_HF

Статус: Новичок

Группы: Участники
Зарегистрирован: 25.09.2019(UTC)
Сообщений: 8
Мужчина
Российская Федерация

Сказал «Спасибо»: 5 раз
Поблагодарили: 1 раз в 1 постах
Спасибо, пересмотрел код. Подправил слегка сформированные классы с wsdl теперь действительно все работает))) . Ваше сообщение что на c# у вас почти все нормально дало мне уверенность что все работает. При получении ответа из очереди как обработано мое сообщение. Постоянно получал ошибку сериализации RejectedReject дописал атрибут и все теперь отлично работает. Ошибку с AttachmentType и AttachmentList тоже исправил. Спасибо что сказали, что все работает)))

Отредактировано пользователем 24 октября 2019 г. 8:10:01(UTC)  | Причина: Не указана

Offline two_oceans  
#129 Оставлено : 24 октября 2019 г. 7:32:53(UTC)
two_oceans

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

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

Сказал(а) «Спасибо»: 49 раз
Поблагодарили: 168 раз в 158 постах
Наверно еще замечательнее, если для других напишите какие "минорные изменения"/атрибут или ссылку на pull request. Или из прошлых сообщений архив обновили?

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

Offline HF_HF  
#130 Оставлено : 24 октября 2019 г. 8:08:44(UTC)
HF_HF

Статус: Новичок

Группы: Участники
Зарегистрирован: 25.09.2019(UTC)
Сообщений: 8
Мужчина
Российская Федерация

Сказал «Спасибо»: 5 раз
Поблагодарили: 1 раз в 1 постах
Автор: two_oceans Перейти к цитате
Наверно еще замечательнее, если для других напишите какие "минорные изменения"/атрибут или ссылку на pull request. Или из прошлых сообщений архив обновили?


Если что то интересное правлю, то проект на gitLab обновляю.
https://gitlab.com/Proje...v.a.andiev/example-smev3
Ваш вариант с адаптером мне тоже предлагали. Хочу узнать удобно работать через адаптер?
Конечно главное чтобы работало. Это начальство больше интересует, особенно в Гос проектах ...

Самое главное мой выложенный код кому-нибудь помог ? А то вдруг я очевидные вещи выкладываю )))

Отредактировано пользователем 24 октября 2019 г. 9:01:44(UTC)  | Причина: Не указана

thanks 1 пользователь поблагодарил HF_HF за этот пост.
two_oceans оставлено 24.10.2019(UTC)
Offline two_oceans  
#131 Оставлено : 24 октября 2019 г. 12:57:24(UTC)
two_oceans

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

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

Сказал(а) «Спасибо»: 49 раз
Поблагодарили: 168 раз в 158 постах
Автор: HF_HF Перейти к цитате
Если что то интересное правлю, то проект на gitLab обновляю.
https://gitlab.com/Proje...v.a.andiev/example-smev3 ...
Самое главное мой выложенный код кому-нибудь помог ? А то вдруг я очевидные вещи выкладываю )))
Думаю что помог, просто на этот форум заходит большое количество посетителей без регистрации, периодически замечаю гостей и в этой теме, это скорее всего программисты. Если они не пишут новый вопрос, значит нашли ответ в уже написанном. И это плюс что смэв 3 стянулся в одну тему. С теми же больничными ФСС только мне тут попадалось около десятка тем.

Автор: HF_HF Перейти к цитате
Ваш вариант с адаптером мне тоже предлагали. Хочу узнать удобно работать через адаптер?
Конечно главное чтобы работало. Это начальство больше интересует, особенно в Гос проектах ...
Так у меня самописные адаптеры, что хочу то и ворочу, не те что с портала смэв 3. Про адаптеры на портале смэв 3 ранее говорили что там приходится допиливать - в одной статье на хабре вставляли пропущенную строчку в смэвовский трансформ, в других боролись с параметрами. Летом похоже адаптеры обновили и отзывов о новой версии пока не читал.
thanks 1 пользователь поблагодарил two_oceans за этот пост.
HF_HF оставлено 30.10.2019(UTC)
Offline gosha207778  
#132 Оставлено : 11 ноября 2019 г. 14:56:24(UTC)
gosha207778

Статус: Новичок

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

Автор: HF_HF Перейти к цитате
Автор: two_oceans Перейти к цитате
Наверно еще замечательнее, если для других напишите какие "минорные изменения"/атрибут или ссылку на pull request. Или из прошлых сообщений архив обновили?


Если что то интересное правлю, то проект на gitLab обновляю.
https://gitlab.com/Proje...v.a.andiev/example-smev3
Ваш вариант с адаптером мне тоже предлагали. Хочу узнать удобно работать через адаптер?
Конечно главное чтобы работало. Это начальство больше интересует, особенно в Гос проектах ...

Самое главное мой выложенный код кому-нибудь помог ? А то вдруг я очевидные вещи выкладываю )))


ДА! ОЧЕНЬ ПОМОГ! сейчас занимаюсь тем что пишу иплементацию официального адаптера СМЭВ3 для отправки туда сообщений. Не могли бы вы обменяться контактами? у меня есть несколько вопросов\предложений к вам по вашему проекту.

telegram - gosha20777
vk - gosha20777
github - gosha20777
email - gosha20777@live.ru

Offline gosha207778  
#133 Оставлено : 12 ноября 2019 г. 15:28:48(UTC)
gosha207778

Статус: Новичок

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

Всем привет!
Недавно столкнулся с проблемой подписи и трансформации сообщений для отправки их в СМЭВ3.

Для интеграции со смэв было принято решение использовать официальный адаптер смэв3 на java. В будущем мы планировали написать свою имплементацию этого адаптера.

Однако в процессе его настройки выяснилось что он работает не стабильно и с ним возникли трудности. Совершенно непонятно как он работает и какие сообщения отправляет. В результате чего я начал рассматривать варианты написание собственного модуля для интеграции со смэв.

Для меня остается не ясным как необходимо трансформировать сообщения для отправки в смэв и как их подписывать.

Было бы здорово получить такую функцию
string Smev3Request = TransformXmlToSmev3Message(inputXmlString, Sertificate ...)

где в качестве входных данных можно было бы подать сообщение вида:
https://smev3.gosuslugi....p;page=1&dTest=false

например отсюда. ну или то сообщение которое подается на вход в адаптер к смэв3. Но я не нашел тут таких ответов (или я что то не понимаю).

Почему бы не собраться всем и не запилить open source проект на эту тему?


P.s. До этого я никогда не работал с SOAP и СМЭВ. Более того никогда не работал в российских компаниях. По этому я слабо представляю как работает рос. Законодательство и вот это все.

Также мне удалось подписывать документы XML с помощью OpenSSL. То есть преобразовать PFX сертификат КриптоПро в сертификаты OpenSSL что позволит избавиться от КриптоПро и перейти на OpenSSL, а следовательно и на .NET Core/python и докерезировать сервис ну или использовать крипто про...

Вот мой проект по интеграции со смэв3 адаптером – если заменить адаптер на свободную имлементацию то может получиться хороший продукт

https://github.com/gosha...77/smev3_adapter_service

мои контакты есть в предыдущем сообщении.

Отредактировано пользователем 12 ноября 2019 г. 15:36:41(UTC)  | Причина: Не указана

Offline two_oceans  
#134 Оставлено : 14 ноября 2019 г. 10:30:14(UTC)
two_oceans

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

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

Сказал(а) «Спасибо»: 49 раз
Поблагодарили: 168 раз в 158 постах
Автор: gosha207778 Перейти к цитате
Всем привет!
Недавно столкнулся с проблемой подписи и трансформации сообщений для отправки их в СМЭВ3.
Для интеграции со смэв было принято решение использовать официальный адаптер смэв3 на java. В будущем мы планировали написать свою имплементацию этого адаптера.
Однако в процессе его настройки выяснилось что он работает не стабильно и с ним возникли трудности. Совершенно непонятно как он работает и какие сообщения отправляет. В результате чего я начал рассматривать варианты написание собственного модуля для интеграции со смэв.
Для меня остается не ясным как необходимо трансформировать сообщения для отправки в смэв и как их подписывать.
Было бы здорово получить такую функцию
string Smev3Request = TransformXmlToSmev3Message(inputXmlString, Sertificate ...)
где в качестве входных данных можно было бы подать сообщение вида:
https://smev3.gosuslugi....p;page=1&dTest=false
например отсюда. ну или то сообщение которое подается на вход в адаптер к смэв3. Но я не нашел тут таких ответов (или я что то не понимаю).
Привет! Не совсем понял что и во что собираетесь трансформировать. В паспортах сервисов как правило лежит часть сообщения, содержащая "бизнес-данные", отличающиеся для разных видов сведений. Предположу, что под транформацией Вы понимаете обертку "бизнес-данных" в общий для всех "конверт" СМЭВ 3?
Еще есть smev-transform для ЭП, не хотелось бы спутать терминологии.
Автор: gosha207778 Перейти к цитате
Почему бы не собраться всем и не запилить open source проект на эту тему?
Идея здравая, я целиком "за". Собственно именно это и хочу сделать. При реализации правда начинаются проблемы разного плана: 1) полной реализации пока я не встречал ни в одном опубликованном коде ПО, все городят "костыли", которые работают только с конкретным сервисом. У меня тоже не реализованы множество пунктов стандарта, но сервис для которого пишу это устраивает, потому что в xml для этого конкретного сервиса эти пункты срабатывают впустую и ничего не меняют в сообщении. Соответственно общий проект должен будет учитывать все сервисы (а их протестировать ВСЕ немного проблематично). Иначе всё сведется к тому что все взяли сырой проект и приделали свои костыли (как сейчас с адаптером); 2) программисты крайне неохотно переходят на другой язык (другую среду) программирования, поэтому Важно чтобы проект имел порты под все популярные среды программирования; 3) если проект будет включать подписание ЭП, то к сожалению open source проекты не подходят, так как подписание должно быть выполнено сертифицированным средством криптографической защиты (СКЗИ) или должен быть проведен контроль встраивания сертифицированного СКЗИ.
Автор: gosha207778 Перейти к цитате
Также мне удалось подписывать документы XML с помощью OpenSSL. То есть преобразовать PFX сертификат КриптоПро в сертификаты OpenSSL что позволит избавиться от КриптоПро и перейти на OpenSSL, а следовательно и на .NET Core/python и докерезировать сервис ну или использовать крипто про...
С сертификатом никаких проблем нет, проблема с ключами.

Автор: gosha207778 Перейти к цитате
Вот мой проект по интеграции со смэв3 адаптером – если заменить адаптер на свободную имлементацию то может получиться хороший продукт https://github.com/gosha...77/smev3_adapter_service мои контакты есть в предыдущем сообщении.
Конечно извиняюсь, не смотрел по ссылке, но что там еще нужно кроме адаптера? Бизнес-данные все равно придется формировать у каждой организации отдельно, так как у всех есть некое свое ПО работающее с зоопарком различных баз данных различных версий. Хотите пересадить всех на такой продукт? Заставить перебивать данные в новую базу данных. Увы, но это слишком оптимистично, большинство организаций мелкие, у них может даже не быть не то что программиста, но системный администратор приходит по 2 часа в неделю. Многие не станут брать open source продукт просто потому что не техподдержки, а имеющаяся техподдержка организации в таком продукте не разбирается. Максимум на что мы можем надеяться с проектом - заинтересовать неким "конструктором" множество junior/middle программистов, которые не хотят вникать в детали технологии ЭП или СМЭВ, но хотят прикрутить обмен со СМЭВ к своей не особо пряменькой программе. Выйдет тот же адаптер СМЭВ только другого авторства и "заваливающийся на другой бок".

Отредактировано пользователем 14 ноября 2019 г. 10:46:03(UTC)  | Причина: Не указана

Offline Dmitriy_Zh  
#135 Оставлено : 2 декабря 2019 г. 12:52:50(UTC)
Dmitriy_Zh

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

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

Добрый день! Есть у кого-нить готовый код генерации UUID для СМЭВ 3?
Offline two_oceans  
#136 Оставлено : 2 декабря 2019 г. 13:16:18(UTC)
two_oceans

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

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

Сказал(а) «Спасибо»: 49 раз
Поблагодарили: 168 раз в 158 постах
Добрый день. В принципе у меня есть, но на СМЭВ еще не проверен. Вообще там просто: в Windows для времени берется SystemTimeAsFileTime, прибавляется константа перевода из одной точки времени отсчета в другую точку отстчета; часовая последовательность с потолка; мак-адрес сетевой; несколько обязательных бит. Отдельно обрабатывается случай вызова более 1 uuid за 1 десятимиллоинную секунды (то есть когда время одинаковое в вызовах - тут 2 варианта или просто увеличиваем часть времени или химичим с часовой последовательностью и мак адресом).
Offline Dmitriy_Zh  
#137 Оставлено : 2 декабря 2019 г. 16:53:54(UTC)
Dmitriy_Zh

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

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

Автор: two_oceans Перейти к цитате
Добрый день. В принципе у меня есть, но на СМЭВ еще не проверен. Вообще там просто: в Windows для времени берется SystemTimeAsFileTime, прибавляется константа перевода из одной точки времени отсчета в другую точку отстчета; часовая последовательность с потолка; мак-адрес сетевой; несколько обязательных бит. Отдельно обрабатывается случай вызова более 1 uuid за 1 десятимиллоинную секунды (то есть когда время одинаковое в вызовах - тут 2 варианта или просто увеличиваем часть времени или химичим с часовой последовательностью и мак адресом).


Нашел рабочий код для генерации. Теперь не могу побороть проблему с ЭЦП :( Завтра напишу примеры кода
Offline Dmitriy_Zh  
#138 Оставлено : 3 декабря 2019 г. 10:40:55(UTC)
Dmitriy_Zh

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

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

Добрый день! Столкнулся с проблемой при проверке ЭЦП.
Реализация через WCF клиент. Не могу найти место, в котором ломается подпись :(

Код



UPD:
Есть подозрение, что дело в сериализации которую использует WCF перед транспортировкой.
Нужно ли добавлять какие-нить настройки специальные или трансформации?

Отредактировано пользователем 3 декабря 2019 г. 14:54:51(UTC)  | Причина: Не указана

Offline two_oceans  
#139 Оставлено : 3 декабря 2019 г. 15:47:56(UTC)
two_oceans

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

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

Сказал(а) «Спасибо»: 49 раз
Поблагодарили: 168 раз в 158 постах
Навскидку тоже не вижу где ломается. Варианты могут быть такие: не то значение PreserveWhitespace (СМЭВ предполагает документы без переводов строк и т.д., но менять все на false тоже может сломать подпись. конкретно желательно чтобы тег SignedInfo был сгенерирован в SignedXml без них, в остальных местах не так важно), не та кодировка (UTF-8 рекомендуется чтобы каноникализация не меняла кодировку).

Не пишу на дотнете, так что у меня остались еще вопросы: по смэвовскому трансформу (что-то странно что в одном месте классом, в другом адресом) - трансформ нормально отрабатывает? SignXml меняет data или нет? Возвращает запрос с подписью или только подпись? Если только подпись, то потом может все сломаться при вставке подписи где-то в client.SendRequest. Если целиком, то странно что в
Код:
client.SendRequest(request,
SignXml(SerializeSenderProvidedRequestData(request), "SIGNED_BY_CONSUMER"),
out _);
как будто request передается дважды. Наверно можно это посмотреть в общих исходниках, но вдруг у Вас "допилены" классы.

Для ясности не могли бы Вы прикрепить что возвращается из SignXml и что уходит на отправку?
Offline Dmitriy_Zh  
#140 Оставлено : 3 декабря 2019 г. 17:39:24(UTC)
Dmitriy_Zh

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

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

Автор: two_oceans Перейти к цитате
Навскидку тоже не вижу где ломается. Варианты могут быть такие: не то значение PreserveWhitespace (СМЭВ предполагает документы без переводов строк и т.д., но менять все на false тоже может сломать подпись. конкретно желательно чтобы тег SignedInfo был сгенерирован в SignedXml без них, в остальных местах не так важно), не та кодировка (UTF-8 рекомендуется чтобы каноникализация не меняла кодировку).

Не пишу на дотнете, так что у меня остались еще вопросы: по смэвовскому трансформу (что-то странно что в одном месте классом, в другом адресом) - трансформ нормально отрабатывает? SignXml меняет data или нет? Возвращает запрос с подписью или только подпись? Если только подпись, то потом может все сломаться при вставке подписи где-то в client.SendRequest. Если целиком, то странно что в
Код:
client.SendRequest(request,
SignXml(SerializeSenderProvidedRequestData(request), "SIGNED_BY_CONSUMER"),
out _);
как будто request передается дважды. Наверно можно это посмотреть в общих исходниках, но вдруг у Вас "допилены" классы.

Для ясности не могли бы Вы прикрепить что возвращается из SignXml и что уходит на отправку?


1)Кодировку буду принудительно делать UTF-8 (по умолчанию сериализация идёт в кодировке UTF-16)
2)Метод возвращает только подпись, т.к сигнатура метода отдальное принимает SenderProvidedRequestData и отдельно принимает CallerInformationSystemSignature

Данные для подписи (я формирую через сериализацию):


Подпись:


Служебный данные из трейса SignedXml
Преобразованный контент ссылки:


Выходные данные преобразования канонизации:


Данные которые сформировал клиент WCF для отправки:


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