Форум программистов, компьютерный форум, киберфорум
C#: Веб-сервисы, WCF
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.50/312: Рейтинг темы: голосов - 312, средняя оценка - 4.50
2 / 2 / 0
Регистрация: 22.12.2015
Сообщений: 29
27.09.2016, 09:34
Студворк — интернет-сервис помощи студентам
Это почта, это почта - здесь ты в очереди сдохнешь точно (С) "Уральские пельмени"...
Что-то вспомнилось.
1
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
27.09.2016, 09:34
Ответы с готовыми решениями:

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

Интеграция с ГИС ЖКХ. Подпись SOAP и защита канала по ГОСТ (4)
Предыдущая тема: https://www.cyberforum.ru/web-services-wcf/thread1800721.html Здравствуйте. Подскажите, пожалуйста: делаю getState...

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

400
9 / 8 / 0
Регистрация: 20.05.2016
Сообщений: 153
27.09.2016, 09:48
Цитата Сообщение от umatkot Посмотреть сообщение
Только что убедился в этом... Да, представляю, для того, чтобы поменять любое значение - придётся грузить весь список объектов жилищного фонда в асинхронке)))
Об этом месяц назад им доказывал, что их логика не верна. В итоге, они, согласно их конечному ответу..., приняли в план доработки сервисов переработку логики... По факту решения пока нет )))) Представьте запрос, в котором более 1 млн. объектов жил фонда.. )
0
0 / 0 / 0
Регистрация: 22.09.2016
Сообщений: 5
27.09.2016, 09:52
Цитата Сообщение от umatkot Посмотреть сообщение
придётся грузить весь список объектов жилищного фонда в асинхронке
не поверишь, что начинается дальше!
На весь список из 200 тыс. он вернет тебе замечательную ошибку INT002000 - Значение в поле FIASHouseGuid отсутствует в реестре.
Какое именно - догадайся сам. И обновлять свой справочник ФИАС они будут только по твоей заявке!
Ибо "Адреса, отсутствующие в ФИАС, добавляются в ГИС ЖКХ по заявкам на добавление в ФИАС"
Т.е. сначала поштучно перебери свои ОЖФ, найди, которые не грузятся в ДРСО, сформируй из них заявку и отправь разработчикам.
А еще надо помнить, что "если адресный объект или дом сначала был добавлен в ГИС ЖКХ по заявке, а затем появился в ФИАС, то уникальный идентификатор ГИС ЖКХ не будет совпадать с идентификатором ФИАС. В веб-сервисах и шаблонах MS Excel следует использовать идентификаторы ГИС ЖКХ"...
0
9 / 8 / 0
Регистрация: 20.05.2016
Сообщений: 153
27.09.2016, 10:32
Цитата Сообщение от imp_deni Посмотреть сообщение
не поверишь, что начинается дальше!
да да да ))) И это еще тоже всего лишь часть "веселья"... И самое не приятное в этом моменте, что те "шишки", которые держат под контролем выполнение законодательных требований, о подобных сложностях не в курсе и им плевать, как эти данные будут попадать в их бд... "Руками можно занести?... можно... вот и заносите, хоть 100 тысяч... хоть миллионы..." Им технические моменты не доносят, сумма за ГИС заплачена не плохая и всплывать у инвесторов подобная информация не должна... Сколько тех. вопросов не было - практически все проигнорировано... Главное методология... а ее реализация нафиг не нужна... подход...
0
0 / 0 / 0
Регистрация: 24.03.2016
Сообщений: 7
27.09.2016, 13:03
Что мы не так делаем? Что упустили?
Сделали как описано в Взаимодействие с ГИС ЖКХ с помощью stunnel и openssl по ГОСТу
Всё время получаем ответ "Ошибка формата подписи запроса"

--Простой Запрос:
XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?xml version="1.0" encoding="UTF-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:nsi="http://dom.gosuslugi.ru/schema/integration/nsi-common/" xmlns:nsi1="http://dom.gosuslugi.ru/schema/integration/nsi-base/" xmlns:base="http://dom.gosuslugi.ru/schema/integration/base/">
<soap:Header>
<base:ISRequestHeader>
<base:Date>2016-09-27T10:24:30+03:00</base:Date>
<base:MessageGUID>8a31e8be-1f7c-4fab-9dca-8b967ec135fd</base:MessageGUID>
</base:ISRequestHeader>
</soap:Header>
<soap:Body>
<nsi:exportNsiListRequest base:version="10.0.1.2" Id="signed-data-container">
<nsi1:ListGroup>NSI</nsi1:ListGroup>
</nsi:exportNsiListRequest>
</soap:Body>
</soap:Envelope>
--Подписываемый узел канонизирован XML_C14N_EXCLUSIVE_1_0:
XML
1
2
3
<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">
<nsi1:ListGroup xmlns:nsi1="http://dom.gosuslugi.ru/schema/integration/nsi-base/">NSI</nsi1:ListGroup>
</nsi:exportNsiListRequest>
--Хэш-сумма от подписываемого узла без последнего символа перевода строки. Первого и так не было. {digest1}:
zxghJvxT+dA7OXHxOtap46fY6Q0t5MjZAKN0fstn REw=

--Сертификат в base64 размером: 2948
MIIInjCCCE2gAwIBAgIQAdGxoWwpbAAAAGGuAxMA AjAIBgYqhQMCAgMwggFMMRgw...nJ8Uqn0xo/jhLbGWu+Xxxk0BB+41i1q/WsljRSVIYLqwa5vdxdLkCw/4ykISmOY=

--Хэш-сумма в base64 от сертификата в бинарном виде {digest2}:
6glGN/VnWyZowKMxNVjQmEKHNmyYlmHDLef5Mycx/Cc=

--Удостоверяющий центр:
OGRN=1025203036506, INN=005260013152, STREET="ул.Ошарская, д.69", C=RU, L=г.Нижний Новгород, S=52 Нижегородская область, E=ca@cek.ru, O="ЗАО ""ЦЭК""", OU=Удостоверяющий центр, CN="ЗАО ""ЦЭК"""
--Заменяем E= на 1.2.840.113549.1.9.1= (так в исходниках гисовского примера)
--Заменяем G= на 2.5.4.42=
--Заменяем T= на 2.5.4.12=
--Заменяем OU= на 2.5.4.11=
--Заменяем SN= на 2.5.4.4=
--Заменяем INN= на 1.2.643.3.131.1.1=
--Заменяем OGRN= на 1.2.643.100.1=
--Заменяем SNILS= на 1.2.643.100.3=
--Заменяем STREET="ул.Ошарская, д.69" на STREET="ул.Ошарская\, д.69"
--Заменяем двойные кавычки " на экранированные двойные кавычки "
--Результат для Удостоверяющего центра:
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=ЗАО \"ЦЭК\"

--Странно, что свойство S=52 Нижегородская область у других обозначен как ST=, а не S=

--Номер сертификата hex: 01D1B1A16C296C00000061AE03130002
--Номер сертификата integer: 2418020814927163024379796557267140610

--Узел со свойствами подписи <SignedProperties> Канонизирован XML_C14N_1_0
--Без всех переводов строк (Так в альбоме ТФФ сказано для всего узла <Signature>):
XML
1
<xades:SignedProperties xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:xades="http://uri.etsi.org/01903/v1.3.2#" xmlns:xades141="http://uri.etsi.org/01903/v1.4.1#" Id="xmldsig-55225467-fcfb-4c34-a49d-ed8bfbe99a51-segnedprops"><xades:SignedSignatureProperties><xades:SigningTime>2016-09-27T10:24:30+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>
-Хэш-сумма от узла со свойствами подписи {digest3}:
Dr5/DlTWK7HpgFS8JCGbM3VQu4e2VqsPjz43w1nlJN0=

--Узел с информацией о подписи <SignedInfo> Канонизирован XML_C14N_1_0
--Без всех переводов строк (Так в альбоме ТФФ сказано для всего узла <Signature>):
XML
1
<ds:SignedInfo xmlns:ds="http://www.w3.org/2000/09/xmldsig#"><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-55225467-fcfb-4c34-a49d-ed8bfbe99a51-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-55225467-fcfb-4c34-a49d-ed8bfbe99a51-signedprops"><ds:DigestMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#gostr3411"></ds:DigestMethod><ds:DigestValue>Dr5/DlTWK7HpgFS8JCGbM3VQu4e2VqsPjz43w1nlJN0=</ds:DigestValue></ds:Reference></ds:SignedInfo>
--Подписанная хеш-сумма от узла <SignedInfo>:
qrbKvmkOTCQGVqny1MWR1zCFfdPumDl6vJKZHXiH avfd4UVzlVNWPQPkE2n3/PuygsVEJ3tQywsVX9d6+6pw0Q==

--Ответ промышленного стенда:
AUT011005 Ошибка формата подписи запроса
0
187 / 100 / 19
Регистрация: 15.09.2011
Сообщений: 801
27.09.2016, 15:32
C6301, особо не разбираясь: если поставили Id в request - нужно обязательно подписывать. В получении справочников подпись необязательна.
0
0 / 0 / 0
Регистрация: 24.03.2016
Сообщений: 7
27.09.2016, 15:45
Цитата Сообщение от umatkot Посмотреть сообщение
C6301, особо не разбираясь: если поставили Id в request - нужно обязательно подписывать. В получении справочников подпись необязательна.
Убрали Id из request и убрали весь блок <Signature>

Ответ промышленного сервера:
AUT011004 Отсутствует подпись запроса

Вывод:
Для версии 10.0.1.2 нужно подписывать обязательно.
0
187 / 100 / 19
Регистрация: 15.09.2011
Сообщений: 801
27.09.2016, 16:30
C6301, Нет не обязательно. С чего Вы взяли это вообще? На СИТ подпись проходит?

Добавлено через 6 минут
Ребята, а на ППАК разве даже экспорт НСИ нужно подписывать?
0
 Аватар для Zmeishe
23 / 22 / 1
Регистрация: 31.08.2016
Сообщений: 178
27.09.2016, 16:38
Цитата Сообщение от umatkot Посмотреть сообщение
C6301, Нет не обязательно. С чего Вы взяли это вообще?
Вот прямо сейчас выполнили запрос и получили ответ
AUT011004 Отсутствует подпись запроса
0
187 / 100 / 19
Регистрация: 15.09.2011
Сообщений: 801
27.09.2016, 16:47
Цитата Сообщение от imp_deni Посмотреть сообщение
На весь список из 200 тыс. он вернет тебе замечательную ошибку INT002000 - Значение в поле FIASHouseGuid отсутствует в реестре.
Если Вы делали отладку запросов на самом ГИС в резделе сервисов, то должны были увидеть следующие запросы.
Имея формат можно сделать многопоточное приложение, которое будет целыми сутками сканировать имеющиеся коды на ГИС ЖКХ. Я приложение сделал, но на потоках остановился и что-то перестал добивать тему, но, если у меня при импорте будет такое веселье как с подготовкой данных, то всё-таки придётся его доделать.
Вложения
Тип файла: 7z fias.7z (6.7 Кб, 28 просмотров)
0
187 / 100 / 19
Регистрация: 15.09.2011
Сообщений: 801
27.09.2016, 16:48
Zmeishe, покажите, пожалуйста, весь запрос, который Вы слали? На СИТ также? Ну, если на ППАК так - то дело - труба вообще.....
0
 Аватар для Zmeishe
23 / 22 / 1
Регистрация: 31.08.2016
Сообщений: 178
27.09.2016, 16:58
Цитата Сообщение от umatkot Посмотреть сообщение
Zmeishe, покажите, пожалуйста, весь запрос, который Вы слали?
На тестовый давно пару запросов отправили и переключились на ППАК.
Вложения
Тип файла: txt Запрос-27-09-2016.txt (6.5 Кб, 56 просмотров)
0
 Аватар для Jenstel
0 / 0 / 0
Регистрация: 05.02.2013
Сообщений: 25
27.09.2016, 19:46
Доброго времени суток.
А кто-нибудь смог реализовать интеграцию на Delphi? Импортировал wdsl, сделал запрос в реестр организаций - ответ получил. Остальные запросы нужно подписывать, отсюда и вопрос как на Delphi реализовать подпись soap-запроса?
0
9 / 8 / 0
Регистрация: 20.05.2016
Сообщений: 153
27.09.2016, 20:29
Цитата Сообщение от Zmeishe Посмотреть сообщение
На тестовый давно пару запросов отправили и переключились на ППАК.
В разделе инструкций есть ссылка на демо приложение. Возьмите реализацию класса GostXadesBesService с него и не мучайтесь... Ну или просто посмотрите логику формирования подписи... "Самаритянин" грамотно реализовал как на джаве, так и на шарпе ... Метод Sign этого класса отлично отрабатывает... А оптимизацией кода "страдать" уже потом... время поджимает )

Цитата Сообщение от umatkot Посмотреть сообщение
Ребята, а на ППАК разве даже экспорт НСИ нужно подписывать?
НА ППАК все запросы должны быть подписаны.

Добавлено через 10 минут
Цитата Сообщение от Jenstel Посмотреть сообщение
как на Delphi реализовать подпись soap-запроса
Delphi - "моя старая любовь". Object Pascal еще жив? Мне казалось, что этот язык стал актуален только в учебных заведениях... Проблема в том, что на шарпе или джаве, есть реализация библиотек, содержащих нужные методы криптографии. В делфях вам скорее придется их как-то портировать... Как вариант, сделайте на шарпе или джаве маленький прокси, который будет вам подписывать запросы. А основную логику на паскале...

Цитата Сообщение от imp_deni Посмотреть сообщение
На весь список из 200 тыс. он вернет тебе замечательную ошибку INT002000 - Значение в поле FIASHouseGuid отсутствует в реестре.
Вы по этому поводу писали в тех. поддержку? Если они не изменят все же логику, то это будет полная засада для массовых выгрузок... Как я понимаю, это при импорте договора в гис? Пришел к выводу, что если они до 1 декабря не приведут определенные методы к нормальной реализации, а оставят подобное "творение enterprise level умов" в таком же виде, то ради исполнения в сроки поставленных правительством задач, мы будем выгружать на каждый объект жил. фонда один и тот же договор... Естественно каждый договор с вложениями ... "Да будет срач в БД ГИС "))) Когда они увидят бессмысленную трату ресурсов на огромном количестве дублирующихся данных, все равно придется реализовать методы "по-человечески"...
0
187 / 100 / 19
Регистрация: 15.09.2011
Сообщений: 801
28.09.2016, 02:24
Цитата Сообщение от Zmeishe Посмотреть сообщение
На тестовый давно пару запросов отправили и переключились на ППАК.
Вот правильный запрос - ответ с сохранённым форматированием - сравните со своим.
Вложения
Тип файла: 7z exportNsiListRequest.7z (8.3 Кб, 57 просмотров)
0
187 / 100 / 19
Регистрация: 15.09.2011
Сообщений: 801
28.09.2016, 02:44
Jenstel, Delphi умеет работать с REST?
0
9 / 8 / 0
Регистрация: 20.05.2016
Сообщений: 153
28.09.2016, 07:11
Цитата Сообщение от umatkot Посмотреть сообщение
Delphi умеет работать с REST
Да с REST умеет работать все что угодно. REST для того и создавался, чтоб быть легким и универсальным.
0
0 / 0 / 0
Регистрация: 22.09.2016
Сообщений: 5
28.09.2016, 11:17
Цитата Сообщение от SeregaJ Посмотреть сообщение
Вы по этому поводу писали в тех. поддержку?
Общение с тех.поддержкой напоминает разговор с радио ))
нет по этому поводу не писал, озадачусь в ближайшее время.

А вот кто-нибудь сталкивался с такой проблемой на СИТ-02: выгрузка пакетом до, допустим, 4000 ОЖФ проходит "на ура", а уже 5000, после долгого раздумья сервера: EXP001000 - Внутренняя ошибка...
Это какое-то ограничение тестового сервера?
0
 Аватар для hhmm
67 / 58 / 1
Регистрация: 01.04.2016
Сообщений: 346
28.09.2016, 11:25
Цитата Сообщение от SeregaJ Посмотреть сообщение
Пришел к выводу, что если они до 1 декабря не приведут определенные методы к нормальной реализации, а оставят подобное "творение enterprise level умов" в таком же виде...
Вы не одиноки в своих выводах: Председатели саратовских ТСЖ - создателям ГИС ЖКХ: "Вы что курили?"
1
9 / 8 / 0
Регистрация: 20.05.2016
Сообщений: 153
28.09.2016, 11:42
Цитата Сообщение от imp_deni Посмотреть сообщение
А вот кто-нибудь сталкивался с такой проблемой на СИТ-02: выгрузка пакетом до, допустим, 4000 ОЖФ проходит "на ура", а уже 5000, после долгого раздумья сервера: EXP001000 - Внутренняя ошибка...
Фиксируйте все это, делайте скрины, сохраняйте переписки с тех. поддержкой... Особенно, если это касается ППАК. Так как потом со стороны государства будут идти санкции к организациям, и в судах, как выше по ссылке hhmm в статье сказано, придется доказывать, что "источник зла" - разработчики ГИС.

Нас лишили инструментов администрирования ИС на ППАК без каких либо объяснений, а от тех. поддержки приходит один бред - шаблоны ответов, не относящихся к сути проблемы... Время затягивают, как хотят... Все больше и больше становится похоже на то, что это делается умышленно...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
28.09.2016, 11:42

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

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

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

1С и ГИС ЖКХ. Интеграция
Доброго дня, коллеги! Я думаю многие слышали о такой ГИС, как ЖКХ. Друзья, сталкивался ли кто нибудь с задачей интеграции с этой...

Интеграция с ГИС ЖКХ (ГЖ). 400 Bad request
Вводная: 1. C#. Классы proxy для работы с API генерятся утилитой SvcUtil.exe из wsdl-ек. 2. При срабатывании форматно-логического...


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

Или воспользуйтесь поиском по форуму:
240
Закрытая тема Создать тему
Новые блоги и статьи
Саморегулирующийся социальный контракт для сервера cross-section.
Hrethgir 14.08.2026
С кодом конечно таких глубоких размышлений пока не было, впрочем я уже привык к алгоритмизации. Суть предмета записи: снова в диалоге с нейросетью (я взял пока себе ник для учётки админа - Rector). . . .
Часы электронные
Uhbif79 12.08.2026
Выкладываю программу часов. Программа позволяет: 1. Использовать системное время и дату, 2. Есть возможность вводить время и дату вручную. 3. Реализованы 2 будильника: начало и конец рабочего дня. . . .
Часы с будильником на основе класса QLCDNumber
Uhbif79 12.08.2026
Всем добрый день, выкладываю программу часов с будильником на основе класса QLCDNumber. Здесь я пробовал самостоятельно создавал классы, впервые столкнулся с видимостью переменной одного класса из. . .
Установка MinGW GCC 16.2 и CMake
8Observer8 10.08.2026
VK Видео: https:/ / vkvideo. ru/ video-240781534_456239017 YouTube: eY5-5PyI9NM Текстовая версия
Неделя из жизни имитационной модели склада: мои кривые руки растут, откуда надо
anaschu 10.08.2026
Неделя из жизни имитационной модели склада: как я почти написал неправильную логику и что с этим делать Работаю сейчас над учебно-рабочим проектом: строю в AnyLogic имитационную модель процессов. . .
Калькулятор для расчета родства
russiannick 07.08.2026
1. Задача: Создать калькулятор для расчета родства. Родственных связей существует 8 ступеней, такие как: p - отец P - мать q - муж Q - жена b - брат B - сестра s - сын S - дочь
Мир по моей воле
kumehtar 07.08.2026
Когда-то кажется, что всё просто. Ты весь такой светлый. Причиняешь добро. Борешься за справедливость в этом тёмном мире. Потом начинаешь замечать одну неприятную вещь. Почти каждый хороший. . .
Кредитный калькулятор
Maks 05.08.2026
Решение задачи по прикладной информатике средствами 1С. Задача: Напишите приложение-калькулятор, которое помогает рассчитывать параметры кредита для аннуитетного и дифференцированного видов. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru