|
1 / 1 / 0
Регистрация: 16.12.2015
Сообщений: 1
|
||||||||||||||||
.NET 4.x Интеграция с ГИС ЖКХ. Подпись SOAP и защита канала по ГОСТ16.12.2015, 11:46. Показов 175167. Ответов 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) |
|
187 / 100 / 19
Регистрация: 15.09.2011
Сообщений: 801
|
||
| 19.05.2016, 12:03 | ||
|
0
|
||
|
67 / 58 / 1
Регистрация: 01.04.2016
Сообщений: 346
|
||
| 19.05.2016, 12:17 | ||
|
Вот когда дойду до загрузки начислений в асинхронном режиме - тогда и буду страдать.
0
|
||
|
0 / 0 / 0
Регистрация: 20.01.2016
Сообщений: 36
|
|
| 19.05.2016, 12:48 | |
|
hhmm, ты ЛС грузил? если да сколько передаешь ЛС за 1 запрос?
0
|
|
|
0 / 0 / 0
Регистрация: 27.01.2016
Сообщений: 9
|
|||||||
| 19.05.2016, 13:29 | |||||||
Хотя, возможно, студия оборачивает синхронный запрос в таск.
0
|
|||||||
|
67 / 58 / 1
Регистрация: 01.04.2016
Сообщений: 346
|
|||
| 19.05.2016, 14:20 | |||
|
Лицевые пока решено пропихивать через файлы Excel, этим занимается другой человек. Вроде как у него получилось пропихнуть часть лицевых. Я ковыряюсь с web-сервисами. Потом мы наши результаты женим между собой.
0
|
|||
|
0 / 0 / 0
Регистрация: 20.01.2016
Сообщений: 36
|
|
| 19.05.2016, 15:04 | |
|
мы тоже сразу по двум направлениям работаем, как ты правильно сказал, посмотрим, что будет работать лучше!
0
|
|
|
13 / 11 / 0
Регистрация: 05.02.2016
Сообщений: 79
|
|
| 19.05.2016, 15:35 | |
|
trawinka, тоже вчера отправил заявку. Пока нет ответа. Звонил в поддержку ГИСа, они вообще не знают об этом сервисе.
0
|
|
|
187 / 100 / 19
Регистрация: 15.09.2011
Сообщений: 801
|
||
| 19.05.2016, 15:41 | ||
|
0
|
||
|
0 / 0 / 0
Регистрация: 19.05.2016
Сообщений: 26
|
|
| 19.05.2016, 17:16 | |
|
Здравствуйте! Кто знает, нормально ли, что если в ds:X509IssuerName (xades:SignedProperties/.../ds:X509IssuerName) стоит атрибут E, сервис выдает внутреннюю ошибку: "Unknown object id - E - passed to distinguished name"? Имя формирую с помощью BouncyCastle.
0
|
|
|
6 / 6 / 0
Регистрация: 24.12.2015
Сообщений: 41
|
|
| 19.05.2016, 17:28 | |
|
loot hoarder, E - это email? используйте 1.2.840.113549.1.9.1
1
|
|
|
0 / 0 / 0
Регистрация: 19.05.2016
Сообщений: 26
|
|
| 19.05.2016, 17:45 | |
|
Dr_Elvis, спасибо. А из-за чего может быть такая ошибка. Делаю запрос exportDataProvider к 54.76.42.99:60046 по http. Подписываю нетестовым сертификатом заказчика, который закреплен за нашей ИС (отправляли заявку), но в ответе получаю "ЭП не прошла проверку: Cannot find any certificates referenced by xades:SigningCertificate". В ds:X509IssuerName Е поменял на цифровой код.
0
|
|
|
6 / 6 / 0
Регистрация: 24.12.2015
Сообщений: 41
|
|
| 19.05.2016, 17:58 | |
|
loot hoarder, Либо подпись не верно сформирована, либо подпись не соответствует поставщику информации, либо(если используется сертификат ИС) не проставлен IsOperatorSighnature. Вариантов может быть несколько. Лучше привести пример запроса и ответа полностью.
0
|
|
|
13 / 11 / 0
Регистрация: 05.02.2016
Сообщений: 79
|
|||||||||||
| 19.05.2016, 18:23 | |||||||||||
|
Доброго времени суток. Пытаюсь организовать подключение к тестовому стенду c использованием Рутокен ЭЦП флеш. Создал криптотунель через Stunnel. Подписываю сообщение с помощью слегка измененной библиотеки Xades-master. Ответ приходит с ошибкой: ЭП не прошла проверку: Certificate is not trusted. Подскажите, с чем это может быть связано?
Подписанное сообщение
0
|
|||||||||||
|
67 / 58 / 1
Регистрация: 01.04.2016
Сообщений: 346
|
||
| 19.05.2016, 19:42 | ||
|
Но, по косвенным признакам, таким как ответ сервера и кусочку адреса uec-ro.ru в вашем запросе можно предположить, что ваш удостоверяющий центр бросил свой домен uec-ro.ru и сервер при проверке цепочек доверия прописанных в вашем сертификате не может проверить подлинность выдавшего вам ключ удостоверяющего центра. Если перейти по адресу http://www.uec-ro.ru то там написано, что Наш сайт переехал.
0
|
||
|
0 / 0 / 0
Регистрация: 19.05.2016
Сообщений: 26
|
|||||||||||
| 20.05.2016, 09:07 | |||||||||||
|
Dr_Elvis,
Запрос
0
|
|||||||||||
|
13 / 11 / 0
Регистрация: 05.02.2016
Сообщений: 79
|
||||||||
| 20.05.2016, 10:05 | ||||||||
|
Вот открытая часть нашего сертификата:
loot hoarder, вот у человека аналогичная проблема была https://www.cryptopro.ru/forum... sts&t=9990 "Действительно, IssuerName. Экранирование в C# происходит не так, как ожидает веб-сервис ГИСа на Java."
0
|
||||||||
|
0 / 0 / 0
Регистрация: 19.05.2016
Сообщений: 26
|
|
| 20.05.2016, 10:21 | |
|
miron_valentin, да, я читал это, но там сошлись на том, что нужно использовать BouncyCastle.Crypto.dll, что я и делаю.
0
|
|
|
67 / 58 / 1
Регистрация: 01.04.2016
Сообщений: 346
|
||
| 20.05.2016, 10:37 | ||
|
Как я понимаю, в сертификате издатели сертификата могут внедрять разные url по которым сервер, если захочет, может проверять сертификаты, например по т.н. CRL (Certificate Revocation List - списки отзыва сертификатов) чтобы удостовериться, что сертификат не отозван удостоверяющим центром по заявлению владельца (в случае компроментации ключа). Может быть часть url стала недоступной.
0
|
||
|
187 / 100 / 19
Регистрация: 15.09.2011
Сообщений: 801
|
|
| 20.05.2016, 11:38 | |
|
miron_valentin, сам головной сертификат получается без проблем по ссылке http://www.uec-ro.ru/ca/gau ro rcis.cer.
Возможно, Ваш издатель не входит в список аккредитованных УЦ (http://e-trust.gosuslugi.ru/), с которыми работает ГИС ЖКХ или не хватает класса безопасности сертификата (методические рекомендации). Работайте пока с тестовым, и задайте лучше вопрос техподдержке - что гадать, да ходить вокруг да около. И, наверняка, даже если он не подходит - они даже не проверяли Ваш как и мой - тоже воткнули тупо на СИТ и отписались, что всё сделано.
0
|
|
|
67 / 58 / 1
Регистрация: 01.04.2016
Сообщений: 346
|
||
| 20.05.2016, 11:45 | ||
|
а потом, когда срок тестового истек, решили зарегистрировать настоящий сертификат. И тут в ГИС ЖКХ все начало расползаться. Регистрация настоящего сертификата заняла три недели с неоднократными письмами с саппорт.
0
|
||
| 20.05.2016, 11:45 | |
|
.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 будильника: начало и конец рабочего дня. . . .
|