|
1 / 1 / 0
Регистрация: 16.12.2015
Сообщений: 1
|
||||||||||||||||
.NET 4.x Интеграция с ГИС ЖКХ. Подпись SOAP и защита канала по ГОСТ16.12.2015, 11:46. Показов 174906. Ответов 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) |
|
1 / 1 / 2
Регистрация: 26.05.2013
Сообщений: 24
|
|
| 10.05.2016, 11:14 | |
|
Доброго времени суток.
У кого нибудь получилось добавлять дома, подъезды, квартиры при помощи инструментов предоставляемыми гис жкх? Если таковые имеются - поделитесь, пожалуйста, вашими наработками.
0
|
|
|
67 / 58 / 1
Регистрация: 01.04.2016
Сообщений: 346
|
|
| 11.05.2016, 13:05 | |
|
Со вчерашнего дня с тестового сервера на все запросы стал получать ошибку FMT001300 - Некорректный XML. Это я что-то не так делаю или у всех так?
0
|
|
|
1 / 1 / 1
Регистрация: 23.03.2016
Сообщений: 20
|
|
| 11.05.2016, 15:35 | |
|
[soap:Server] AUT011008: Поставщик данных SenderID=9875cc2e-73f9-41d6-bceb-47b48ed23395 не найден или не актуальный
Кто сталкивался при добавлении ДУ и домов?
0
|
|
|
0 / 0 / 0
Регистрация: 13.11.2012
Сообщений: 61
|
|
| 11.05.2016, 15:46 | |
|
0
|
|
|
13 / 11 / 0
Регистрация: 05.02.2016
Сообщений: 79
|
|
| 12.05.2016, 13:53 | |
|
0
|
|
|
67 / 58 / 1
Регистрация: 01.04.2016
Сообщений: 346
|
||
| 12.05.2016, 14:10 | ||
|
Непонятно, в чем проблема. Точнее говоря, предполагаю, что проблема в руках писателей из Ланита, но нет мыслей как ее обойти - в ответе сервера нет никакой информации, что именно ему не нравится.
0
|
||
|
6 / 6 / 0
Регистрация: 24.12.2015
Сообщений: 41
|
|
| 12.05.2016, 14:13 | |
|
hhmm, напишите пример запроса
0
|
|
|
67 / 58 / 1
Регистрация: 01.04.2016
Сообщений: 346
|
|
| 12.05.2016, 14:36 | |
|
0
|
|
|
6 / 6 / 0
Регистрация: 24.12.2015
Сообщений: 41
|
||||||
| 12.05.2016, 14:45 | ||||||
|
hhmm, лишнее:
1
|
||||||
|
67 / 58 / 1
Регистрация: 01.04.2016
Сообщений: 346
|
|||||||
| 12.05.2016, 15:41 | |||||||
|
У меня находится в каталоге "C:\Program Files\Microsoft SDKs\Windows\v6.0A\Bin". Эта утилита позволяет смотреть (при помощи ведения лога специального формата) как SOAP сообщения перемещаются от клиента к серверу и обратно. Лог включается в файле конфигурации приложения следующим образом (пример нашел в интернете):
Для того, чтобы записать этот трейс, Visual Studio внедряет в биндинги запроса еще одну привязку (это видно в отладчике) и, судя по всему, дописывает в заголовок сообщения свой идентификатор отправляемого сообщения в ActivityId.
1
|
|||||||
|
6 / 6 / 0
Регистрация: 24.12.2015
Сообщений: 41
|
|
| 12.05.2016, 17:19 | |
|
hhmm, убирайте этот тег перед отправкой и должно быть счастье. я отправил Ваш запрос без этого тега - всё ок
0
|
|
|
476 / 239 / 114
Регистрация: 12.05.2016
Сообщений: 647
|
|
| 12.05.2016, 21:06 | |
|
Коллеги, прочитал все 19 страниц темы.
Есть один глупый вопрос: где брать НЕ тестовый транспортный сертификат для защиты канала ? ЭЦП получили для организации, лицензии на КриптоПро CSP и КриптоПро .NET закупили. Всё настроили через "MagPro Криптотуннель" , работает. Но транспортный сертификат до сих пор используем тестовый, ибо в методичке описан процесс только для получения тестового сертификата. Что нужно сделать по шагам? Допустим, "позвонить в КриптоПро и спросить у них: " ЧТО спросить? Сколько стоит транспортный сертификат для ГисЖКХ ?? У меня не хватает квалификации в этих самых криптозащитах, чтобы сформулировать, что мне надо конкретно
0
|
|
|
67 / 58 / 1
Регистрация: 01.04.2016
Сообщений: 346
|
|||||||
| 12.05.2016, 21:58 | |||||||
|
А мысль следующая: я посмотрел, когда появляется этот тег ActivityId - так вот, он появляется в XML документе до того, как я его подписываю. Таким образом, в Ланит отправляется документ с этой вставкой отладчика в заголовке подписанный как единое целое. И xml документ - правильный. А вот ответ сервера - Некорректный XML отражает лишь мнение одного из разработчиков Ланита, который почему-то решил, что если в заголовке есть теги которых он не знает и не понимает, то заголовок - неправильный. Ведь проблема у Ланита с разбором заголовка:
Но теперь, к сожалению, этим инструментом воспользоваться не удастся
0
|
|||||||
|
67 / 58 / 1
Регистрация: 01.04.2016
Сообщений: 346
|
||
| 12.05.2016, 22:08 | ||
|
Первым шагом вам нужно извлечь закрытый ключ и поместить его в контейнер (это такой специальный файл) с расширением pfx. Инструкция как это сделать, если я не ошибаюсь, у КриптоПро есть, если нет то где нибудь найдете в интернете. Второй шаг описан в документе Методические рекомендации по работе с СИТ в разделе 3. Создание соединения с алгоритмом шифрования ГОСТ Р 34.10-2001.. Действуйте начиная с пункта 3 этого раздела, только вместо тестового ключа используйте ваш, настоящий.
1
|
||
|
476 / 239 / 114
Регистрация: 12.05.2016
Сообщений: 647
|
||
| 12.05.2016, 22:52 | ||
Расковыривание сертификата, для прикрепления к заявке на регистрацию в ГисЖКХ я уже проходил, надеюсь справимся и второй раз. Просто неочевидно было, что ЭЦП это и есть сертификат, и какого-то отдельного "транспортного сертификата" не требуется.
0
|
||
|
187 / 100 / 19
Регистрация: 15.09.2011
Сообщений: 801
|
|||
| 13.05.2016, 07:41 | |||
|
Много времени не мог зайти на форум, так рвался помочь Вам с незаменимым инструментом, который поможет Вам в отладке. Этот инструмент может даже дешифровать HTTPS = поэтому я его ставлю как прокси, через который моя студия посылает https запросы в обход криптотуннеля.
Этот инструмент - https://www.telerik.com/download/fiddler Вёб отладчик - он лучший в своём роде, особенно при взломе сайтов и отладке любых запросов - ответов. Его логи я отправляю на ГИС ЖКХ и мне не задают глупых уточняющих вопросов. Качайте, разбирайтесь - убедитесь сами, что он лучший. Добавлено через 36 минут
0
|
|||
|
0 / 0 / 0
Регистрация: 20.01.2016
Сообщений: 36
|
|
| 13.05.2016, 08:13 | |
|
у кого-нибудь есть пример xml метода importAccountData, как заполняются поля "Closed" (Счет закрыт), "PremisesGUID" (Идентификатор помещения) и "PayerInfo" (Сведения о плательщике). Идентификатор помещения - это наш идентификатор? Справочники нужно загружать или нет?
0
|
|
|
67 / 58 / 1
Регистрация: 01.04.2016
Сообщений: 346
|
||
| 13.05.2016, 10:15 | ||
|
Этот служебный заголовок в начале этой недели наши 'партнеры' из Ланита (очень хорошее и емкое слово которое употребляет наш министр иностранных дел Сергей Викторович Лавров) стали считать ошибкой и выдавать FMT001300 - Некорректный XML. На самом деле этот лог был бы удобен в следующих ситуациях: предположим, в вашего удаленного клиента что-то пошло не так. Отправляете ему эту вставку в файл конфигурации приложения, просите понажимать кнопки, в лог пишется все общение клиента с сервером. Просите прислать лог, сидите и рассматриваете его.
0
|
||
|
6 / 6 / 0
Регистрация: 24.12.2015
Сообщений: 41
|
||||||||||||
| 13.05.2016, 10:24 | ||||||||||||
0
|
||||||||||||
|
476 / 239 / 114
Регистрация: 12.05.2016
Сообщений: 647
|
|||||||
| 13.05.2016, 10:59 | |||||||
|
Как-то так:
0
|
|||||||
| 13.05.2016, 10:59 | |
|
.NET 4.x Интеграция с ГИС ЖКХ. Подпись SOAP и защита канала по ГОСТ (2) Интеграция с ГИС ЖКХ и подпись SOAP без Крипто .NET и stunnel Soap, Java, Гис ЖКХ
Интеграция с ГИС ЖКХ (ГЖ). 400 Bad request Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Саморегулирующийся социальный контракт для сервера cross-section.
Hrethgir 14.08.2026
С кодом конечно таких глубоких размышлений пока не было, впрочем я уже привык к алгоритмизации. Суть предмета записи: снова в диалоге с нейросетью (я взял пока себе ник для учётки админа - Rector). . . .
|
Часы электронные
Uhbif79 12.08.2026
Выкладываю программу часов. Программа позволяет:
1. Использовать системное время и дату,
2. Есть возможность вводить время и дату вручную.
3. Реализованы 2 будильника: начало и конец рабочего дня. . . .
|
Часы с будильником на основе класса QLCDNumber
Uhbif79 12.08.2026
Всем добрый день, выкладываю программу часов с будильником на основе класса QLCDNumber.
Здесь я пробовал самостоятельно создавал классы, впервые столкнулся с видимостью переменной одного класса из. . .
|
Установка MinGW GCC 16.2 и CMake
8Observer8 10.08.2026
VK Видео:
https:/ / vkvideo. ru/ video-240781534_456239017
YouTube:
eY5-5PyI9NM
Текстовая версия
|
|
Неделя из жизни имитационной модели склада: мои кривые руки растут, откуда надо
anaschu 10.08.2026
Неделя из жизни имитационной модели склада: как я почти написал неправильную логику и что с этим делать
Работаю сейчас над учебно-рабочим проектом: строю в AnyLogic имитационную модель процессов. . .
|
Калькулятор для расчета родства
russiannick 07.08.2026
1. Задача: Создать калькулятор для расчета родства.
Родственных связей существует 8 ступеней, такие как:
p - отец
P - мать
q - муж
Q - жена
b - брат
B - сестра
s - сын
S - дочь
|
Мир по моей воле
kumehtar 07.08.2026
Когда-то кажется, что всё просто. Ты весь такой светлый. Причиняешь добро. Борешься за справедливость в этом тёмном мире.
Потом начинаешь замечать одну неприятную вещь. Почти каждый хороший. . .
|
Кредитный калькулятор
Maks 05.08.2026
Решение задачи по прикладной информатике средствами 1С.
Задача:
Напишите приложение-калькулятор, которое помогает рассчитывать параметры кредита для аннуитетного и дифференцированного видов. . .
|