|
1 / 1 / 0
Регистрация: 16.12.2015
Сообщений: 1
|
||||||||||||||||
.NET 4.x Интеграция с ГИС ЖКХ. Подпись SOAP и защита канала по ГОСТ16.12.2015, 11:46. Показов 175174. Ответов 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 / 1
Регистрация: 17.01.2015
Сообщений: 15
|
||
| 17.03.2016, 06:00 | ||
|
0
|
||
|
2 / 1 / 0
Регистрация: 11.03.2016
Сообщений: 7
|
|
| 17.03.2016, 10:15 | |
|
>Планируешь доработать метод проверки подписи?
Что именно доработать? Отказаться от CryptoPro.NET - есть мысли как делать, пока времени по работе не хватает. >У меня предложение есть. Может организовать gitter на основе твоего репозитория? Можно да. Добавлено через 6 минут >Имеется в виду размещении долей собственности, а разве эти данные не Росреестр должен размещать? ЕГРП без персональных данных пользователя вряд ли сможет автоматически найти доли по дому. Косвенно на это указывает еще то, что они сказали, что если персональные данные не заполнены, то человек в личном кабинете не сможет найти свою собственность пока сам ее не найдет в поиске и потом свяжет себя с ней. Добавлено через 4 минуты Ланит выложил в открытый доступ версию подписи сообщения на Java - https://github.com/Good-Samaritan/signature-demo. Для работы требуется купить СКЗИ Trusted Java. Почему именно требуется - нет триального периода вообще.
0
|
|
|
0 / 0 / 0
Регистрация: 21.01.2016
Сообщений: 20
|
|||
| 17.03.2016, 11:16 | |||
|
0
|
|||
|
2 / 1 / 0
Регистрация: 11.03.2016
Сообщений: 7
|
||
| 17.03.2016, 11:22 | ||
|
0
|
||
|
0 / 0 / 0
Регистрация: 21.01.2016
Сообщений: 20
|
|
| 17.03.2016, 11:27 | |
|
lonely_tramp, Слышал, говорили что синхронные методы исключат, оставят только асинхронные. Было такое?
Добавлено через 1 минуту springjazzy, Да, с этим отдельная проблема) ну а на один дом? у меня выходила только проверка дома на 1 секунду обработки, а еще импорт после этого...
0
|
|
|
10 / 10 / 0
Регистрация: 29.02.2016
Сообщений: 45
|
|||||
| 17.03.2016, 11:36 | |||||
хотя не знаю что даетТам, на семинаре, не рассказывали о схеме работы?! На сайте есть список поставщиков информации, для каждого региона/области определён какой-нибудь орган, для нас - ГЖИ и не ясно как в итоге будет построена работа, от местных УК/ТСЖ в ГЖИ, а от них в ГИС или напрямую в ГИС, но тогда почему существует этот список поставщиков информации.
0
|
|||||
|
0 / 0 / 0
Регистрация: 10.12.2015
Сообщений: 18
|
||
| 17.03.2016, 11:42 | ||
|
springjazzy, gitter комнату может создать только владелец репозитория, ждем =)
0
|
||
|
2 / 1 / 0
Регистрация: 11.03.2016
Сообщений: 7
|
||||
| 17.03.2016, 11:49 | ||||
|
Добавлено через 5 минут Создал https://gitter.im/springjazzy/... share-link
1
|
||||
|
0 / 0 / 0
Регистрация: 19.07.2015
Сообщений: 1
|
|
| 22.03.2016, 07:12 | |
|
Можете поделиться информацией, как вы создавали экспорт ключа в формат pfx?
Есть ли решения обойтись без МагТуннеля?
0
|
|
|
6 / 6 / 0
Регистрация: 24.12.2015
Сообщений: 41
|
|
| 22.03.2016, 08:49 | |
|
shsa, Методические рекомендации, раздел 3, страница 8: Экспортировать сертификат, полученный для установления защищенного соединения с ГИС ЖКХ, в формат pfx. Для этого можно использовать утилиты наподобие P12FromGostCSP.
Для экспорта в pfx не нужен МагТуннель, он нужен для установки соединения(как один из вариантов), но лучше своё разработать.
0
|
|
|
1 / 1 / 0
Регистрация: 11.11.2009
Сообщений: 15
|
|
| 22.03.2016, 15:01 | |
|
у кого-нибудь есть работающий пример, который работает с текущим тестовым СИТ (8.6.0.6)?
Был на собрании в Ланит в прошлую среду, они обещали что в течении 2-3 недель появится две вещи - пример и библиотека на c# - отдельный багтрекер типа jira для программистов библиотека и пример будут с использованием криптотонеля магпро насколько я понял, свою реализацию соединения и подписи они делать не планируют.
0
|
|
|
0 / 0 / 0
Регистрация: 21.01.2016
Сообщений: 20
|
|
| 22.03.2016, 15:28 | |
|
regent, да у нас в треде и свой пример на шарпе есть уже, и библиотека для подписи ))
0
|
|
|
1 / 1 / 0
Регистрация: 11.11.2009
Сообщений: 15
|
|
| 22.03.2016, 15:54 | |
|
versh23, ты пример от Araney имеешь в виду?
У меня такая проблема подставил thingerprint своего сертификата в настройки и при попытке получить поставщика данных или список справочников получаю ошибку "Не удалось загрузить файл или сборку "GISGKHTest.XmlSerializers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" либо одну из их зависимостей. Не удается найти указанный файл." Возможно я криворукий и что-то делаю не так Подскажите пожалуйста если не очень трудно что именно не так
0
|
|
|
13 / 13 / 0
Регистрация: 25.01.2016
Сообщений: 38
|
|
| 22.03.2016, 15:58 | |
|
На компе должен стоять CryptoPro CSP, CryptoPro SDK и CryptoPro.NET
0
|
|
|
0 / 0 / 0
Регистрация: 21.01.2016
Сообщений: 20
|
|
| 22.03.2016, 16:06 | |
|
regent, попробуйте удалить папки сборки, bin, obj и пересобрать
И еще, прокси класс нужно будет заново сгенерировать, для новой версии и endpoint проверить
0
|
|
|
1 / 1 / 0
Регистрация: 11.11.2009
Сообщений: 15
|
|||
| 22.03.2016, 19:13 | |||
|
"C:\Program Files (x86)\Microsoft SDKs\Windows\v8.0A\bin\NETFX 4.0 Tools\svcutil" hcs-organizations-registry-service-8.6.0.6.wsdl hcs-nsi-service-8.6.0.6.wsdl *.xsd /async /n:*,dom.gosuslugi.schema.integration /edb /out:GKHService и процедуры btnSend_Click и btnNsiList_Click становятся нерабочие. Пытался найти соответствия. нашёл не всё Может кто-то пробовал недавно и есть рабочий пример получения хотябы чего-нибудь? Добавлено через 19 минут попытка получить Nsi приводит к ошибке Не удалось установить доверительные отношения для защищенного канала SSL/TLS с полномочиями "54.76.42.99:60045". Удалённый сертификат недействителен согласно проверке подлинности
0
|
|||
|
4 / 4 / 0
Регистрация: 17.02.2016
Сообщений: 13
|
|
| 23.03.2016, 01:59 | |
|
Выкладываю ранее размещенный тут матерым человечищем пример. Я его слегка подправил. Сейчас бьюсь над загрузкой устава, договора управления, дома. Но тестовые функции у меня работают. Я только добавил класс для работы с прокси-сервером. Надо поменять данные в app config и заменить отпечатки сертификата и пароль к нему.
Может потребоваться переустановить CryptoPro.Net.
3
|
|
|
4 / 4 / 0
Регистрация: 17.02.2016
Сообщений: 13
|
|
| 23.03.2016, 02:00 | |
|
Это уже с учетом 8.6.0.6
0
|
|
|
13 / 13 / 0
Регистрация: 25.01.2016
Сообщений: 38
|
||||||||||||||
| 23.03.2016, 07:01 | ||||||||||||||
Добавлено через 3 минуты
0
|
||||||||||||||
|
0 / 0 / 0
Регистрация: 23.03.2016
Сообщений: 1
|
||
| 23.03.2016, 10:16 | ||
|
0
|
||
| 23.03.2016, 10:16 | |
|
.NET 4.x Интеграция с ГИС ЖКХ. Подпись SOAP и защита канала по ГОСТ (2) Интеграция с ГИС ЖКХ и подпись SOAP без Крипто .NET и stunnel Soap, Java, Гис ЖКХ
Интеграция с ГИС ЖКХ (ГЖ). 400 Bad request Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Жизня: рисунок укладки багажа, сделанный клодом
anaschu 21.08.2026
Сделал 15 снимков, он по снимкам сделал схему.
|
Был там один разговор по поводу свободы в материальном мире.
kumehtar 19.08.2026
Суть: рассматривается живое существо, оказавшееся внутри довольно странной системы (этого мира) и пытающееся обустроить в ней свой кусок пространства.
Жизнь действительно предъявляет каждому. . .
|
Когда логика программы не спасает от человеческих ошибок
Maks 18.08.2026
В последнее время всё чаще и чаще сталкиваюсь с таким явлением, как абсолютная невнимательность (или глупость) пользователей. Проявляется это чаще всего на работе в коллективе. Допустим, человек с. . .
|
Лето уходит
kumehtar 17.08.2026
|
|
Мысли в слух
kumehtar 17.08.2026
Забавно, насколько сейчас стала доступна информация. Например о магии, духовном развитии, медитациях, и других подобных направлениях, ранее зачастую тайных, передаваемых от учителя к ученику. Хотя. . .
|
Перемещение строк из ТЧ в другой документ с учетом текущего пробега
Maks 17.08.2026
Реализация из решения ниже выполнена на примере нетипового документа "Автозапчасти", с ТЧ "Шины".
За основу взят алгоритм отсюда: https:/ / www. cyberforum. ru/ blogs/ 359708/ 10838. html
Задача: . . .
|
Саморегулирующийся социальный контракт для сервера cross-section.
Hrethgir 14.08.2026
С кодом конечно таких глубоких размышлений пока не было, впрочем я уже привык к алгоритмизации. Суть предмета записи: снова в диалоге с нейросетью (я взял пока себе ник для учётки админа - Rector). . . .
|
Часы электронные
Uhbif79 12.08.2026
Выкладываю программу часов. Программа позволяет:
1. Использовать системное время и дату,
2. Есть возможность вводить время и дату вручную.
3. Реализованы 2 будильника: начало и конец рабочего дня. . . .
|