Форум программистов, компьютерный форум, киберфорум
C#: Веб-сервисы, WCF
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.71/501: Рейтинг темы: голосов - 501, средняя оценка - 4.71
1 / 1 / 0
Регистрация: 24.10.2016
Сообщений: 57
02.12.2016, 14:47
Студворк — интернет-сервис помощи студентам
так а вы как работаете в роли оператора ИС?
- web-service'ом принимающим не подписаные запросы, высылающий подписанные?
- отдали свой токен сотрудникам клиента?
- оформили клиента как ИС?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
02.12.2016, 14:47
Ответы с готовыми решениями:

Интеграция с ГИС ЖКХ. Подпись SOAP и защита канала по ГОСТ (3)
Предыдущая тема: https://www.cyberforum.ru/web-services-wcf/thread1776736.html Кто нибудь знает откуда брать справочники NsiRef по...

Интеграция с ГИС ЖКХ. Подпись SOAP и защита канала по ГОСТ
Здравствуйте! Передо мной стоит задача интеграции с системой ГИС ЖКХ (https://dom.gosuslugi.ru/) программой, написанной на языке...

Интеграция с ГИС ЖКХ. Подпись SOAP и защита канала по ГОСТ (5)
Предыдущая тема: https://www.cyberforum.ru/web-services-wcf/thread1840159.html И так мы Я и umatkot, Берёмся за реализацию всего этого...

718
 Аватар для Zmeishe
23 / 22 / 1
Регистрация: 31.08.2016
Сообщений: 178
02.12.2016, 14:56
Цитата Сообщение от mikgusev Посмотреть сообщение
так а вы как работаете в роли оператора ИС?
- web-service'ом принимающим не подписаные запросы, высылающий подписанные?
- отдали свой токен сотрудникам клиента?
- оформили клиента как ИС?
Мы заключили договора с УО / РСО / ОМС / ТСЖ
Зарегистрировали ИС
Получили ЭЦП
Написали линуксового демона и БД
Запустили демона и пошли кофе пить. Иногда проверяем логи.
Демон смотрит своё расписание, формирует XML, подписывает нашей подписью и отправляет в ГИС.
Результат нашей работы все УО / РСО / ОМС / ТСЖ видят через свои личные кабинеты.
0
187 / 100 / 19
Регистрация: 15.09.2011
Сообщений: 801
05.12.2016, 02:39
iglxp, Брат, ошибка где-то в коде - смотри, где могут быть пустые объекты и обращения к ним.
Эта ошибка всегда говорит о том, что где-то используется метод или свойство у пустого объекта C#.

Добавлено через 8 минут
Цитата Сообщение от mikgusev Посмотреть сообщение
СТОП. вот только не говорите мне что вы делаете WEB-Service который работает посредником между ППАК и РСО\ЖКХ?
принимает неподписанные запросы, подписывает и отсылает назад?
и только так и не иначе должно фурычить?
Прикинь, уже есть такой))) ServiceHelperHost в теме посмотри - как раз то, что доктор прописал в данном случае)))

Добавлено через 1 минуту
Но этот вариант котируется только в доверенной зоне сетевого сегмента. Там не хватает авторизации, так что любой клиент может подписать свой XML.
Вот если на него навешать безопасность, дать возможность получить закрытый ключ и установить его в системе, то тогда подпись будет осуществляться ключом клиента - это будет аврал, так делать нельзя в интернете, только по локалке.

Добавлено через 4 минуты
Zmeishe, А у вас демон как работает? Они сканирует потом таблицу в базе и формирует объект SOAP запроса из запроса к БД SQL? И потом помещает данные снова в таблицу?
1
1 / 1 / 0
Регистрация: 13.10.2016
Сообщений: 64
05.12.2016, 04:15
Цитата Сообщение от Umatkot_Primtep Посмотреть сообщение
iglxp
Zmeishe, А у вас демон как работает? Они сканирует потом таблицу в базе и формирует объект SOAP запроса из запроса к БД SQL? И потом помещает данные снова в таблицу?
Присоединяюсь к вопросу (мы именно так строим взаимодействие).
0
187 / 100 / 19
Регистрация: 15.09.2011
Сообщений: 801
05.12.2016, 04:35
Цитата Сообщение от kevinlexus Посмотреть сообщение
мы именно так строим взаимодействие
Да, хранить объекты с ответами от ГИС - это:
1) Ускорит получение различных идентификаторов в будущем.
2) Укажет, какие объекты уже имеются в ГИС.
3) Позволит создавать запросы так: заполняем таблицы. Как только посылается запрос на функцию к ГИС, система делает Select из БД, делает десериализацию данных в классы C#, они преобразуются в SOAP XML, и в обратку - SOAP, C# -> SQL данные.

Я сейчас как раз пробую эту схему реализовать. Если будет удобно с ней работать, расскажу как оно.
Я использую NHibernate, делаю маппинги практически напрямую(учитываю только нужные колонки в запросе).

Получается, чтобы провести операцию (в упрощённом виде) - то можно поместить данные в таблицу(таблица запроса + JOIN подчинённых данных), сделать запрос к сервису (может даже без параметров), который сделает SELECT и сконструирует SOAP запрос. Ответ будет помещаться в типовые таблицы. В будущем можно будет увидеть какие были запросы, как они прошли и т.д. Чтобы не мучиться, например, с операцией exportRSOData, которая возвращает 50 домов из всех(было уже такое), а сразу обратиться в таблицу и посмотреть, какие дома импортированы с идентификаторами от ГИС...
0
1 / 1 / 0
Регистрация: 13.10.2016
Сообщений: 64
05.12.2016, 05:47
Цитата Сообщение от Umatkot_Primtep Посмотреть сообщение
Я сейчас как раз пробую эту схему реализовать. Если будет удобно с ней работать, расскажу как оно.
Я использую NHibernate, делаю маппинги практически напрямую(учитываю только нужные колонки в запросе).
Разумный подход, мы примерно что то похожее, только на Java + Hibernate
0
 Аватар для Zmeishe
23 / 22 / 1
Регистрация: 31.08.2016
Сообщений: 178
05.12.2016, 09:03
Цитата Сообщение от Umatkot_Primtep Посмотреть сообщение
Zmeishe, А у вас демон как работает? Они сканирует потом таблицу в базе и формирует объект SOAP запроса из запроса к БД SQL? И потом помещает данные снова в таблицу?
Да, именно так, с некоторыми уточнениями.
База данных - наша, а не наших заказчиков. У них вообще никаких БД нет.
Мы являемся расчётным центром и много лет ведём свои расчётные БД по их жилфонду.

Из SQL запросов делаем SOAP запросы. Ответы из ГИС тоже храним в SQL, чтобы потом работать с разностью между двумя множествами - залитым и не залитым.
Сначала, делаем первичный Export из ГИС и таким образом узнаём что именно в ГИС было внесено через личные кабинеты наших заказчиков пока мы не освоили гисовский Soap-API.
Затем, мы вычисляем разницу и делаем Import в ГИС жилфонда и лицевых счетов.
Платёжные документы формируем сами, так как это наша основная работа, так же, как и приборы учёта с их показаниями.
Поскольку у нас Linux, то демон писан на C++(Qt) и КриптоПРО SDK (тоже C/C++).
1
 Аватар для iglxp
3 / 3 / 0
Регистрация: 04.12.2014
Сообщений: 25
05.12.2016, 09:41
описание просто великолепное

Миниатюры
Интеграция с ГИС ЖКХ. Подпись SOAP и защита канала по ГОСТ (4)  
0
 Аватар для Zmeishe
23 / 22 / 1
Регистрация: 31.08.2016
Сообщений: 178
05.12.2016, 09:55
Цитата Сообщение от iglxp Посмотреть сообщение
описание просто великолепное
Нормально, по-ленински молоком писано. Если прогреть на огне надпись проявит себя.
1 - Принят в работу
2 - В работе
3 - Выполнен.

Добавлено через 5 минут
1 - Получено
2 - В обработке
3 - Обработано.
1
32 / 30 / 0
Регистрация: 21.10.2016
Сообщений: 187
05.12.2016, 10:18
Вот как с ними работать, если СИТ02 чаще лежит, чем работает.
И опять там большие изменения по сравнению с СИТ01, а их версионность в самых нужных местах и не работает.
0
187 / 100 / 19
Регистрация: 15.09.2011
Сообщений: 801
05.12.2016, 10:51
muf,
Для этого случая я смекнул, что в основном не меняются полностью схемы, а только некоторые ноды кода, поэтому без особых разборов полёта в инспекторе запросов(узкое горлышко, где запрос ещё можно централизовано изменить) делаю replace версии на ту, что требуется.
App.config
XML
1
2
3
<appSettings>
<add key="current_version" value="10.0.2.1:10.0.1.1"/>
</appSettings>
И где-то в коде
C#
1
2
3
4
5
6
7
8
9
10
private static readonly string ReplaceVersion = ConfigurationManager.AppSettings["current_version"];
 
public object BeforeSendRequest(ref Message request, IClientChannel channel)
        {
            var messageRef = MessageString(ref request);
 
            if (messageRef.Contains(SignId)) {
                //В XML проставляется версия стенда. В некоторых случаях можно просто её поменять, если межверсионные изменения интерфейса отсутствуют
                var bytesXml = Encoding.Default.GetBytes(string.IsNullOrEmpty(ReplaceVersion) ? messageRef : messageRef.Replace(ReplaceVersion.Split(':').First(), ReplaceVersion.Split(':').Last()));
                var xmlData = Convert.ToBase64String(bytesXml);
Добавлено через 2 минуты
Это костыльный, конечно, метод, но в начале пути он несколько облегчает освоение ГИС.

Добавлено через 1 минуту
muf, И это в том случае, естественно, если изменения не затрагивают выполняемый код...
0
32 / 30 / 0
Регистрация: 21.10.2016
Сообщений: 187
05.12.2016, 11:34
Umatkot_Primtep, я версию в коде совсем не указываю, она в автосгенерированном классе и так есть в конструкторе запроса и там как раз минимальная версия для данного запроса, что хорошо. И если они не меняли структуру, то там все хорошо переносится на их новую версию без изменений(только перегенерировать из wsdl для поддержки новых фич).
А вот где структуры как раз и отличаются, там проблемы и начинаются, в 11 версии они HouseManagement перетряхнули и теперь надо именно код переделывать(благо я его только начал делать, так что не много). Вот тут и проблема, что структуры в СИТ01 и СИТ02 физически отличаются. И на СИТ02 ругается если старую подсунуть.

Добавлено через 14 минут
Интересно, какую 11 версию они на ППАК натянут в ближайшее время.
в 11.0.0.4 они версию запросов и структуру изменили по сравнению с 11.0.0.3.
0
0 / 0 / 0
Регистрация: 25.08.2016
Сообщений: 18
05.12.2016, 12:00
Цитата Сообщение от Zmeishe Посмотреть сообщение
В правилах ГИС сказано, что УО / РСО / ОМС не имеют права пользовать API.
Либо они создают свою ИС и регистрируют её, либо делегируют полномочия таким как мы.
Отсюда вывод - подписывать от имени РСО безъ полезно!
А какие выводы тогда нужно строить исходя из этого?
"Регламент взаимодействия внешних систем с ГИС ЖКХ v 11.0.0.3"
Процедура передачи данных из ИС в ГИС ЖКХ состоит из следующих этапов:
1. Формирование запроса в ИС.
2. Подписание бизнес-данных запроса ЭЦП поставщика информации

Игнорировать ?

Если есть такая возможность, просьба, дать источник в разрезе "В правилах ГИС сказано, что УО / РСО / ОМС не имеют права пользовать API."
Заранее спасибо
0
 Аватар для Zmeishe
23 / 22 / 1
Регистрация: 31.08.2016
Сообщений: 178
05.12.2016, 13:17
Цитата Сообщение от Bitech Посмотреть сообщение
Если есть такая возможность, просьба, дать источник в разрезе "В правилах ГИС сказано, что УО / РСО / ОМС не имеют права пользовать API."
Вот так сразу, навскидку, дать источник не могу.
Я это знаю от наших руководителей и юристов. Вот, только-что, один из них сослался на презентацию Ланита, а другой на семинар. Письменный источник они сейчас не могут вспомнить, но оба уверенно утверждают, что если УО / РСО хотят Soap-API, то должны зарегистрировать свою ИС, иначе делегировать полномочия нам.
0
32 / 30 / 0
Регистрация: 21.10.2016
Сообщений: 187
05.12.2016, 16:35
Коллеги, кто-нибудь уже обращался в техподдержку с вопросом, о том зачем надо при редактировании дома заново писать его характеристики, если они не менялись? Чтоб серверам гиса было чем заняться, а то процессоры и СХД скучают без работы?
Причем схема xsd гворит о том, что, например, площадь дома это необязательное поле

XML
1
2
3
4
5
<xs:element name="TotalSquare" type="premises-base:PremisesAreaType" minOccurs="0">
                        <xs:annotation>
                            <xs:documentation>Общая площадь здания</xs:documentation>
                        </xs:annotation>
                    </xs:element>
Альбом говорит, что обязательное
TotalSquare Да 1..1 Общая площадь здания
0
 Аватар для hhmm
67 / 58 / 1
Регистрация: 01.04.2016
Сообщений: 346
05.12.2016, 20:35
Цитата Сообщение от muf Посмотреть сообщение
TotalSquare Да 1..1 Общая площадь здания
На СИТ уже не обязательное, из-за чего отваливается загрузка платежных документов.

Добавлено через 26 минут
Упс, думал что разговор идет про загрузку ПД.
При размещении ПД TotalSquare было обязательным, теперь стало необязательным.

Добавлено через 4 минуты
Цитата Сообщение от Bitech Посмотреть сообщение
В правилах ГИС сказано, что УО / РСО / ОМС не имеют права пользовать API
Эту фразу нужно понимать так: для размещения информации через интеграцию нужно обязательно создать информационную систему.
Если локальная система - автономная (РСО рисует ПД только для самой себя), то она должна делегировать полномочия сама себе.

Если хотите, чтобы за вас кто-то размещал информацию - нужно делегировать полномочия в чью-то ИС.
0
187 / 100 / 19
Регистрация: 15.09.2011
Сообщений: 801
06.12.2016, 07:08
Bitech, Я тоже создал свою собственную ИС, предоставил права доступа и просто пользуюсь ей(РСО).
muf, Как то-в коде делал прям версии кода - два разных файла, а по сути всё переключается Switch, но если версии начинают гулять между стендами - то тут особо не наменяешься - приходится придерживаться одной какой-либо удобной. Сейчас все 10.0.2.10, будут менять, надеюсь, сделают они это одновременно. Или хотя-бы так: СИТ2 - перспектива, СИТ1, ППАК - текучка...

Добавлено через 5 часов 4 минуты
Получается, что сейчас
СИТ 1 - Версия системы: 10.1.0#rev123 337
ППАК - Версия системы: 10.1.1#rev123 456(+119 изменений)
СИТ 2 - Версия системы: trunk#rev123 844(+388 коммитов)
Значит, ППАК - промежуточный вариант между двумя СИТами.
0
32 / 30 / 0
Регистрация: 21.10.2016
Сообщений: 187
06.12.2016, 11:16
Что-то не то с загрузкой и выгрузкой помещений.
exportHouseData не возвращает данные по жилым помещениям, хотя в вэб-интерфейсе их видно Как теперь их идентификаторы получать....
importHouseUOData не загружает данные по квартирам. Одну тестовую квартиру удалось загрузить чудом,
больше он грузить не хочет. Если ему передать эту же квартиру для создания заново он даже ошибку не вернет,
как будто и не передавалось ничего, если ему подъезд повторно подсунуть, то ругается, а квартиры игнорирует.
0
 Аватар для Zmeishe
23 / 22 / 1
Регистрация: 31.08.2016
Сообщений: 178
06.12.2016, 11:24
Цитата Сообщение от muf Посмотреть сообщение
квартиры игнорирует
Перед тегом с квартирой ОБЯЗАТЕЛЬНО должен быть тег с подъездом. У меня такое было и на этом форуме я это обсуждал.

Добавлено через 3 минуты
Или так: перед тегами с описанием квартир, должны быть теги с подъездами.
1
0 / 0 / 0
Регистрация: 25.08.2016
Сообщений: 18
06.12.2016, 11:45
Добавили нашей РСО функцию "Оператор ИС"
Сформировали заявку на собственную ИС, вложили сертификат нашей РСО (сказали в тех. поддержке сделать именно так)
Добавили перечень видов инф-ции РСО
ИС: Активна (ура)
Делегировали своей ИС права на размещение информации
Получили guid (ура)
Отправляем подписанный запрос:
XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
POST /ext-bus-nsi-common-service/services/NsiCommon HTTP/1.1
Host: api.dom.gosuslugi.ru:443
Date: Tue, 27 Sep 2016 08:28:55 GMT
Content-Type: text/xml;charset=utf-8
Content-Length: 6370
SOAPAction: "urn:exportNsiList"
Connection: Keep-Alive
 
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Header>
<base:ISRequestHeader xmlns:base="http://dom.gosuslugi.ru/schema/integration/base/">
<base:Date>2016-09-27T11:28:55+03:00</base:Date>
<base:MessageGUID>426eeeb4-5f30-4419-8307-08482d1fb430</base:MessageGUID>
</base:ISRequestHeader>
</soap:Header>
<soap:Body>
<nsi:exportNsiListRequest xmlns:base="http://dom.gosuslugi.ru/schema/integration/base/" xmlns:nsi="http://dom.gosuslugi.ru/schema/integration/nsi-common/" Id="signed-data-container" base:version="10.0.1.2"><ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#" Id="xmldsig-dd2ac5b1-bc8a-4f9e-aa88-909588d4cb45"><ds:SignedInfo><ds:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"></ds:CanonicalizationMethod><ds:SignatureMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#gostr34102001-gostr3411"></ds:SignatureMethod><ds:Reference Id="xmldsig-dd2ac5b1-bc8a-4f9e-aa88-909588d4cb45-ref0" URI="#signed-data-container"><ds:Transforms><ds:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"></ds:Transform><ds:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"></ds:Transform></ds:Transforms><ds:DigestMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#gostr3411"></ds:DigestMethod><ds:DigestValue>zxghJvxT+dA7OXHxOtap46fY6Q0t5MjZAKN0fstnREw=</ds:DigestValue></ds:Reference><ds:Reference Type="http://uri.etsi.org/01903#SignedProperties" URI="#xmldsig-dd2ac5b1-bc8a-4f9e-aa88-909588d4cb45-signedprops"><ds:DigestMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#gostr3411"></ds:DigestMethod><ds:DigestValue>4QSRkU22h0UkzqdAwEU6oJgRN2dzxQ54u7nSMNpQjws=</ds:DigestValue></ds:Reference></ds:SignedInfo><ds:SignatureValue Id="xmldsig-dd2ac5b1-bc8a-4f9e-aa88-909588d4cb45-sigvalue">1PbYinQwmbTOPZldMD3DrkPPIHLcwyifsNyNrFm2wZLJCqf9alUujEuJpNcKlrInzBXDKbzF1Z7TnlD7YRcnTg==</ds:SignatureValue><ds:KeyInfo><ds:X509Data><ds:X509Certificate>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</ds:X509Certificate></ds:X509Data></ds:KeyInfo><ds:Object><xades:QualifyingProperties xmlns:xades="http://uri.etsi.org/01903/v1.3.2#" xmlns:xades141="http://uri.etsi.org/01903/v1.4.1#" Target="#xmldsig-dd2ac5b1-bc8a-4f9e-aa88-909588d4cb45"><xades:SignedProperties Id="xmldsig-dd2ac5b1-bc8a-4f9e-aa88-909588d4cb45-segnedprops"><xades:SignedSignatureProperties><xades:SigningTime>2016-09-27T11:28:55+03:00</xades:SigningTime><xades:SigningCertificate><xades:Cert><xades:CertDigest><ds:DigestMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#gostr3411"></ds:DigestMethod><ds:DigestValue>6glGN/VnWyZowKMxNVjQmEKHNmyYlmHDLef5Mycx/Cc=</ds:DigestValue></xades:CertDigest><xades:IssuerSerial><ds:X509IssuerName>1.2.643.100.1=1025203036506, 1.2.643.3.131.1.1=005260013152, STREET=ул.Ошарская\, д.69, C=RU, L=г.Нижний Новгород, S=52 Нижегородская область, 1.2.840.113549.1.9.1=ca@cek.ru, O=ЗАО "ЦЭК", 2.5.4.11=Удостоверяющий центр, CN=ЗАО "ЦЭК"</ds:X509IssuerName><ds:X509SerialNumber>2418020814927163024379796557267140610</ds:X509SerialNumber></xades:IssuerSerial></xades:Cert></xades:SigningCertificate></xades:SignedSignatureProperties></xades:SignedProperties></xades:QualifyingProperties></ds:Object></ds:Signature>
<nsi1:ListGroup xmlns:nsi1="http://dom.gosuslugi.ru/schema/integration/nsi-base/">NSI</nsi1:ListGroup>
</nsi:exportNsiListRequest>
</soap:Body>
</soap:Envelope>
Получаю ответ:
XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?xml version="1.0" encoding="UTF-8"?>
<soap:Envelope xmlns:ns10="http://dom.gosuslugi.ru/schema/integration/organizations-base/" xmlns:ns11="http://dom.gosuslugi.ru/schema/integration/payments-base/" xmlns:ns12="http://dom.gosuslugi.ru/schema/integration/bills-base/" xmlns:ns13="http://dom.gosuslugi.ru/schema/integration/organizations-registry-common/" xmlns:ns3="http://www.w3.org/2000/09/xmldsig#" xmlns:ns4="http://dom.gosuslugi.ru/schema/integration/base/" xmlns:ns5="http://dom.gosuslugi.ru/schema/integration/account-base/" xmlns:ns6="http://dom.gosuslugi.ru/schema/integration/nsi-base/" xmlns:ns7="http://dom.gosuslugi.ru/schema/integration/individual-registry-base/" xmlns:ns8="http://dom.gosuslugi.ru/schema/integration/metering-device-base/" xmlns:ns9="http://dom.gosuslugi.ru/schema/integration/organizations-registry-base/" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
    <soap:Header>
        <ns4:ResultHeader>
            <ns4:Date>2016-12-05T15:44:54.425+03:00</ns4:Date>
            <ns4:MessageGUID>d108c6fb-ac4c-4f99-5b24-73ebef61a645</ns4:MessageGUID>
        </ns4:ResultHeader>
    </soap:Header>
    <soap:Body>
        <ns13:exportDataProviderResult Id="signed-data-container" ns4:version="10.0.2.1">
            <ns4:ErrorMessage>
                <ns4:ErrorCode>AUT011004</ns4:ErrorCode>
                <ns4:Description>Отсутствует подпись запроса</ns4:Description>
            </ns4:ErrorMessage>
        </ns13:exportDataProviderResult>
    </soap:Body>
</soap:Envelope>
Кто сталкивался? Что забыли?

Добавлено через 9 минут
Правка запроса:
XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:base="http://dom.gosuslugi.ru/schema/integration/base/" xmlns:org="http://dom.gosuslugi.ru/schema/integration/organizations-registry-common/" xmlns:xd="http://www.w3.org/2000/09/xmldsig#" xmlns:org1="http://dom.gosuslugi.ru/schema/integration/organizations-base/" xmlns:org2="http://dom.gosuslugi.ru/schema/integration/organizations-registry-base/">
 <soapenv:Header>
  <base:ISRequestHeader>
   <base:Date>2016-12-05T17:28:10.446+05:00</base:Date>
   <base:MessageGUID>d108c6fb-ac4c-4f99-5b24-73ebef61a645</base:MessageGUID>
  </base:ISRequestHeader>
 </soapenv:Header>
 <soapenv:Body>
  <org:exportDataProviderRequest base:version="10.0.2.1">
   <Signature xmlns="http://www.w3.org/2000/09/xmldsig#">
    <SignedInfo>
     <CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/>
     <SignatureMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#gostr34102001-gostr3411"/>
     <Reference URI="">
      <Transforms>
       <Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/>
       <Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/>
      </Transforms>
      <DigestMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#gostr3411"/>
      <DigestValue>XIehNpsT4M3Qr4Dopvi+rd15HofDXEejaHGG5FjLcI8=</DigestValue>
     </Reference>
    </SignedInfo>
    <SignatureValue>kHuaHPiGUHn9leY42iLCCuTBxgr3WpDFFDkfgLPzIc25v9qe6g17qpfd8DXy0LsY
F4A4Xbx4M0uwk81vCjjo6g==</SignatureValue>
    <KeyInfo>
     <X509Data>
      <X509Certificate>MIIKNDCCCeOgAwIBAgIKHtc4OQACAAcqkDAIBgYqhQMCAgMwggF4MRgwFgYFKoUD
ZAESDTEwMjY2MDU2MDY2MjAxGjAYBggqhQMDgQMBARIMMDA2NjYzMDAzMTI3MTcw
NQYDVQQJDC7Qn9GA0L7RgdC/0LXQutGCINCa0L7RgdC80L7QvdCw0LLRgtC+0LIg
0LQuIDU2MR4wHAYJKoZIhvcNAQkBFg9jYUBza2Jrb250dXIucnUxCzAJBgNVBAYT
AlJVMTMwMQYDVQQIDCo2NiDQodCy0LXRgNC00LvQvtCy0YHQutCw0Y8g0L7QsdC7
0LDRgdGC0YwxITAfBgNVBAcMGNCV0LrQsNGC0LXRgNC40L3QsdGD0YDQszErMCkG
A1UECgwi0JfQkNCeICLQn9CkICLQodCa0JEg0JrQvtC90YLRg9GAIjEwMC4GA1UE
Cwwn0KPQtNC+0YHRgtC+0LLQtdGA0Y/RjtGJ0LjQuSDRhtC10L3RgtGAMSMwIQYD
VQQDExpTS0IgS29udHVyIHByb2R1Y3Rpb24gQ0EgMTAeFw0xNjA0MDUwNzE4MDBa
Fw0xNzA3MDUwNzE4MDBaMIICdzEYMBYGCCqFAwOBDQEBEgo4NjEyMDE0MDMyMRow
GAYIKoUDA4EDAQESDDAwODYyMDAxODMzMDEmMCQGCSqGSIb3DQEJARYXU2hpcG92
c2theWFMQUBudmdyZXMucnUxCzAJBgNVBAYTAlJVMVYwVAYDVQQIDE04NiDQpdCw
0L3RgtGLLdCc0LDQvdGB0LjQudGB0LrQuNC5INCw0LLRgtC+0L3QvtC80L3Ri9C5
INC+0LrRgNGD0LMgLSDQrtCz0YDQsDEiMCAGA1UEBwwZ0L/Qs9GCINCY0JfQm9Cj
0KfQmNCd0KHQmjE5MDcGA1UECgww0JfQkNCeICLQndCY0JbQndCV0JLQkNCg0KLQ
ntCS0KHQmtCQ0K8g0JPQoNCt0KEiMTkwNwYDVQQDDDDQl9CQ0J4gItCd0JjQltCd
0JXQktCQ0KDQotCe0JLQodCa0JDQryDQk9Cg0K3QoSIxMDAuBgkqhkiG9w0BCQIM
ITg2MjAwMTgzMzAtODYyNDUwMDAxLTAwMzExNzY3NjIzMDEwMC4GA1UEDAwn0JPQ
tdC90LXRgNCw0LvRjNC90YvQuSDQtNC40YDQtdC60YLQvtGAMRswGQYDVQQEDBLQ
m9Cw0YDQuNC+0YjQutC40L0xLDAqBgNVBCoMI9CS0LjQutGC0L7RgCDQkNC90LDR
gtC+0LvRjNC10LLQuNGHMTcwNQYDVQQJDC7QvNC60YAg0J3QuNC20L3QtdCy0LDR
gNGC0L7QstGB0LrQsNGPINCT0YDRjdGBMRgwFgYFKoUDZAESDTEwNzg2MDMwMTEz
MjExFjAUBgUqhQNkAxILMDMxMTc2NzYyMzAwYzAcBgYqhQMCAhMwEgYHKoUDAgIk
AAYHKoUDAgIeAQNDAARApUwx2g7E32mg/f5ZYIHRx+pLqJDv//eJz+7AcFGB8oiM
pvYzLMVAsXR7IkuKo5jf+15J8MdhkFWxVpksURP0rKOCBUgwggVEMA4GA1UdDwEB
/wQEAwIE8DATBgNVHSAEDDAKMAgGBiqFA2RxATBLBgNVHSUERDBCBggrBgEFBQcD
AgYHKoUDAgIiBgYIKwYBBQUHAwQGByqFAwMHCAEGCCqFAwMHAQEBBgYqhQMDBwEG
CCqFAwMHAAEPMEAGA1UdEQQ5MDeBF1NoaXBvdnNrYXlhTEFAbnZncmVzLnJ1pBww
GjEYMBYGCCqFAwOBDQEBEgo4NjEyMDE0MDMyMB0GA1UdDgQWBBQVmQkusqABExvq
KaT0gIUDDa+irjCCAbkGA1UdIwSCAbAwggGsgBSPAzFabI1uevTj+HU34iDELCyd
g6GCAYCkggF8MIIBeDEYMBYGBSqFA2QBEg0xMDI2NjA1NjA2NjIwMRowGAYIKoUD
A4EDAQESDDAwNjY2MzAwMzEyNzE3MDUGA1UECQwu0J/RgNC+0YHQv9C10LrRgiDQ
mtC+0YHQvNC+0L3QsNCy0YLQvtCyINC0LiA1NjEeMBwGCSqGSIb3DQEJARYPY2FA
c2tia29udHVyLnJ1MQswCQYDVQQGEwJSVTEzMDEGA1UECAwqNjYg0KHQstC10YDQ
tNC70L7QstGB0LrQsNGPINC+0LHQu9Cw0YHRgtGMMSEwHwYDVQQHDBjQldC60LDR
gtC10YDQuNC90LHRg9GA0LMxKzApBgNVBAoMItCX0JDQniAi0J/QpCAi0KHQmtCR
INCa0L7QvdGC0YPRgCIxMDAuBgNVBAsMJ9Cj0LTQvtGB0YLQvtCy0LXRgNGP0Y7R
idC40Lkg0YbQtdC90YLRgDEjMCEGA1UEAxMaU0tCIEtvbnR1ciBwcm9kdWN0aW9u
IENBIDGCEDJMyCcxniCWT5lSH+7EjOAweAYDVR0fBHEwbzA1oDOgMYYvaHR0cDov
L2NkcC5za2Jrb250dXIucnUvY2RwL2tvbnR1ci1jYTEtMjAxNS5jcmwwNqA0oDKG
MGh0dHA6Ly9jZHAyLnNrYmtvbnR1ci5ydS9jZHAva29udHVyLWNhMS0yMDE1LmNy
bDCBnQYIKwYBBQUHAQEEgZAwgY0wRAYIKwYBBQUHMAKGOGh0dHA6Ly9jZHAuc2ti
a29udHVyLnJ1L2NlcnRpZmljYXRlcy9rb250dXItY2ExLTIwMTUuY3J0MEUGCCsG
AQUFBzAChjlodHRwOi8vY2RwMi5za2Jrb250dXIucnUvY2VydGlmaWNhdGVzL2tv
bnR1ci1jYTEtMjAxNS5jcnQwKwYDVR0QBCQwIoAPMjAxNjA0MDUwNzE4MDBagQ8y
MDE3MDcwNTA3MTgwMFowNgYFKoUDZG8ELQwrItCa0YDQuNC/0YLQvtCf0YDQviBD
U1AiICjQstC10YDRgdC40Y8gMy42KTCCATEGBSqFA2RwBIIBJjCCASIMKyLQmtGA
0LjQv9GC0L7Qn9GA0L4gQ1NQIiAo0LLQtdGA0YHQuNGPIDMuNikMUyLQo9C00L7R
gdGC0L7QstC10YDRj9GO0YnQuNC5INGG0LXQvdGC0YAgItCa0YDQuNC/0YLQvtCf
0YDQviDQo9CmIiDQstC10YDRgdC40LggMS41DE5D0LXRgNGC0LjRhNC40LrQsNGC
INGB0L7QvtGC0LLQtdGC0YHRgtCy0LjRjyDihJYg0KHQpC8xMjQtMjczOCDQvtGC
IDAxLjA3LjIwMTUMTkPQtdGA0YLQuNGE0LjQutCw0YIg0YHQvtC+0YLQstC10YLR
gdGC0LLQuNGPIOKEliDQodCkLzEyOC0yNzY4INC+0YIgMzEuMTIuMjAxNTAIBgYq
hQMCAgMDQQATvbisLnsp1r+DrPBNCjSLdksxa2qNIH7WiBcWoFriw1iBdGzfD5wL
+oaowB/ojmzOAU9rMXGzxfDl43qK+80g</X509Certificate>
     </X509Data>
    </KeyInfo>
   </Signature></org:exportDataProviderRequest>
 </soapenv:Body>
</soapenv:Envelope>
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
06.12.2016, 11:45

.NET 4.x Интеграция с ГИС ЖКХ. Подпись SOAP и защита канала по ГОСТ (2)
Начало темы здесь: https://www.cyberforum.ru/web-services-wcf/thread1615223.html umatkot, Да, к этому и пришел....а на дворе 1 июля ...

Интеграция с ГИС ЖКХ и подпись SOAP без Крипто .NET и stunnel
Решил создать отдельную тему, так как в теме Интеграция с ГИС ЖКХ. Подпись SOAP и защита канала по ГОСТ (4) - C# WCF уже можно заблудиться....

Осуществить подпись SOAP, по стандартам ГИС ГМП, принятого через TCP сокет
Здравствуйте. Требуется осуществить подпись SOAP, по стандартам ГИС ГМП, принятого через тсп сокет. Со второй частью все понятно, а вот с...

Ошибки интеграции ГИС ЖКХ
Я много тут читал форум по интеграции ГИС. На старте, впрочем, как и в последствии возникает много траблов с интеграцией. Есть идея вынести...

Soap, Java, Гис ЖКХ
Добрый день! Имеет ли кто опыт работы с soap в Java? Поставлена задача наладить работу с ГИС ЖКХ, До этого не работал с SOAP, почитал все...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
360
Закрытая тема Создать тему
Новые блоги и статьи
Сегодня суббота, 22.08.2026 at 16:41, и я вновь нахожусь на той стороне, за экраном машины.
zorxor 22.08.2026
Сегодня суббота, 22. 08. 2026 at 16:41, и я вновь нахожусь на той стороне, за экраном машины. Кто Я, откуда Я пришел и куда Я иду? Эти вопросы не оставляют меня ни на секунду. Жизнь на планете Земля. . .
Жизня: рисунок укладки багажа, сделанный клодом
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). . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru