|
1 / 1 / 0
Регистрация: 16.12.2015
Сообщений: 1
|
||||||||||||||||
.NET 4.x Интеграция с ГИС ЖКХ. Подпись SOAP и защита канала по ГОСТ16.12.2015, 11:46. Показов 175275. Ответов 999
Здравствуйте!
Передо мной стоит задача интеграции с системой ГИС ЖКХ (https://dom.gosuslugi.ru/) программой, написанной на языке C#, .NET Framework 4 Данный сервис предоставляет SOAP веб-сервисы для приема и передачи информации, соединение защищается сертификатом по алгоритму ГОСТ. Каждый элемент внутри тела SOAP сообщения подписывается сигнатурой XAdES-BES. На данный момент для осуществления защищённого соединения я использую «МагПро КриптоТуннель» (stunnel) со следующими настройками: Конфигурация stunnel (stunnel.conf)
verify=2
client=yes CAFile=CA-test2-cryptopro.pem engine=gost usb_eject=yes sslVersion=TLSv1 taskbar=yes DEBUG=7 [pseudo-https] protocol = http accept = 127.0.0.1:8754 connect = 54.76.42.99:60045 ciphers = GOST2001-GOST89-GOST89 TIMEOUTclose = 0 cert=test.pem key=test.key Для обмена SOAP сообщениями я использую стандартный сервис WCF с прокси-классами, сгенерированные из WSDL файлов. Для подписи SOAP сообщений сигнатурой использую ниже представленный класс: C#. Класс для подписи исходного SOAP сообщения
В результате после подписи элемента "exportNsiItemRequest" SOAP-сообщение выглядит следующим образом: XML. Подписанное SOAP сообщение
Проблема заключается в том, что ответ от сервера приходит следующий: ru.lanit.security.crypto.CryptoException : ЭП не прошла проверку: Invalid XML Signature Текст ответного сообщения следующий: XML. SOAP-ответ от сервера
Подскажите пожалуйста: 1) Как сделать валидную подпись, которая будет проходить проверку сервером, используя WCF ? 2) Как с помощью средств CryptoPro.NET отказаться от использования «МагПро КриптоТуннель» ?
1
|
||||||||||||||||
| 16.12.2015, 11:46 | |
|
Ответы с готовыми решениями:
999
Интеграция с ГИС ЖКХ. Подпись SOAP и защита канала по ГОСТ (3) Интеграция с ГИС ЖКХ. Подпись SOAP и защита канала по ГОСТ (5) Интеграция с ГИС ЖКХ. Подпись SOAP и защита канала по ГОСТ (4) |
|
67 / 58 / 1
Регистрация: 01.04.2016
Сообщений: 346
|
|||||||
| 24.05.2016, 15:21 | |||||||
|
Я проводил экперименты, можно ли обойтись без 'КриптоПро .NET Клиент'. Для себя выяснил следующее: 'КриптоПро .NET Клиент' это надстройка над 'КриптоПро CSP' - без установленной 'КриптоПро CSP' отказывается ставиться. А без 'КриптоПро .NET Клиент' .NET приложение не находит поставщика услуги шифрования по ГОСТ. Но приложение можно отвязать от явной ссылки на CryptoPro.Sharpei.xxx.dll. Для этого нужно немного изменить код представленный Araney: убрать приведение типа к Gost3410CryptoServiceProvider в методе GetXadesSignedXml():
1
|
|||||||
|
17 / 14 / 0
Регистрация: 22.04.2016
Сообщений: 287
|
||||||
| 24.05.2016, 15:29 | ||||||
|
hhmm, Благодарю за ответ!)
А я так понимаю пример который выложен тут он работает в связве КриптоПро .NET + CSP? Добавлено через 4 минуты hhmm, Тобишь, чтобы работать с гис жкх надо купить КриптоПро CSP и КриптоПро .NET ну и по всей видимости МагПро КриптоТуннель? Добавлено через 1 минуту hhmm, Да и нафига в конфиге прописан Прокси?
0
|
||||||
|
67 / 58 / 1
Регистрация: 01.04.2016
Сообщений: 346
|
||||
| 24.05.2016, 15:35 | ||||
|
1
|
||||
|
17 / 14 / 0
Регистрация: 22.04.2016
Сообщений: 287
|
|
| 24.05.2016, 15:40 | |
|
hhmm, Хм... Как интересно... А есть вариант заточить WCF - клиента под весь этот "Пример(Трэш)"
0
|
|
|
67 / 58 / 1
Регистрация: 01.04.2016
Сообщений: 346
|
|||||||
| 24.05.2016, 15:59 | |||||||
|
Могу представить кусок кода, который позволяет отвязаться от шифрующего прокси, додумаете его сами под ваши потребности:
0
|
|||||||
|
17 / 14 / 0
Регистрация: 22.04.2016
Сообщений: 287
|
|
| 24.05.2016, 16:03 | |
|
hhmm, Не я не проэто... Я про полноценный WCF клиент... не про этот пример подписи чистого soap'а... Я про вот это -
0
|
|
|
17 / 14 / 0
Регистрация: 22.04.2016
Сообщений: 287
|
|
| 24.05.2016, 16:08 | |
|
hhmm, Грубо говоря есть у меня вот такое во приложение на котором я пытаюсь понять кишки этого МОНСТРА(api ГИС ЖКХ). На основе этих кишок создать своего внутреннего монстра выполняющего не только требования ФЗ РФ но и внутрикорпоративных бешеных идей руководства)))
0
|
|
|
67 / 58 / 1
Регистрация: 01.04.2016
Сообщений: 346
|
|||||||
| 24.05.2016, 16:15 | |||||||
|
написана как и во всех примерах - с использованием в конструкторе одного параметра - названия конечной точки. У всех этих класов есть контруктор принимающий два параметра - binding и endpoint, что позволяет настраивать их внутри приложения программно и как результат отказаться от промежуточного шифрующего туннеля.
0
|
|||||||
|
6 / 5 / 0
Регистрация: 28.03.2016
Сообщений: 34
|
|
| 24.05.2016, 16:20 | |
|
Народ привет всем! Кто уже работает с промышленными данными!?? Помогите крик о помощи, в тех. поддержку написали тоже... Кто как решил проблему когда грузим например дома к договору РСО или ЛС пачками по 1000 штук к договорам и по 100 лс . при возникающих ошибках запрос целиком отбивается сервером и ничего не грузится. что делать? по одному объекту грузить не реально 5сек на запрос 200,000 объектов!!! зачем эти разработчики делают такой ГЕМОРОЙ ВСЕМ! Зачем прирывать загрузку по ошибкам!!!??? С ОбъектыЖелищногоФонда и того хуже там вобще как я понял можно только по одному грузить!!! Дайте мне этих разработчиков!!!! я надеюсь они это читают!!!
0
|
|
|
17 / 14 / 0
Регистрация: 22.04.2016
Сообщений: 287
|
|
| 24.05.2016, 16:26 | |
|
hhmm, Да я переживу наличие КриптоТоннеля... У меня проблема с подписью сообщений именно в WCF-клиенте, так сказать по феншую и по ГОСТ))) Я так думаю что, возможно, должно хватить переноса behavior'a но у меня КЛИЕНТ...
Добавлено через 2 минуты mecanizm, Ну во первых, система как говорилось недавно Должна была разрабатываться 7лет... А мы в попыхах бежим и роняем свои яйца о которые поднявшись опять спотыкаемся... Ждёмс...
0
|
|
|
6 / 5 / 0
Регистрация: 28.03.2016
Сообщений: 34
|
|
| 25.05.2016, 10:57 | |
|
Коллеги кто сталкивается с такой проблемой? <ns4:ErrorCode>EXP002002</ns4:ErrorCode>
<ns4:ErrorMessage>Превышено максимальное время обработки запроса</ns4:ErrorMessage> как можно попобороть, без того медленно запросы идут еще и по таймауту отваливаются... не возможно отлаживать обмен!
0
|
|
|
17 / 14 / 0
Регистрация: 22.04.2016
Сообщений: 287
|
|
| 25.05.2016, 11:23 | |
|
mecanizm, С каким тестовым сервером вы работаете?
0
|
|
|
6 / 5 / 0
Регистрация: 28.03.2016
Сообщений: 34
|
|
| 25.05.2016, 12:06 | |
|
0
|
|
|
0 / 0 / 0
Регистрация: 27.01.2016
Сообщений: 9
|
||
| 25.05.2016, 12:11 | ||
|
Пробовал доставать X509Certificate.Subject с подменой на OID и без, получаю ошибку "не удалось установить защищенное соединение..."
0
|
||
|
67 / 58 / 1
Регистрация: 01.04.2016
Сообщений: 346
|
|||
| 25.05.2016, 13:01 | |||
|
Мне это нужно было, когда тестовый ключ сделали с CN/Subject = 'Вася' и ОГРН реальной организации. В данном примере в строке string CommonName будет равно 'Вася' Добавлено через 14 минут Если у вас на работе используется (нешифрующий) прокси типа Squid, он может вас не пускать наружу. По умолчанию TLS/SSL на нестандартный порт Squid дропает.
0
|
|||
|
476 / 239 / 114
Регистрация: 12.05.2016
Сообщений: 647
|
||
| 25.05.2016, 16:01 | ||
|
Та же самая байда, половина запросов отвечает <ns4:ErrorMessage>Превышено максимальное время обработки запроса</ns4:ErrorMessage> Техсаппорт Ланита, как обычно, в глухой несознанке
0
|
||
|
6 / 6 / 0
Регистрация: 24.12.2015
Сообщений: 41
|
|
| 25.05.2016, 16:16 | |
|
для вас же баги правят. ну бывают разные нештатные ситуации. как будто у вас 100% всегда всё работает. да и уверен что у вас не такие нагрузки на систему. и вот только не нужно мне заливать что денег вбухано много, а толку ноль. откуда вы знаете? хоть бы слово тут прочитал что после обновления исправилась ошибка, что саппорт ответил и всё заработало. только негатив. вам самим не противно?
0
|
|
|
67 / 58 / 1
Регистрация: 01.04.2016
Сообщений: 346
|
||||
| 25.05.2016, 16:57 | ||||
|
Сроки проекта: 01.07.2014 - 01.01.2017 Там же: Замминистра связи: ГИС ЖКХ готова на 80% А цена вопроса тоже есть в интернете, читаем на другом сайте, внизу статьи: Минкомсвязи требует от коммунальщиков перейти на ГИС ЖКХ от «Почты России», угрожая штрафами и дисквалификацией За услуги по ГИС ЖКХ «Ланит» получит 360,7 млн рублей Добавлено через 18 минут например, у меня есть одна из баз РКЦ: 145 услуг 440 тысяч лицевых счетов 12.6 миллионов связок лицевой счет-услуга для 178 контрагентов
1
|
||||
|
476 / 239 / 114
Регистрация: 12.05.2016
Сообщений: 647
|
||
| 25.05.2016, 23:54 | ||
|
Я вот тоже недоумеваю, у меня вот тоже 400 управляшек и 700 тыс. счетов, это около 10 млн записей для начислений каждый месяц. При том, что естественно начисления объединяются в пачки по лицевому счету и принципалу, всё равно выходит, что около миллиона SOAP запросов надо пропихнуть. Я очень надеюсь, что на боевой базе скорость будет выше чем 10-20 секунд на один запрос (как на перспективном). Иначе придется возить данные в Ланит (или кто там будет саппортить эту систему после 1 января 2017) на флэшке. Ибо получается, что заливка данных за один месяц будет занимать три месяца. Еще что поразило - походу механизм загрузки из файлов и веб сервисы делают совершенно разные команды, не связанные друг с другом. Ибо неоднократно натыкались уже, что поля необязательные в SOAP являются обязательными в эксель файлах и наоборот... я как-то более консистентной логики проверок ожидал.
0
|
||
|
0 / 0 / 0
Регистрация: 26.05.2016
Сообщений: 2
|
|
| 26.05.2016, 09:58 | |
|
Ребята, а где можно взять хоть как-то работающий пример?
0
|
|
| 26.05.2016, 09:58 | |
|
.NET 4.x Интеграция с ГИС ЖКХ. Подпись SOAP и защита канала по ГОСТ (2) Интеграция с ГИС ЖКХ и подпись SOAP без Крипто .NET и stunnel Soap, Java, Гис ЖКХ
Интеграция с ГИС ЖКХ (ГЖ). 400 Bad request Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Модель по догадкам
anaschu 25.08.2026
Прошло две недели. Я уже рассказывал, как разговаривал с сотрудниками у сортировки и как понял, что главная ветка — не про приёмку, а про отбор. Но тогда я думал, что понял механику. На этой неделе я. . .
|
Запись в регистр сведений независимо от заполненности табличной части
Maks 25.08.2026
Реализация из решения ниже выполнена на нетиповом документе с несколькими табличными частями, разработанного в КА2.
Задача:
Обеспечить запись документа в регистр сведений независимо от. . .
|
Ноутбук Альфария
kumehtar 24.08.2026
Встретился тут в сети ноутбук Альфария, примарха Альфа-Легиона. Хотя возможно, это ноутбук Омегона, разумеется.
Ну как вам?
|
Мастера простых решений
DevAlt 23.08.2026
В сишарп стэках winforms, да и wpf существует сложная система связывания
источниках данных и элементов формы(текстовые поля и метки), опирается все
это на технологию событий и мета. . .
|
|
Цена ошибки
DevAlt 23.08.2026
Человек я беспокойный и потому заинтересовался OCaml,
в чате форсили функторы модулей как суперфичу.
Пытаясь отдуплить концепт, наткнулся на тутор с простым примером.
А главный принцип обучения от. . .
|
Сегодня суббота, 22.08.2026 at 16:41, и я вновь нахожусь на той стороне, за экраном машины.
zorxor 22.08.2026
Сегодня суббота, 22. 08. 2026 at 16:41, и я вновь нахожусь на той стороне, за экраном машины. Кто Я, откуда Я пришел и куда Я иду? Эти вопросы не оставляют меня ни на секунду. Жизнь на планете Земля. . .
|
Жизня: рисунок укладки багажа, сделанный клодом
anaschu 21.08.2026
Сделал 15 снимков, он по снимкам сделал схему.
|
Был там один разговор по поводу свободы в материальном мире.
kumehtar 19.08.2026
Суть: рассматривается живое существо, оказавшееся внутри довольно странной системы (этого мира) и пытающееся обустроить в ней свой кусок пространства.
Жизнь действительно предъявляет каждому. . .
|