These are chat archives for springjazzy/GIS_JKH_Integration

6th
May 2016
Анатолий
@Anat56
May 06 2016 04:20
@springjazzy кстати делегирование не работает пока. На рабочей?
Alamzhi
@Alamzhi
May 06 2016 05:03
Есть у кого нибудь тестовая организация с полномочиями ОМС? дайте плиз прогнать запрос importHouseOMSData). Никаких сертификатов не надо, просто переделегирую права на свою ИС. =)
Pavel Druzhinin
@pavelDruzhinin
May 06 2016 06:00
подскажите кто-нибудь, нас пришло письмо что были изменены ваши реквизиты доступа к системе учета обращений. Они имеют ввиду Джиру?
Alamzhi
@Alamzhi
May 06 2016 06:01
да
Pavel Druzhinin
@pavelDruzhinin
May 06 2016 06:01
Если да, подскажите, плиз, куда зайти
какой сайт
Alamzhi
@Alamzhi
May 06 2016 06:02
в письме все написано должно быть. Сначала устанавливаете vpn-соединение согласно инструкции в файле , а потом на http://172.30.217.1
Pavel Druzhinin
@pavelDruzhinin
May 06 2016 06:04
благодарю
Nikita
@springjazzy
May 06 2016 06:06
@Anat56 Нет на тестовой проверял
Анатолий
@Anat56
May 06 2016 06:06
у меня работает
я ещё одну тестовую организацию зарегистрировал заявкой (РСО)
Nikita
@springjazzy
May 06 2016 06:07
т.е. вы своим сертификатом подписываете запросы отправляемые от УК?
Анатолий
@Anat56
May 06 2016 06:07
зашел в ЛК и делегировал своему оператору ИС
Alamzhi
@Alamzhi
May 06 2016 06:07
@Anat56 ОМС тоже регистрируйте сразу)
Анатолий
@Anat56
May 06 2016 06:08
@springjazzy да
в заголовке указываю что подпись оператора
если указываешь что подпись оператора, а подписать поставщиком, то ругалось
Nikita
@springjazzy
May 06 2016 06:09
в заголовке указываю что подпись оператора
это как?
Анатолий
@Anat56
May 06 2016 06:09
<ns:IsOperatorSighnature>true</ns:IsOperatorSighnature>
header.IsOperatorSighnature = true;
header.IsOperatorSighnatureSpecified = true;
Konstantin Slabouzov
@clip71
May 06 2016 06:15
подскажите, ЛС имеет Номер единого лицевого счета в ГИС ЖКХ
что то вроде: 80АА001282, но в запросах везде стоит AccountGUID, как связать их?
что стоит хранить в локальной своей базе для стыковки?
Nikita
@springjazzy
May 06 2016 06:16
@Anat56 спасибо большое. Сейчас попробую
Alamzhi
@Alamzhi
May 06 2016 06:17
@clip71 надо хранить идентификаторы лс, идентификаторы помещений и коды фиас домов)
Konstantin Slabouzov
@clip71
May 06 2016 06:17
@Alamzhi то есть GUID-ы ?
Alamzhi
@Alamzhi
May 06 2016 06:18
да
Konstantin Slabouzov
@clip71
May 06 2016 06:18
просто в кабинете нет GUID ов , не удобно как то )
Анатолий
@Anat56
May 06 2016 06:19
@clip71 многие запросы только по ним - лицевые добавлять - надо guid помещения
можно в принципе через экспорт находить
Alamzhi
@Alamzhi
May 06 2016 06:20
Кто-нибудь что-нибудь знает про спровочник DecisionsType "Тип вопроса" (тип nsiRef)? Требуется для выполнения importVotingProtocolRequest . Нужен любой идентификатор
Анатолий
@Anat56
May 06 2016 06:20
я по поиску в файле справочники искал
63-й врооде справочник
Alamzhi
@Alamzhi
May 06 2016 06:25
@Anat56 да, спасибо, тоже нашел поиском)
ndbn
@ndbn
May 06 2016 06:34
public short UsedYear;
public bool UsedYearSpecified;
...
UsedYear = 0;
UsedYearSpecified = false;
Вот в этом случае UsedYear попадает в xml и приходит ответ что нельзя указывать 0, а как в C# "не указывать значение"? Ведь в short нельзя просто так null воткнуть
Alamzhi
@Alamzhi
May 06 2016 06:35
если укажешь UsedYearSpecified=true, то попадет usedyear=0, если нет, то Null
а null и 0 - это разные значения
ndbn
@ndbn
May 06 2016 06:37
Я о том же, но в short, int и т.п. нельзя записать null, только если сделать short? или int?

Можно писать так:

if (UsedYearSpecified)
{ UsedYear = 0; }

И тогда присвоения не будет и UsedYear будет равна default(short), а это 0 согласно https://msdn.microsoft.com/en-us/library/83fhsxwc.aspx

Но сериализатор WCF понимает, было ли присвоение переменной UsedYear от пользователя или нет и я не понимаю как вмешаться в этот механизм
Анатолий
@Anat56
May 06 2016 06:44
@ndbn странно, я когда не указывал для полей Specified = true, т.е. вообще эти переменные не присваивал, то в xml они не попадали
ndbn
@ndbn
May 06 2016 06:47

@Anat56 Не, не, так и есть, но я не могу не присваивать, я считаю inline запись очень удобной

  var r = new importHouseUORequest()
            {
                Item = new importHouseUORequestApartmentHouse()
                {
                    Item = new importHouseUORequestApartmentHouseApartmentHouseToUpdate()
                    {
                        MinFloorCountSpecified = p.MinFloorCountSpecified,
                        MinFloorCount = p.MinFloorCountSpecified ? p.MinFloorCount : default(sbyte),

вот тут нельзя в последней строке написать if (p.MinFloorCountSpecified) или что-то подобное

при таком способе CodeAssistance показывает какие поля ещё не заполнены например
Хм, может баг на их стороне
"FMT001300: Line: 1. Column: 6510. Message: cvc-minInclusive-valid: Value '0' is not facet-valid with respect to minInclusive '1600' for type 'UsedYearType'.\n"
Alamzhi
@Alamzhi
May 06 2016 06:52
ну тут говорит что не может принять год меньше чем 1600.
ndbn
@ndbn
May 06 2016 06:55
Ага, там 0, в xml он попадает несмотря на то что UsedYearSpecified = false
Alamzhi
@Alamzhi
May 06 2016 06:56
у меня покруче есть Column: 54. Message: cvc-pattern-valid: Value '1150327011669' is not facet-valid with respect to pattern '([0-9a-fA-F]){8}-([0-9a-fA-F]){4}-([0-9a-fA-F]){4}-([0-9a-fA-F]){4}-([0-9a-fA-F]){12}' for type 'GUIDType'. В запросе на получение протоколов голосования exportVotingProtocol по дому. Ошибка при попытке сгенерировать мне ответ
ndbn
@ndbn
May 06 2016 06:57
Похоже они перепутали переменные
Alamzhi
@Alamzhi
May 06 2016 06:58
не хочу даже писать тикет по этому поводу
ndbn
@ndbn
May 06 2016 06:59
Вообще странно что они себе тесты не пишут
Alamzhi
@Alamzhi
May 06 2016 07:00
странно как вообще прошли тестирование 12 ИС
ndbn
@ndbn
May 06 2016 07:01
По полторы функции сделали
Что-то ж работает
Konstantin Slabouzov
@clip71
May 06 2016 07:03
еще вопрос: помещения были загружены через шаблоны и получены ид типа: 9xME0006100002. сейчас пытаюсь подгрузить ЛС, но работа идет через GUID, можно ли как то кроме как по номеру идентифицировать эти помешения?
ndbn
@ndbn
May 06 2016 07:09
Вопрос снимается, каким то, пока не понятным мне образом, UsedYearSpecified получается true
Pavel Druzhinin
@pavelDruzhinin
May 06 2016 07:15
В общем, попробовал подписать запросы подписью поставщика, та же ситуация: ЭП не прошла проверку: Invalid XML Signature
ndbn
@ndbn
May 06 2016 07:16
@clip71 например как?! Вам нужно хранить сопостовление GUID с любой сущностью, будь то помещения, дома, лицевые счета или что-то ещё
@pavelDruzhinin Вы уже показывали тут, что шлёте?
Pavel Druzhinin
@pavelDruzhinin
May 06 2016 07:18
да, вчера
Konstantin Slabouzov
@clip71
May 06 2016 07:19
@ndbn да, с домом все нормально, с ЛС тоже вроде есть exportAccountData, а вот помещения в непонятках, к том ж если сейчас росреестр что то подгрузит, то стыковать кавртиры придется по номеру (что в принципе наверное не страшно, но есть потенциальные камни)
ndbn
@ndbn
May 06 2016 07:20
@pavelDruzhinin не нашёл, xml покажите или ссылку на собщение(Alt+Клик на времени сообщения тут)
Pavel Druzhinin
@pavelDruzhinin
May 06 2016 07:21
Когда в прошлый раз им писали по поводу этой ошибки они просили заменить сертификат на КС.2 и говорили что SignatureValue не совпадает.
После замены та же ошибка
ndbn
@ndbn
May 06 2016 07:23
@clip71 а, вот вы про что, ну а по-другому никак, такое не часто будет по идее
Pavel Druzhinin
@pavelDruzhinin
May 06 2016 07:24
при этом валидацию подпись проходит с помощью библиотеки: https://github.com/Good-Samaritan/signature-demo
ndbn
@ndbn
May 06 2016 07:27
А зачем вы подписываете запрос для exportDataProvider?
Он без подписи на OrganizationsRegistryCommon должен идти
ndbn
@ndbn
May 06 2016 07:32
Вы что-то старое взяли, там даже поля id в заголовке нет, чтобы записать туда "signed-data-container"
Pavel Druzhinin
@pavelDruzhinin
May 06 2016 07:36
wsdl-ка текущей версии
ndbn
@ndbn
May 06 2016 07:39
Нет такого exportDataProvider который нужно подписывать
NadyaTomsk
@NadyaTomsk
May 06 2016 07:39
@pavelDruzhinin я тоже подписываю запрос на exportDataProvider, у меня отрабатывает правильно
Nikita
@springjazzy
May 06 2016 07:40
ГИС просто подпись игнорирует для него
ndbn
@ndbn
May 06 2016 07:40
Ну это нужно извратиться чтобы подписать запрос, в котором используется заголовок без ID
NadyaTomsk
@NadyaTomsk
May 06 2016 07:41
exportDataProviderRequest request = new exportDataProviderRequest
{
Id = "signed-data-container"
};
не ругается и шаблоны 8.7.0.7
Pavel Druzhinin
@pavelDruzhinin
May 06 2016 07:42
@NadyaTomsk а подписываете библиотекой @springjazzy ?
NadyaTomsk
@NadyaTomsk
May 06 2016 07:42
xades
@pavelDruzhinin да
Pavel Druzhinin
@pavelDruzhinin
May 06 2016 07:43
@NadyaTomsk дак а что-нибудь меняли в ней или как есть используете?
Анатолий
@Anat56
May 06 2016 07:45
@ndbn атрибут id есть везде - я тоже свободно подписал сейчас exportDataProviderRequest и ответ нормальный пришел
ndbn
@ndbn
May 06 2016 07:46
Да, нашёл :(
Я чёт думал он в заголовке, а не теле
Alamzhi
@Alamzhi
May 06 2016 08:24
такое ощущение, что у ланита кончился криптопро <ns4:ErrorCode>FIL001003</ns4:ErrorCode> <ns4:Description>Время расчета хеш-суммы превысило допустимый предел</ns4:Description>
ndbn
@ndbn
May 06 2016 08:25
@Alamzhi случайный запрос отработал нормально
Alamzhi
@Alamzhi
May 06 2016 08:26
выполняю запрос с прикреплением файлов. например размещение устава или договора управления
Pavel Druzhinin
@pavelDruzhinin
May 06 2016 08:41
подскажите плиз как с помощью Soap UI протестировать запрос, у меня все время ГИС ругается Invalid SOAP header
Анатолий
@Anat56
May 06 2016 09:04
@Alamzhi было такое
@pavelDruzhinin а запрос самом Soap UI готовите? Вроде он всегда нормально формировал шаблон
Pavel Druzhinin
@pavelDruzhinin
May 06 2016 09:12
@Anat56 то есть заполнять весь запрос в нем? О_о
Анатолий
@Anat56
May 06 2016 09:13
ну да, с помощью файлов wsdl создаются автоматом request'ы
убираем лишнее, заносим значения
вместо вопросиков
Pavel Druzhinin
@pavelDruzhinin
May 06 2016 09:14
хорошо, попробуем-с
еще в Jira нашел запрос с такой же ошибкой как у нас: ru.lanit.hcs.integration.common.exception.OperationProcessorException: ЭП не прошла проверку: Invalid XML Signature. Значит мы не одни такие
но по нему неделю уже нет движения
ndbn
@ndbn
May 06 2016 09:21
Сертификат тестовый на сайте криптопро брали?
Pavel Druzhinin
@pavelDruzhinin
May 06 2016 09:38
нет, мы подписываем квалифицированной ЭЦП
Через Soap UI попробовал, та же картина
ndbn
@ndbn
May 06 2016 09:41
А, то есть у вас ЭЦП реальная на флешке?
Pavel Druzhinin
@pavelDruzhinin
May 06 2016 09:42
да
Анатолий
@Anat56
May 06 2016 09:42
@pavelDruzhinin А провайдер какой? КриптоПро? Попробуйте сформировать тестовый сертификат https://www.cryptopro.ru:5555/ui и им попробовать
Pavel Druzhinin
@pavelDruzhinin
May 06 2016 09:45
@Anat56 по ссылке браузер говорит, что Этот сайт не может обеспечить безопасное соединение:)
Анатолий
@Anat56
May 06 2016 09:45
заходите через IE
?@pavelDruzhinin подпись-то какого провайдера? КриптоПро не гарантирует правильную работу с сторонними сертификатами
Pavel Druzhinin
@pavelDruzhinin
May 06 2016 09:49
то есть предлагаете получить сертификат именно у них?
@Anat56
Анатолий
@Anat56
May 06 2016 09:51
@pavelDruzhinin не именно у них, просто посмотрите у себя состав сертификата - у меня в средстве электронной подписи стоит Средство электронной подписи: "КриптоПро CSP" (версия 3.6)
удостоверяющие центры могут выдать ЭЦП разных провайдеров
VipNet, CryptoPro и ещё какие-то
это только предположения о не совсем верном ЭЦП, ошибок ведь при подписи студия не дает
Pavel Druzhinin
@pavelDruzhinin
May 06 2016 09:54
@Anat56 да, в свойствах серта: Средство электронной подписи: КриптоПро CSP
Средство электронной подписи: СКЗИ ViPNet CSP 4
это получается чем делали
Анатолий
@Anat56
May 06 2016 09:57
попробуйте сформировать тестовый сертификат на криптопрошном сайте и использовать его для подписи, если пройдет, то проблема в выдавшем УЦ
Pavel Druzhinin
@pavelDruzhinin
May 06 2016 09:58
@Anat56 дак а вы используете тестовый сертификат?
Анатолий
@Anat56
May 06 2016 09:59
@pavelDruzhinin так же как обычный - можно хоть на любую контору его завести - главное, чтобы ОГРН и ИНН нужные были
Pavel Druzhinin
@pavelDruzhinin
May 06 2016 09:59
в методических пишется что ГИС ЖКХ допускает допускает подписание запросов только квалифицированной ЭЦП.
Анатолий
@Anat56
May 06 2016 09:59
там же написано, что тестовый принимает и тестовый УЦ
тут мало кто на тесте использует ЭЦП, выданный удостоверяющим центром сертифицированным
просто тестовая подпись дается на 3 месяца
у меня сейчас ключ квалифицированный, но он мало чем отличается от тестового - так же нужен КриптоПро.CSP
для формирования подписи используется КриптоПро.NET и он может некорректно работать с ViPNet CSP 4
где-то у них на форуме встречал обсуждения об использовании КриптоПро.NET со сторонними поставщиками ЭЦП
developerts
@developerts
May 06 2016 10:07
Крипто.ПРО просто несолько нестандартно хранит и экспортирует ключ.
Есть способы и средства достать из Крипто.ПРО ключ и сертификат в стандартном виде, и использовать его с любым провайдером, поддерживающим стандартные форматы. (При условии, что ключ сохранен как экспортируемый итд)
P12FromGostCSP (раньше распространялся бесплатно, потом стал платным. Но бесплатная версия легко ищется, и работает так же.)
ndbn
@ndbn
May 06 2016 10:08

@pavelDruzhinin

Средство электронной подписи: СКЗИ ViPNet CSP 4

Випнет не прошли сертификацию на КС2, соответственное ваш сертификат не поддерживает КС2, у нас даже тестовые его поддерживают.

А его поддержка - есть требование для доступа к системе
О том что не прошли они говорили на одном из видео с семинаров
серт.png
developerts
@developerts
May 06 2016 10:13
@ndbn > А его поддержка - есть требование для доступа к системе
Да, но проверяется это только по наличию в сертификате записи со специальным OID. Проверить что сертификат с пометкой КС2=true действительно прислал криптопровайдер, сертифицированный по КС2 - ИМХО технически невозможно. (Это решается административным образом, и для тестов вряд ли реализовано.)
ndbn
@ndbn
May 06 2016 10:14
Ну там же могут проверять наличие OID, при подписи в XML же помещается открытая часть сертификата в base64
developerts
@developerts
May 06 2016 10:18
Средства шифрования и ЭЦП не добавляют "от себя" эту запись. Они весь сертификат целиком "как есть" передают везде, где это требуется. (Ибо сертификат - это набор записей в специальном формате + ЭЦП от УЦ на все эти записи скопом. Там нельзя поменять/убрать/добавить что-либо - ЭЦП станет невалидна.)
Так что надо сформировать запрос на сертификат с этой записью и получить на него ЭЦП от УЦ. А дальше можно спокойно использовать хоть в OpenSSL, хоть в BouncyCastle. )
Анатолий
@Anat56
May 06 2016 10:25
@ndbn Как вам удалось такой тип сертификата получить? у меня на сертификаты отличные от Сертификат пользователя УЦ ругается, что Не удалось отправить запрос на сертификат. 0x80040202: Эта операция не может быть выполнена на этом сертификате. : 1.2.643.2.2.34.5
ndbn
@ndbn
May 06 2016 10:27
@Anat56 ставите плагин http://www.cryptopro.ru/products/cades/plugin, регистрируетесь на https://www.cryptopro.ru/ui/Register/RegGetSubject.asp заполняя поля нормально, не толко имя но и ИНН, ОГРН, в ИНН первые 2 знака 00 должны быть, там дают маркер временного пользователя
потом на https://www.cryptopro.ru/ui/Register/RegLogin.asp?Referer=RegTemporaryUser.asp используя маркер заходите и запрашиваетет сертификат, там я толи Оператор ИС толи Пользователь ИС выбрал, точно не помню, ну и дали такой сертификат
ну и делать через IE нужно
Анатолий
@Anat56
May 06 2016 10:28
@ndbn дак уже много раз получал тестовые сертификаты
все на 3 месяца, попробовал другие варианты типов сертификата - не дает
так-то сейчас без надобности
ndbn
@ndbn
May 06 2016 10:29
может я попал на баг какой, сейчас попробую ещё раз, но я так 2 сертификата получил
Анатолий
@Anat56
May 06 2016 10:29
есть на год купленный
@ndbn а год на машине какой стоит?
ndbn
@ndbn
May 06 2016 10:30
ну 2016
у нас планерка, позже попробую
Анатолий
@Anat56
May 06 2016 10:31
просто обычно тестовый на 3 месяца, а у вас на год и 3 месяца, может и правда баг какой
Pavel Druzhinin
@pavelDruzhinin
May 06 2016 11:02
@ndbn сертификат у меня с КС.2
записи такие же как у вас
Nikita
@springjazzy
May 06 2016 11:29
Коллеги, была у кого-нить такая ошибка:
ns4:ErrorCode>AUT011005</ns4:ErrorCode>
<ns4:Description>Ошибка формата подписи запроса</ns4:Description>
<ns4:StackTrace>ru.lanit.hcs.integration.common.exception.OperationProcessorException: ЭП не прошла проверку: Time stamp token not granted. null
Pavel Druzhinin
@pavelDruzhinin
May 06 2016 11:29
с помощью тестового подписываю, та же ошибка
ЭП не прошла проверку: Invalid XML Signature
Nikita
@springjazzy
May 06 2016 11:30
это другая
Pavel Druzhinin
@pavelDruzhinin
May 06 2016 11:31
да, я имел ввиду что такая же которая у меня была)
Анатолий
@Anat56
May 06 2016 11:31
может на сервере проблемы
Nikita
@springjazzy
May 06 2016 11:31
так у вас такая же? Или Invalid XML Signature?
Pavel Druzhinin
@pavelDruzhinin
May 06 2016 11:31
Invalid XML Signature
Nikita
@springjazzy
May 06 2016 11:31
а у меня Time stamp token not granted
Pavel Druzhinin
@pavelDruzhinin
May 06 2016 11:31
я понял)
Nikita
@springjazzy
May 06 2016 11:32
причем проявляется при добавлении новости
Анатолий
@Anat56
May 06 2016 11:32
вон у других Время расчета хеш-суммы превысило допустимый предел
Nikita
@springjazzy
May 06 2016 11:32
Notification
а при НСИ51 норм
Анатолий
@Anat56
May 06 2016 11:32
при добавлении файла
у меня сейчас файл загружается
готового кода для добавления новости нет
Pavel Druzhinin
@pavelDruzhinin
May 06 2016 11:48
В общем, код подписания здесь: http://pastebin.com/vRkTFFgK
Подскажите что я делаю не так
уже доходит до отчания
Nikita
@springjazzy
May 06 2016 11:58
@pavelDruzhinin вы же писали вроде что подпись проверку проходит через приложение java?
good-samaritanin которое
ndbn
@ndbn
May 06 2016 12:03
1.png
3.png
4.png
5.png
дело в том что сертификат Оператора УЦ :)
Pavel Druzhinin
@pavelDruzhinin
May 06 2016 12:04
@springjazzy да, но при этом не проходит сам запрос.
то есть возвращает постоянно ошибку: ЭП не прошла проверку: Invalid XML Signature
Nikita
@springjazzy
May 06 2016 12:07
@pavelDruzhinin вчера вы создали заявку в JIRA. Так? По ходу они отрезают чтот у себя в бизнес-логике
у меня тож сейчас какая-то ошибка с TimeStamp
раньше не было
по коду я посмотрел - у меня также.
Pavel Druzhinin
@pavelDruzhinin
May 06 2016 12:08
@springjazzy нет, кинул им обращение на support
а в Jira видел подобный запрос, по нему неделя молчания
Nikita
@springjazzy
May 06 2016 12:10
@pavelDruzhinin попробуйте ради интереса exportDataProviderNsiItemRequest
для 51 справочника
у меня unit-test долбит им запросы с подписью по экспорту 51 справочника
у меня он зеленый
Pavel Druzhinin
@pavelDruzhinin
May 06 2016 12:17
@springjazzy попробовал, отправляю без Id и подписи все хорошо. Отправляю подписанный - ЭП не прошла проверку: Invalid XML Signature
Хорошо, при использовании библиотеки Xades ничего случайно настраивать не нужно?
NadyaTomsk
@NadyaTomsk
May 06 2016 12:21
@pavelDruzhinin может переустановить Crypto.NET ?
Nikita
@springjazzy
May 06 2016 12:34
вообщем подпись корретная. Специально сломал ее для НСИ51 - Ланит ругнулся что некорректная подпись
Какие-то еще проверки видимо
Pavel Druzhinin
@pavelDruzhinin
May 06 2016 13:11
@springjazzy а ошибку вам какую прислал?
такую же как у меня?
Nikita
@springjazzy
May 06 2016 13:13
да
у меня тест прошел на добавление новости
видимо что-то с сервером времени
было
Pavel Druzhinin
@pavelDruzhinin
May 06 2016 13:18
следовательно у меня невалидна сама подпись
Nikita
@springjazzy
May 06 2016 13:19
если подпись проверку проходит в samaritanin значит валидна