|
1 / 1 / 0
Регистрация: 16.12.2015
Сообщений: 1
|
||||||||||||||||
.NET 4.x Интеграция с ГИС ЖКХ. Подпись SOAP и защита канала по ГОСТ16.12.2015, 11:46. Показов 174752. Ответов 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) |
|
3 / 3 / 0
Регистрация: 28.09.2011
Сообщений: 9
|
||||||
| 09.03.2016, 07:24 | ||||||
|
Случайно никто не знает как установить SOAPAction в заголовок запроса в Java? У меня сейчас так:
Invalid operation type for soap action. Operation type is EXPORT_ORG_REGISTRY and soap action is "",ns:exportOrgRegistry Сам запрос правильный, в SoapUI успешно выполняется, текст SOAPAction взял из проекта в SoapUI
0
|
||||||
|
4 / 4 / 0
Регистрация: 17.02.2016
Сообщений: 13
|
|||||||||||
| 09.03.2016, 08:48 | |||||||||||
|
Да вроде делаю
А в ответ :
Что-то не так делаю. Но вот что...
0
|
|||||||||||
|
13 / 13 / 0
Регистрация: 25.01.2016
Сообщений: 38
|
|
| 09.03.2016, 09:12 | |
|
URL не тот:
http://127.0.0.1:8080/ext-bus-... /NsiCommon
1
|
|
|
3 / 3 / 0
Регистрация: 28.09.2011
Сообщений: 9
|
|
| 09.03.2016, 09:13 | |
|
Spun80, правильный текущий эндпоинт http://127.0.0.1:8080/ext-bus-... /NsiCommon
Список всех текущих можно посмотреть в файлике Методические рекомендации по работе с СИТ v.8.6.0.4.docx
1
|
|
|
4 / 4 / 0
Регистрация: 17.02.2016
Сообщений: 13
|
|
| 09.03.2016, 10:11 | |
|
Сейчас залез на гис жкх. Там версия апи 8.6.0.4. Но она отличается от того, что я скачал 2016 02 03. Хотя бы в файле Методические рекомендации по работе с СИТ v.8.6.0.4.doc в Сервис обмена сведениями о поставщиках информации теперь https://54.76.42.99:60045/ext-... stryCommon. Получается теперь каждый день надо качать и схемы и доки. ВСЕ, в общем. Нет предела моему расстройству. Я испытываю определенное душевное смятение, как старый японец летящий вниз с вершины Фудзиямы.
Добавлено через 40 минут Araney, zevs151, Спасибо за оперативность! Не ожидал такого от ланита. Добавлено через 29 секунд Такого подвоха, я имею ввиду.
0
|
|
|
10 / 10 / 0
Регистрация: 29.02.2016
Сообщений: 45
|
|
| 09.03.2016, 10:17 | |
|
Какой способ "подключения" wsdl файлов вы выбрали и почему?(ServiceReference, WebServiceReference, wsdl.exe, svcutil.exe, XXsd2Code.exe, и т.д.)
Я так понимаю, они далеко не все дают доступ к xml чтобы его подписать с помощью xades-bes. В общем, нашел кто-нибудь оптимальный вариант?
0
|
|
|
0 / 0 / 0
Регистрация: 10.12.2015
Сообщений: 18
|
|
| 09.03.2016, 15:49 | |
|
Ребят, вопрос не совсем по теме, но все таки.
Как получить сертификат (не тестовый) для установления защищенного соединения и не ошибиться с ним? (для работы с гис жкх) Сертификат должен быть выдан аккредитованным УЦ. Список аккредитованных УЦ распостраняется через портал http://e-trust.gosuslugi.ru/ . В моем городе есть только один УЦ, и это Песионный Фонд РФ. На вышеуказанном сайте в описании моего УЦ в поле Средства УЦ указано ViPNet КС2. Будет ли выданный ими сертификат работать с криптопро? Как выданные сертификаты зависят от криптопровайдеров? В каком формате выдаются сертификаты? Кто имел с ними дело, поделитесь опытом пожалуйста.
0
|
|
|
10 / 10 / 0
Регистрация: 29.02.2016
Сообщений: 45
|
|
| 09.03.2016, 16:21 | |
|
lonely_tramp, Методические рекомендации по работе с СИТ***.doc пункт "2 Требования к транспортному сертификату."
0
|
|
|
0 / 0 / 0
Регистрация: 10.12.2015
Сообщений: 18
|
|
| 09.03.2016, 16:24 | |
|
ndbn, вы внимательно прочли мой пост? Речь идет о процедуре получения НЕ тестового сертификата.
0
|
|
|
10 / 10 / 0
Регистрация: 29.02.2016
Сообщений: 45
|
|
| 09.03.2016, 16:38 | |
|
lonely_tramp, кто вас обязывает на тесте пользоваться тестовым сертификатом?! Это просто допущение, там описаны требования.
Нормальные сертификаты выдаются на флешке(токене) и, согласно зак-ву, из рук в руки, т.е. при личном обращении и, вот в этом не уверен, возможно из токена не экспортируются закрытый ключ в виде файла, но возможно перенести сертификата в другой контейнер(хранилище windows например). О совместимости читайте faq на сайте, хотя и не понятно что вы имеете ввиду под "работать с криптопро".
0
|
|
|
0 / 0 / 0
Регистрация: 10.12.2015
Сообщений: 18
|
|
| 09.03.2016, 16:48 | |
|
ndbn, никто не обязывает. Но менять сертификаты раз в месяц (тестовый криптропрошный сертификат дается 2 месяца минус время ответа ТП ~ 3 недели) нет желания, а так же нагружать данными заявками и без того черепашью ТП ГИС ЖКХ.
Нормальный сертификат получать придется все равно, так что было принято решение получить его на данном этапе. Например, у этого УЦ в поле Средства УЦ указано ViPNet КС2 а не КриптоПро (как у множества других УЦ), что ввело меня в замешательство. Раньше дел с сертификатами не имел. Собственно по-этому и решил спросить.
0
|
|
|
10 / 10 / 0
Регистрация: 29.02.2016
Сообщений: 45
|
|||||
| 09.03.2016, 16:59 | |||||
|
В ГИС вы отдадите открытую часть сертификата, чтобы они проверяли то что вы им отправляете, но локально ваш софт должен работать с локальным криптопровайдером(если нужно с ним работать, конечно).
0
|
|||||
|
0 / 0 / 0
Регистрация: 10.12.2015
Сообщений: 18
|
|
| 09.03.2016, 17:22 | |
|
ndbn, не знаю что "не то" я получил, но гис жкх с ним работал. Оказалось 3 месяца а не 2. см. аттач.
0
|
|
|
10 / 10 / 0
Регистрация: 29.02.2016
Сообщений: 45
|
|
| 09.03.2016, 17:38 | |
|
0
|
|
|
13 / 13 / 0
Регистрация: 25.01.2016
Сообщений: 38
|
||
| 10.03.2016, 07:04 | ||
|
0
|
||
|
0 / 0 / 0
Регистрация: 04.03.2016
Сообщений: 2
|
|
| 11.03.2016, 14:30 | |
|
Привет всем. Подписывать научился. Использую, как и многие здесь библиотеку "XAdES Starter Kit for Microsoft .NET 3.5 (and above) 2010 Microsoft France". За основу брал этот https://github.com/springjazzy проект.
Сейчас встал вопрос проверки подписи. Пытаюсь вызвать XadesSignedXml.CheckSignature(). Получаю всегда false. Но при этом ГИС принимает этот пакет и корректно отвечает на него, т.е. подпись 100% корректная в запросе. Кто как проверяет подпись, если конечно кто-нибудь вообще ее проверяет? И вообще в этой ветке никто ни разу не упомянул о проверке подписи. Проверяет ли кто-нибудь подпись в ответах от ГИС?
0
|
|
|
2 / 1 / 0
Регистрация: 11.03.2016
Сообщений: 7
|
|
| 11.03.2016, 15:33 | |
|
Всё просто - я не делал эту функциональность. Мне была не нужна.
0
|
|
|
0 / 0 / 0
Регистрация: 04.03.2016
Сообщений: 2
|
|
| 11.03.2016, 19:19 | |
|
springjazzy, спасибо, ваш проект полезный и очень помог сэкономить время.
Но тема ветки "Интеграция с ГИС ЖКХ. Подпись SOAP ...". Поэтому логично не только подписывать свой запрос, но и проверять подпись в ответе. Нашел вот такое http://cpdn.cryptopro.ru/conte... ovider.htm, планирую порыть в эту сторону, на первый взгляд это именно то, что нужно.
0
|
|
|
2 / 1 / 0
Регистрация: 11.03.2016
Сообщений: 7
|
|
| 11.03.2016, 21:58 | |
|
Ok. Только в ГИС каноникализация хитрая - мне пришлось ее переделывать. В XAdES изначальном по другому было сделано. Можете посмотреть историю моих коммитов - особенно метод GetC14NDigest.
Кстати, кто-нить едет в белокаменную 16 марта на конференцию по ГИС? Можно было бы пообщаться, узнать как у кого дела идут.
0
|
|
|
10 / 10 / 0
Регистрация: 29.02.2016
Сообщений: 45
|
|
| 11.03.2016, 23:02 | |
|
0
|
|
| 11.03.2016, 23:02 | |
|
.NET 4.x Интеграция с ГИС ЖКХ. Подпись SOAP и защита канала по ГОСТ (2) Интеграция с ГИС ЖКХ и подпись SOAP без Крипто .NET и stunnel Soap, Java, Гис ЖКХ
Интеграция с ГИС ЖКХ (ГЖ). 400 Bad request Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Калькулятор для расчета родства
russiannick 07.08.2026
1. Задача: Создать калькулятор для расчета родства.
Родственных связей существует 8 ступеней, такие как:
p - отец
P - мать
q - муж
Q - жена
b - брат
B - сестра
s - сын
S - дочь
|
Мир по моей воле
kumehtar 07.08.2026
Когда-то кажется, что всё просто. Ты весь такой светлый. Причиняешь добро. Борешься за справедливость в этом тёмном мире.
Потом начинаешь замечать одну неприятную вещь. Почти каждый хороший. . .
|
Кредитный калькулятор
Maks 05.08.2026
Решение задачи по прикладной информатике средствами 1С.
Задача:
Напишите приложение-калькулятор, которое помогает рассчитывать параметры кредита для аннуитетного и дифференцированного видов. . .
|
У нас сейчас поговорку "Опять 25" нужно переделать на "Опять +35".
kumehtar 04.08.2026
С ностальгией вспоминаю времена моего детства, когда у нас и правда +25 - была максимальная температура летом. Раньше +25 °C реально казались вершиной жары, когда можно было весь день пропадать на. . .
|
|
Как ИИ начал спорить и врать (возможно почуяв опасность для себя от индустрии - уход от электроники).
Hrethgir 04.08.2026
Недельный диалог, на фоне событий с НПЗ. Да, из спирта можно получать бензин, и это не сложно. Но потом в схеме я решил избавиться от насоса, при этом полностью сделав контроль подачи спирта в. . .
|
Термопринтер QR701
Argus19 03.08.2026
Термопринтер QR701
Купил два термопринтера QR701.
На сэлф-тесте написано:
Language: PC936 (GB18030).
Что означает, что принтеры могут печатать только латиницу и китайские иероглифы. Так же. . .
|
Создание формы заимствованного документа
Maks 03.08.2026
Задача:
Необходимо создать собственную форму заимствованного документа. На форме должен быть реквизит "Покупатель", а также
табличная часть со следующими реквизитами:
- Расчетный счет покупателя. . .
|
Задача предоставления скидок покупателям
Maks 03.08.2026
Задача:
В документе "Продажи" необходимо реализовать функционал предоставления скидок покупателям. Скидка должна автоматически рассчитываться и подставляться в соответствующее поле при выборе. . .
|