These are chat archives for springjazzy/GIS_JKH_Integration

23rd
May 2016
Nikita
@springjazzy
May 23 2016 05:55
Всем привет!
Как в песне - Нас утро встречает прохладой, а ГИС ЖКХ <ns4:StackTrace>ru.lanit.hcs.integration.common.exception.OperationProcessorException: ЭП не прошла проверку: OCSP server returned status 2
перекличка )
у кого такая же?
Анатолий
@Anat56
May 23 2016 05:57
привет
аналогично
Nikita
@springjazzy
May 23 2016 05:58
Эхх.. Я то думал с утра приду поделаю интеграцию
ладно без подписи поработаем
ndbn
@ndbn
May 23 2016 06:11
Всем привет. Кто следил за ситуацией, я правильно понял, что "пилотные" регионы отменили и теперь все пилотные стали?
@rosd7_twitter для моего региона у одного из дилеров который там есть в списке, 7к сейчас стоит
т.е. не "пилотные" отменили
Norem
@shsa
May 23 2016 09:36
Я сюда с текстом в буфере полез "Ошибка формата подписи запроса", а оно оказывается не только у меня )
Анатолий
@Anat56
May 23 2016 11:21
а промышленный работает?, у меня превышен интервал ожидания
Анатолий
@Anat56
May 23 2016 11:43
А нет, работает
через прокси только не хочет что-то
Анатолий
@Anat56
May 23 2016 11:58
а нет, через прокси тоже заработало, видать что-то сетевое было у нас
pashapasha2017
@pashapasha2017
May 23 2016 13:01
Коллеги, добрый день! Подскажите, пожалуйста, если ли способ подключения к ГИС ЖКС без использования МагПро КриптоТунеля? Пишу на .NET. Огромное спасибо.
*ЖКХ :)
Примеры, возможно, немного устарели, но они довольно наглядно демонстрируют то, что Вас интересует.
Ну и https://github.com/springjazzy/Xades/ (Репозиторий автора этого чата. Спасибо ему.)
pashapasha2017
@pashapasha2017
May 23 2016 14:19
А разве Xades не занимается только подписью сообщений по ГОСТу, но никак не защищает сам канал? Что собственно и обеспечивает МагПро, от которого я хочу отказаться.
То есть части:
  1. шифруем канал по ГОСТ
  2. подписываем каждое сообщение
меня вот интересует как отказаться от МагПро для решения первой задачи
со второй все понятно
pashapasha2017
@pashapasha2017
May 23 2016 14:25
по ссылке на форум я прочитал все посты, но ответа внятного не нашел :(
помогите! кто как подключается...
спасибо
pashapasha2017
@pashapasha2017
May 23 2016 14:30
Или же я неправ и библиотека Xades способна установить защищенное соединение с ГИС ЖКС и подписывать все вызовы?
developerts
@developerts
May 23 2016 14:34
Сорри, видимо в примерах нет этого момента.
Защищенное соединение предоставляет криптопровайдер.
Если в системе стоит КриптоПро, то ГОСТ-шифрование должно подцепляться автоматично.
ГИС требует клиентскую авторизацию по сертификату, так что надо вместо логина и пароля указать сертификат и переставить тип авторизации в соответствующем месте.
            var store = new X509Store(storeName, location);
            store.Open(OpenFlags.ReadOnly | OpenFlags.OpenExistingOnly);

            var fcollection = store.Certificates.Find(X509FindType.FindByThumbprint, certificateThumbprint, false);
            this.cert = fcollection[0];
...
            using (NsiPortsTypeClient proxy = new NsiPortsTypeClient(binding, remoteAddress))
            {
                proxy.ClientCredentials.ClientCertificate.Certificate = this.cert;
                proxy.exportNsiList(header, req, out resp);
            }
pashapasha2017
@pashapasha2017
May 23 2016 14:40
При формировании запроса к ГИСу через SoapUI+CryptoTunnel требуется бейсик авторизация и сертификат.
А тут уже необходимость отпадает, я вас правильно понимаю?
pashapasha2017
@pashapasha2017
May 23 2016 14:48
Я запрос делаю WebClient с подключением сертификата
cert = new X509Certificate2(@"TestCryptoPro.cer", "Password12345");
request.ClientCertificates.Add(cert);
выдается ошибка
<soap:Body>
    <soap:Fault>
        <faultcode>soap:Server</faultcode>
        <faultstring>AUT011000: Неверный идентификатор ИС</faultstring>
        <detail>
            <ns4:Fault>
                <ns4:ErrorCode>AUT011000</ns4:ErrorCode>
                <ns4:ErrorMessage>Неверный идентификатор ИС</ns4:ErrorMessage>
                <ns4:StackTrace>ru.lanit.hcs.integration.common.exception.SoapFaultException: Certificate in header is blank
developerts
@developerts
May 23 2016 14:48
Есть 2 тестовых стенда (СИТ1 и СИТ2). Про СИТ1 не скажу, а СИТ2 на отдельном порту пускает во-первых без HTTPS-шифрования, во-вторых не требует ЭЦП.
На основном порту - шифрование требуется, ЭЦП является неоязательным.
pashapasha2017
@pashapasha2017
May 23 2016 14:49
Подключаюсь в СИТ2 на порт с шифрованием https://54.76.42.99:60045
такой же запрос на CryptoTunnel отрабатывает отлично
developerts
@developerts
May 23 2016 14:52
Я подключался через http://test:SDldfls4lz5%40!82d@54.76.42.99:60046/ext-bus-home-management-service/services/HomeManagement?wsdl (Но в последнее время указание логина/пароля в URL вроде стало возвращать ошибку)
pashapasha2017
@pashapasha2017
May 23 2016 14:53
сейчас попробовал без логина/пароля
ошибка таже
ru.lanit.hcs.integration.common.exception.SoapFaultException: Certificate in header is blank
developerts
@developerts
May 23 2016 14:53
Но в целом порт 60046 не требует SSL/ГОСТ, но требует логин/пароль (+доп.заголовок с отпечатком сертификата)
pashapasha2017
@pashapasha2017
May 23 2016 14:54
это я знаю, но мне нужно с соединением разобраться для продакшена
идея отказаться от CryptoTunnel
сейчас работает только с ним
developerts
@developerts
May 23 2016 14:55
Тогда proxy.ClientCredentials.ClientCertificate.Certificate = cert;
Там есть еще всякие мелкие неочевидные моменты (типа того что надо например отключить проверку сетрификата сервера ибо у СИТов имя в сертификате не совпадает с именем в URL), но в целом всё ищется и находится.
Главное знать, что это реально можно сделать. )
(И для этого не надо писать с 0 реализацию SSL))