1 / 1 / 0
Регистрация: 16.12.2015
Сообщений: 1
|
||||||||||||||||
1 | ||||||||||||||||
.NET 4.x Интеграция с ГИС ЖКХ. Подпись SOAP и защита канала по ГОСТ16.12.2015, 11:46. Показов 153793. Ответов 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) .NET 4.x Интеграция с ГИС ЖКХ. Подпись SOAP и защита канала по ГОСТ (2) |
1 / 1 / 0
Регистрация: 11.11.2009
Сообщений: 15
|
|
18.12.2015, 16:40 | 2 |
А оператору ГИС ЖКХ был отправлен сертификат ваш? ну в смысле если нет, то он наверное и не должен пройти проверку. Ну так, предположение типа пальцем в небо... Тоже начинаю разбираться с интеграцией ГИС ЖКХ
что-нибудь из этой ветки пробовали для создания подписи? https://www.cryptopro.ru/forum... sts&t=6356 - Eldos SecureBlackbox (https://www.eldos.com/sbb/desc-xml-spec.php). - https://xadesnet.codeplex.com/ - http://www.microsoft.com...ero... xades.aspx думаю какой-то из этих компонентов даст ответ на вопрос 1) 2) Никак, нужно использовать что-то ещё. пишут "Своих реализаций мы не делали" Добавлено через 5 минут Да, если получится вдруг, то дайте знать. я тоже отпишусь если получу рабочий результат раньше
0
|
2 / 2 / 0
Регистрация: 22.12.2015
Сообщений: 29
|
|
22.12.2015, 12:57 | 3 |
tajmahalrus, Вы не подскажете как установили туннель МагКрипто ? Там нужно сертификаты экспортировать как-то?
0
|
1 / 1 / 0
Регистрация: 11.11.2009
Сообщений: 15
|
|
22.12.2015, 13:20 | 4 |
http://dom.gosuslugi.ru/#/regulations
"Регламент и форматы информационного взаимодействия внешних информационных систем с ГИС ЖКХ (v.7.2.0.1)" "Методические рекомендации по работе с СИТ v.7.1.0.2" Там есть подробная инструкция как экспортировать сертификат и создавать туннель
0
|
2 / 2 / 0
Регистрация: 22.12.2015
Сообщений: 29
|
|
22.12.2015, 13:23 | 5 |
Спасибо, я читал. Проблема вот в чем - ключ и сертификат был создан до меня, и закрытый ключ хранится на рутокене...а с него не экспортировать в файл pfx, так как при генерации выставили запрет на экспорт. Теперь новый сертификат делать?
0
|
1 / 1 / 0
Регистрация: 11.11.2009
Сообщений: 15
|
|
22.12.2015, 17:27 | 6 |
По идее тестовый стенд должен пустить с любым ГОСТовым сертификатом, но проблема в том, что подписывать нужно именно тем, который был передан оператору ГИС ЖКХ для регистрации. Т.е. видимо новый нужно создать и передать для регистрации. Но я вообще пока не вкурил до конца как правильно работать с этим куском золота...
1
|
2 / 2 / 0
Регистрация: 22.12.2015
Сообщений: 29
|
|
23.12.2015, 13:24 | 7 |
Я тут прочитал, что МагКрипто должен поддерживать токен - вопрос где его прописать...
Добавлено через 5 часов 25 минут Нет, техподдержка КриптоКом сообщила, если Рутокен сгенериван не с помощью их системы, поднять туннель в данном случае не получится.
0
|
0 / 0 / 0
Регистрация: 24.12.2015
Сообщений: 3
|
|
24.12.2015, 11:30 | 8 |
Здравствуйте! Подскажите пожалуйста откуда можно взять <SenderID>?
0
|
1 / 1 / 0
Регистрация: 11.11.2009
Сообщений: 15
|
|
24.12.2015, 11:46 | 9 |
Да, я тоже дошёл до точки, когда сервис ругается на неправильный SenderID. Причём нигде в доках его нет.
написал обращение в службу поддержки 2 дня назад. http://dom.gosuslugi.ru/support-cabinet/#/support До сих пор глухо
0
|
2 / 2 / 0
Регистрация: 22.12.2015
Сообщений: 29
|
|
24.12.2015, 11:48 | 10 |
Аналогично В смысле глухоты ответа...
0
|
1 / 1 / 0
Регистрация: 11.11.2009
Сообщений: 15
|
|
24.12.2015, 13:03 | 11 |
если есть прошедшие авторизацию ГИС ЖКХ, то можете на их форуме задать вопрос
http://dom.gosuslugi.ru/forum/#/main я не могу Добавлено через 24 минуты предлагаю покопать пока в направлении 2.1.3.4 Экспорт сведений о поставщиках информации ИС (exportDataProvider). Операция позволяет получить коды организаций (см. exportOrgRegistry), связанные с информационной системой (в т.ч. неактивные) и ключ поставщика данных. это я так понимаю сервис обмена сведениями о поставщиках информации https://54.76.42.99:60045/ext-... rgRegistry может тут можно получить SenderID
0
|
6 / 6 / 0
Регистрация: 24.12.2015
Сообщений: 41
|
|
24.12.2015, 13:20 | 12 |
SenderID можно получить методом importDataProvider
0
|
0 / 0 / 0
Регистрация: 24.12.2015
Сообщений: 10
|
|
24.12.2015, 17:15 | 13 |
Может кто поделится схемой работы с ГИС?
К какому сервису надо обратиться в первую очередь, откуда получить какие параметры для того, чтобы всё взлетело... В регламентах указано, что получение SenderID происходит через сервис importDataProvider. Но у данного сервиса в обязательных параметрах такие поля как: DataProvider, TransportGUID. Читая описания типов этих переменных, никакой ясности не приходит, что именно надо в данных параметрах передать, точнее какой информацией их заполнить.
0
|
6 / 6 / 0
Регистрация: 24.12.2015
Сообщений: 41
|
|
25.12.2015, 08:57 | 14 |
Всё просто.
для начала нужно найти организацию(например по ОГРН) методом exportOrgRegistry. в ответ получите в теге orgRootEntityGUID, который собственно и нужно использовать в элементе orgRootEntityGUID метода importDataProvider. А TransportGUID - это, как ни странно, транспортный гуид, должен быть уникальным в пределах одного запроса. Это если отправляется сразу несколько orgRootEntityGUID, чтобы в ответе можно было сопоставить что к чему относится.
0
|
0 / 0 / 0
Регистрация: 24.12.2015
Сообщений: 10
|
|
25.12.2015, 09:49 | 15 |
Dr_Elvis, метод exportOrgRegistry по ОГРН выдает - INT002012 Нет объектов для экспорта.
Хотя в личном кабинете организация с указанным ОГРН существует.
0
|
6 / 6 / 0
Регистрация: 24.12.2015
Сообщений: 41
|
|
25.12.2015, 11:40 | 16 |
0
|
0 / 0 / 0
Регистрация: 24.12.2015
Сообщений: 10
|
|
25.12.2015, 11:50 | 17 |
Саппорт отвечает раз в три недели, а то и реже. По этому вопросу написали им, ждем ответа...
ОГРН - 1116027009702.
0
|
6 / 6 / 0
Регистрация: 24.12.2015
Сообщений: 41
|
|
25.12.2015, 11:58 | 18 |
норм возвращает данные
0
|
0 / 0 / 0
Регистрация: 24.12.2015
Сообщений: 10
|
|
25.12.2015, 12:07 | 19 |
На тестовом стенде проверяете?
Стоило пожаловаться, тех поддержка написала, что исправили ошибку Только вот в ответ на запрос по ОГРН получается такой же результат.
0
|
6 / 6 / 0
Регистрация: 24.12.2015
Сообщений: 41
|
|
25.12.2015, 12:23 | 20 |
да, на тестовом
0
|
25.12.2015, 12:23 | |
25.12.2015, 12:23 | |
Помогаю со студенческими работами здесь
20
Интеграция с ГИС ЖКХ и подпись SOAP без Крипто .NET и stunnel Soap, Java, Гис ЖКХ 1С и ГИС ЖКХ. Интеграция Интеграция с ГИС ЖКХ (ГЖ). 400 Bad request Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |