|
1 / 1 / 0
Регистрация: 16.12.2015
Сообщений: 1
|
||||||||||||||||
.NET 4.x Интеграция с ГИС ЖКХ. Подпись SOAP и защита канала по ГОСТ16.12.2015, 11:46. Показов 177953. Ответов 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) |
|
0 / 0 / 0
Регистрация: 10.12.2015
Сообщений: 18
|
|
| 01.03.2016, 13:50 | |
|
У меня одного проблема с ними сейчас на СИТ?
Выдает "Зарегистрированная организация по SenderID не совпадает с зарегистрированной организацией, указанной в сертификате открытого ключа" даже на те запросы, где SenderID не предусмотрен. Например на NsiCommon.exportNsiItem или RegOrgCommon.exportOrgRegistry.
0
|
|
|
3 / 3 / 0
Регистрация: 11.02.2016
Сообщений: 17
|
||
| 01.03.2016, 14:06 | ||
|
Проверено - работает.
0
|
||
|
0 / 0 / 0
Регистрация: 10.12.2015
Сообщений: 18
|
||||||
| 01.03.2016, 14:26 | ||||||
|
Springer,
Если не подписывать сообщение, то выдает ошибку подписи. "Ошибка формата подписи запроса Элемент c Id 'signed-data-container' не подписан." Добавлено через 2 минуты Разобрался. Они тихо и молчком обновились без смены версии. Теперь если req.Id указан, то он автоматом ищет подпись. Если нет подписи - ругается. Если есть подпись - тоже ругается. Для этих сообщений нельзя указывать req.Id и соответственно подписывать их тоже нельзя.
0
|
||||||
|
3 / 3 / 1
Регистрация: 17.01.2015
Сообщений: 15
|
|
| 01.03.2016, 14:35 | |
|
Подскажите пожалуйста, как побороть ошибку "System.Security.Authentication.Authenti cationException: Удаленный сертификат недействителен согласно результатам проверки подлинности", получается сертификат сервера не проходит валидность?
0
|
|
|
3 / 3 / 0
Регистрация: 11.02.2016
Сообщений: 17
|
|||
| 01.03.2016, 14:54 | |||
|
Сейчас все сервисы позволяют работать без подписи (при пустом Id). А нигде не упоминается, станет ли в будущем подпись сообщения обязательной? Добавлено через 2 минуты
1
|
|||
|
0 / 0 / 0
Регистрация: 10.12.2015
Сообщений: 18
|
||
| 01.03.2016, 15:03 | ||
|
0
|
||
|
3 / 3 / 1
Регистрация: 17.01.2015
Сообщений: 15
|
||
| 01.03.2016, 15:18 | ||
|
0
|
||
|
3 / 3 / 0
Регистрация: 11.02.2016
Сообщений: 17
|
||
| 01.03.2016, 15:20 | ||
|
0
|
||
|
0 / 0 / 0
Регистрация: 10.12.2015
Сообщений: 18
|
||
| 01.03.2016, 15:37 | ||
|
Вывод: не надо указывать атрибут Id у подписываемого элемента и подписывать его тоже не надо, в сообщениях где подпись не обязательна.
0
|
||
|
4 / 4 / 0
Регистрация: 17.02.2016
Сообщений: 13
|
||||||
| 02.03.2016, 10:12 | ||||||
|
Velocity_, Добрый день. Только включаюсь в работу с гис жкх.
1. Установил stunnel. stunnel.conf: verify=2 client=yes CAFile=..\crypto\CA-SIT.pem cert=..\crypto\test.pem key=..\crypto\test.key engine=cryptocom engineCtrl=RNG:PROGRAM engineCtrl=RNG_PARAMS:seed error_image=error.png usb_eject=yes ;output=stunnel.log sslVersion=TLSv1 taskbar=yes cert_warn_days=30 EBUG=7[pseudo-https] protocol = http accept = 127.0.0.1:8080 connect = 54.76.42.99:60045 ciphers = GOST2001-GOST89-GOST89 TIMEOUTclose = 0 2. Скачал Soap UI 5.2.1 3. New Soap Project->Add WSDL->Выбрал hcs-organizations-registry-common-service-8.6.0.4.wsdl с опций CrreateRequests 4. В exportOrgRegistry в Request1 указал
6.Endpoint https://127.0.0.1:8080/ext-bus... gRegistry/ 7.Выполнить И ничего. Вернее ошибка 400. Как вам удалось получить ответ от системы ?
0
|
||||||
|
3 / 3 / 0
Регистрация: 28.09.2011
Сообщений: 9
|
|||||||||||
| 02.03.2016, 12:32 | |||||||||||
|
Изменил в адресе https на http. Запрос прошел, но ответ с ошибкой:
Поле с датой неправильно скопировалось, но все равно в вашем запросе есть ошибка в поле MessageGUID - в последней группе символов должно быть 12 символов. С исправленным запросом получил ответ:
1
|
|||||||||||
|
13 / 13 / 0
Регистрация: 25.01.2016
Сообщений: 38
|
|
| 02.03.2016, 17:55 | |
|
lonely_tramp, У меня с подписью проходит с указанием req.Id, если подписываю сертификатом ИС (транспортным)
1
|
|
|
4 / 4 / 0
Регистрация: 17.02.2016
Сообщений: 13
|
|||||||||||
| 03.03.2016, 01:53 | |||||||||||
|
zevs151, Ффух, поправил как вы сказали - получил ответ с ошибкой ! Ну наконец-то. Хоть какое-то начало. Спасибо огромное ! Полез копаться дальше.
0
|
|||||||||||
|
3 / 3 / 0
Регистрация: 28.09.2011
Сообщений: 9
|
||||||
| 03.03.2016, 05:39 | ||||||
|
Spun80, у вас опять ошибка в MessageGUID, передавайте такой заголовок:
1
|
||||||
|
4 / 4 / 0
Регистрация: 17.02.2016
Сообщений: 13
|
||||||||||||||||
| 03.03.2016, 08:56 | ||||||||||||||||
|
zevs151, Спасибо, попробовал ваш вариант - работает ! Начал гуглить документацию про javax.xml.datatype.DatatypeFactory и java.util
Добавлено через 2 минуты Рабочий вариант exportOrgRegistry http://127.0.0.1:8080/ext-bus-... stryCommon
exportDataProvider
importDataProvider
0
|
||||||||||||||||
|
0 / 0 / 0
Регистрация: 10.12.2015
Сообщений: 18
|
||
| 03.03.2016, 09:38 | ||
|
1. Подпись сообщения происходит сертификатом организации-поставщика информации. Сверка идет по SenderId, ОРГН из открытой части сертификата и др. параметрам. Подробная таблица проверок находится в документе Методические рекомендации по работе с СИТ п. 4. 2.Шифрование https происходит по данным открытой части сертификата который был отправлен в месте с заявкой на СИТ. Если разработка идет для одной организации, то сертификат может быть один и тот же. Если проект рассчитан на 1+ организацию, то для шифрования можно использовать один и тот же сертификат, а подпись сообщений каждая организация должна производить собственным сертификатом. Поправьте, если я ошибаюсь.
0
|
||
|
3 / 3 / 0
Регистрация: 28.09.2011
Сообщений: 9
|
|
| 03.03.2016, 09:53 | |
|
"Если проект рассчитан на 1+ организацию, то для шифрования можно использовать один и тот же сертификат, а подпись сообщений каждая организация должна производить собственным сертификатом."
Вроде обещали сделать отдельный сертификат для организаций обслуживающих несколько организаций, точно не помню, но узнал отсюда https://www.youtube.com/watch?v=fE5-pqrlxDQ (ближе к концу видео, сейчас нет возможности найти точное место)
0
|
|
|
3 / 3 / 0
Регистрация: 11.02.2016
Сообщений: 17
|
||
| 03.03.2016, 10:17 | ||
|
http://publication.pravo.gov.r... 1602240025
0
|
||
|
0 / 0 / 0
Регистрация: 03.03.2016
Сообщений: 5
|
|
| 03.03.2016, 11:12 | |
|
Подскажите, тоже нужно в 1С делать интеграцию, похожий механизм используется в типовой БГУ 2.0 (Модуль ГосУслуги) но там для подписи сообщений используется внешняя компонента. Вам удалось подписывать сообщения без ее использования?
0
|
|
|
3 / 3 / 0
Регистрация: 28.09.2011
Сообщений: 9
|
||
| 03.03.2016, 11:56 | ||
|
0
|
||
| 03.03.2016, 11:56 | |
|
.NET 4.x Интеграция с ГИС ЖКХ. Подпись SOAP и защита канала по ГОСТ (2) Интеграция с ГИС ЖКХ и подпись SOAP без Крипто .NET и stunnel Soap, Java, Гис ЖКХ
Интеграция с ГИС ЖКХ (ГЖ). 400 Bad request Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Nekobox - outbounds[0].transport: unknown transport type: raw
damix 01.10.2026
Фикс ошибки
Правым кликом по серверу -> отладочная информация -> edit
Заменить "net": "raw", на "net": "tcp",
Нажать кнопку reload.
|
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js.
В помощники взял Яндекс-Алису.
Было создано три зала на разные интересы.
исторические и ретро
сериал Хичкок. . .
|
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
|
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#.
Название изменил на ColorStep.
Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
|
|
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами:
- ВидТО (СправочникСсылка. ВидыТО);
- ВидГСМ. . .
|
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала.
Ниже прикреплён. . .
|
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F
Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU.
Опрашиваются регистры. . .
|
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка:
Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
|