Форум программистов, компьютерный форум, киберфорум
C#: Веб-сервисы, WCF
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.83/302: Рейтинг темы: голосов - 302, средняя оценка - 4.83
476 / 239 / 114
Регистрация: 12.05.2016
Сообщений: 647
18.08.2016, 16:57
Студворк — интернет-сервис помощи студентам
Выгрузи <ns4:orgPPAGUID> через exportOrgRegistry и юзай его вместо SenderID

Добавлено через 48 секунд
Цитата Сообщение от NaGuWaL Посмотреть сообщение
Как делегировать права на операции в личном кабинете?
Надо делегировать, а потом еще принять эти права в личном кабинете того, кому делегируешь.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
18.08.2016, 16:57
Ответы с готовыми решениями:

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

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

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

400
0 / 0 / 0
Регистрация: 15.08.2016
Сообщений: 5
19.08.2016, 09:40
Добрый день.
Формирую вот такой запрос и в ответ получаю ошибку формата подписи. При этом если вообще не подписывать, то ошибка такая же
Можете подсказать в чем проблема? гис как будто вообще игнорит подпись.
Подписываю с помощью вот этого: https://bitbucket.org/slavam/signature-demo

Запрос:
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
<soapenv:Envelope xmlns:ns="http://dom.gosuslugi.ru/schema/integration/9.0.2.1/" 
xmlns:org="http://dom.gosuslugi.ru/schema/integration/9.0.2.1/organizations-registry-common/" 
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xd="http://www.w3.org/2000/09/xmldsig#">
   <soapenv:Header>
      <ns:ISRequestHeader>
         <ns:Date>${=javax.xml.datatype.DatatypeFactory.newInstance().newXMLGregorianCalendar(GregorianCalendar.getInstance())}</ns:Date>
         <ns:MessageGUID>${=java.util.UUID.randomUUID()}</ns:MessageGUID>
      </ns:ISRequestHeader>
   </soapenv:Header>
   <soapenv:Body>
      <org:exportOrgRegistryRequest Id="signed-data-container">
         <xd:Signature Id="xmldsig-2423bc10-6477-11e6-a450-bc968010e2c3">
<xd:SignedInfo>
<xd:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"></xd:CanonicalizationMethod>
<xd:SignatureMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#gostr34102001-gostr3411"></xd:SignatureMethod>
<xd:Reference Id="xmldsig-2423bc10-6477-11e6-a450-bc968010e2c3-ref0" URI="#signed-data-container">
<xd:Transforms>
<xd:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"></xd:Transform>
<xd:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"></xd:Transform>
</xd:Transforms>
<xd:DigestMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#gostr3411"></xd:DigestMethod>
<xd:DigestValue>...</xd:DigestValue>
</xd:Reference>
<xd:Reference Type="http://uri.etsi.org/01903#SignedProperties" URI="#xmldsig-2423bc10-6477-11e6-a450-bc968010e2c3-signedprops">
<xd:DigestMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#gostr3411"></xd:DigestMethod>
<xd:DigestValue>...</xd:DigestValue>
</xd:Reference>
</xd:SignedInfo>
<xd:SignatureValue Id="xmldsig-2423bc10-6477-11e6-a450-bc968010e2c3-sigvalue">...</xd:SignatureValue>
<xd:KeyInfo>
<xd:X509Data>
<xd:X509Certificate>
...
</xd:X509Certificate>
</xd:X509Data>
</xd:KeyInfo>
<xd: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-2423bc10-6477-11e6-a450-bc968010e2c3"><xades:SignedProperties Id="xmldsig-2423bc10-6477-11e6-a450-bc968010e2c3-signedprops"><xades:SignedSignatureProperties><xades:SigningTime>2016-01-29T11:13:09.463+03:00</xades:SigningTime><xades:SigningCertificate><xades:Cert><xades:CertDigest><xd:DigestMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#gostr3411"></xd:DigestMethod><xd:DigestValue>...</xd:DigestValue></xades:CertDigest><xades:IssuerSerial><xd:X509IssuerName>...</xd:X509IssuerName><xd:X509SerialNumber>...</xd:X509SerialNumber></xades:IssuerSerial></xades:Cert></xades:SigningCertificate></xades:SignedSignatureProperties></xades:SignedProperties></xades:QualifyingProperties></xd:Object>
</xd:Signature><org:SearchCriteria>
            <ns:OGRN>...</ns:OGRN>
         </org:SearchCriteria>
      </org:exportOrgRegistryRequest>
   </soapenv:Body>
</soapenv:Envelope>
Ответ:
XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<soap:Envelope xmlns:ns3="http://www.w3.org/2000/09/xmldsig#" 
xmlns:ns4="http://dom.gosuslugi.ru/schema/integration/9.0.2.1/" 
xmlns:ns5="http://dom.gosuslugi.ru/schema/integration/9.0.2.1/organizations-registry-common/"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
   <soap:Header>
      <ns4:ResultHeader>
         <ns4:Date>2016-08-19T09:29:31.838+03:00</ns4:Date>
         <ns4:MessageGUID>f81855e0-1654-47bf-a9c9-89f5344df58a</ns4:MessageGUID>
      </ns4:ResultHeader>
   </soap:Header>
   <soap:Body>
      <ns5:exportOrgRegistryResult Id="signed-data-container">
         <ds:Signature Id="xmldsig-05c3d3a2-2376-4b56-afe5-6cecba53a72d" xmlns:ds="http://www.w3.org/2000/09/xmldsig#">...</ds:Signature>
         <ns4:ErrorMessage>
            <ns4:ErrorCode>AUT011005</ns4:ErrorCode>
            <ns4:Description>Ошибка формата подписи запроса</ns4:Description>
         </ns4:ErrorMessage>
      </ns5:exportOrgRegistryResult>
   </soap:Body>
</soap:Envelope>
0
0 / 0 / 0
Регистрация: 04.01.2015
Сообщений: 27
19.08.2016, 10:02
Коллеги, приветствую.
После долгих заморочек, нам таки пришёл КЭП в виде USB "Флэшки" с замечательной надписью "Рутокен ЭЦП".

Встала задача подписи отправляемого сообщения сертификатом с рутокена.
Уже был установлен Crypto Pro CSP

Так-же скачал и установил:
- драйвер Рутокен
- "Модуль поддержки КриптоПро CSP для Windows (x64)" С сайта рутокена

В результате через Crypto Pro CSP сертификат на Рутокене виден. (см. скрин с тремя окошками).


В чём проблема:
Когда я открываю в студии проект с примерами от Crypto PRO (C:\Program Files (x86)\Crypto Pro\.NET SDK\Examples\simple.zip -> Samples.Encrypt.gEncrypt)
, то при выполнении кода вываливается окошко Crypto Pro CSP с запросом на вставку ключа. И не важно, вставлен ключ или вставляешь его по запросу, сам факт вставки рутокена отображается, но всегда написано "File not found". (скрин с кодом и окошком CryptoPro CSP)

Если кто-нибудь подскажет как с этим быть и в чём проблема, буду очень благодарен.
Миниатюры
.NET 4.x Интеграция с ГИС ЖКХ. Подпись SOAP и защита канала по ГОСТ (2)   .NET 4.x Интеграция с ГИС ЖКХ. Подпись SOAP и защита канала по ГОСТ (2)  
0
 Аватар для NaGuWaL
17 / 14 / 0
Регистрация: 22.04.2016
Сообщений: 287
19.08.2016, 10:07
Анатольевич, А что у вас с самим сертификатом? он вообще установлен?
0
0 / 0 / 0
Регистрация: 04.01.2015
Сообщений: 27
19.08.2016, 10:16
NaGuWaL, Сертификат на рутокене установлен. (см. скрин)
Миниатюры
.NET 4.x Интеграция с ГИС ЖКХ. Подпись SOAP и защита канала по ГОСТ (2)  
0
19 / 8 / 0
Регистрация: 01.08.2016
Сообщений: 102
19.08.2016, 10:42
ferallsky, тот "Пример ЭЦП XML-файла для ГИС ЖКХ" рабочий. Хотя в одном месте мне пришлось подправлять строчку генерации даты, но это думаю была моя "локальная проблема". Это если вдруг тебя волновал вопрос, корректно ли оно подписывает, не устарел ли пример.

То, что я исправлял (строка #140):
Code
1
signing_time=datetime.now(tz=pytz.timezone('Europe/Moscow')).strftime("%Y-%m-%dT%H:%M:%S.%f+03:00"),
Но мои исправления касаются, скорее всего, локальной (моей) проблемы.

В твоем же случае... Тебя не смущают строчки вида:
XML
1
2
<ns:Date>${=javax.xml.datatype.DatatypeFactory.newInstance().newXMLGregorianCalendar(GregorianCalendar.getInstance())}</ns:Date>
<ns:MessageGUID>${=java.util.UUID.randomUUID()}</ns:MessageGUID>
в отправленном тобой запросе? Не творится ли подобное у тебя и в блоке Signature прямо перед запуском sign.py? Запрос должен быть полноценно собранным перед подписыванием.
1
13 / 11 / 0
Регистрация: 05.02.2016
Сообщений: 79
19.08.2016, 10:46
Анатольевич, тоже с помощью Рутокена ЭЦП флеш подписываю, но криптопро не использую)
0
0 / 0 / 0
Регистрация: 04.01.2015
Сообщений: 27
19.08.2016, 10:50
miron_valentin, "подайте кода на подписание... ^_^"
0
19 / 8 / 0
Регистрация: 01.08.2016
Сообщений: 102
19.08.2016, 11:02
Негодяи, на этом форуме не разрешается редактировать свои посты. =)
Цитата Сообщение от nORb Dragon Посмотреть сообщение
Не творится ли подобное у тебя и в блоке Signature прямо перед запуском sign.py?
Эту часть вопроса вычеркиваем. Забыл, что этот блок генерится самим sign.py.

Добавлено через 9 минут
ferallsky, и что у тебя с датой и временем на компе?
XML
1
<xades:SigningTime>2016-01-29T11:13:09.463+03:00</xades:SigningTime>
0
0 / 0 / 0
Регистрация: 15.08.2016
Сообщений: 5
19.08.2016, 11:13
nORb Dragon, спасибо что обратили внимание на этот момент. Я действительно затупил с последовательностью некоторых действий. Сейчас поправил и подпись прошла, ура)
P.S. дату тоже правил в скрипте
0
 Аватар для NaGuWaL
17 / 14 / 0
Регистрация: 22.04.2016
Сообщений: 287
19.08.2016, 11:15
miron_valentin, miron_valentin, Каким образом вы подписываете без крипто про? Собственной либой шифрования?

Добавлено через 1 минуту
Анатольевич, В систему вы сертификат установили?
0
13 / 11 / 0
Регистрация: 05.02.2016
Сообщений: 79
19.08.2016, 11:19
Анатольевич,NaGuWaL, рутокен вот такие библиотеки и обертки предоставил pki-core-c#.zip
тут есть пример использования библиотеки ***
методу GetRawSign передаю уже готовый хэш.
0
13 / 11 / 0
Регистрация: 05.02.2016
Сообщений: 79
19.08.2016, 11:22
NaGuWaL, в интернете, кстати, находил проект для вычисления шифра и хэша по госту. Так что не используя рутокен, можно тоже от криптопро уйти, думаю
0
 Аватар для NaGuWaL
17 / 14 / 0
Регистрация: 22.04.2016
Сообщений: 287
19.08.2016, 11:26
miron_valentin, А разве это ФСБ валидно?

Добавлено через 1 минуту
miron_valentin, В законе чётко написанно Тока сертифицированное ПО...
0
0 / 0 / 0
Регистрация: 04.01.2015
Сообщений: 27
19.08.2016, 11:31
NaGuWaL, Да, сертификат в систему устанавливали. Как и в реестр. Не помогло.

miron_valentin, Благодарю. Буду разбираться как руки дойдут.
0
13 / 11 / 0
Регистрация: 05.02.2016
Сообщений: 79
19.08.2016, 11:32
Цитата Сообщение от NaGuWaL Посмотреть сообщение
А разве это ФСБ валидно?
не валидно... не подумал...
Но рутокен-то сертифицирован, им можно)
0
 Аватар для NaGuWaL
17 / 14 / 0
Регистрация: 22.04.2016
Сообщений: 287
19.08.2016, 11:37
miron_valentin, А на это начьхать, все либы должны быть ФСБ валидными... Иначе чёпик правосудия и штраф... Добро пожаловать в информационный ГУЛАГ...

Добавлено через 3 минуты
Я работаю в связке Крипто про CSP + КриптоПро.NET + КриптоТуннель + Xades библиотека для шинкования soap сообщений
0
19 / 8 / 0
Регистрация: 01.08.2016
Сообщений: 102
19.08.2016, 11:38
miron_valentin, случаем не тот проект, на который ссылку выше кидал ferallsky? Там как раз реализация без рутокена и крипто про. Его за основу своих наработок по обмену запросами с ГИС ЖКХ в свое время и взял.

Касаемо валидности в ФСБ... Я хз, как на этом форуме относятся к ссылкам на "внешние ресурсы". Надеюсь не покарают. =)
Первоисточник моих мыслей, что платить за бесполезный мусор нет смысла и можно собрать свой набор "подписывания запроса" - https://habrahabr.ru/post/300856/
Там же было небольшое обсуждение в комментариях к статье о "законности" отказа от Крипто Про и перехода на тот же openssl. Солидарен с мнением, что:
openssl входит в состав МагПро КриптоТуннель — сертифицированное СКЗИ, можно его использовать и для подписывания
Однако, я не юрист.
0
 Аватар для NaGuWaL
17 / 14 / 0
Регистрация: 22.04.2016
Сообщений: 287
19.08.2016, 11:51
nORb Dragon, Ну наша организация не стала рисковать... Купила клиентский набор из которого я сделал сервак. Нам обошлось всего в 6 тыщь. Если то же самое мутить на реальный Windows Server то там сумма достигает порядка 80кусков...

Добавлено через 6 минут
nORb Dragon, и мы пользуем виндовую платформу...

Добавлено через 37 секунд
+ C# как язык реализации
0
1 / 1 / 0
Регистрация: 26.04.2016
Сообщений: 36
19.08.2016, 11:51
Цитата Сообщение от ferallsky Посмотреть сообщение
в ответ получаю ошибку формата подписи.
а есть пример рабочего примера с подписью. У меня такая же ошибка. Ума не приложу, в чем может быть загвоздка
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
19.08.2016, 11:51

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

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
320
Закрытая тема Создать тему
Новые блоги и статьи
Часы электронные
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С. Задача: Напишите приложение-калькулятор, которое помогает рассчитывать параметры кредита для аннуитетного и дифференцированного видов. . .
У нас сейчас поговорку "Опять 25" нужно переделать на "Опять +35".
kumehtar 04.08.2026
С ностальгией вспоминаю времена моего детства, когда у нас и правда +25 - была максимальная температура летом. Раньше +25 °C реально казались вершиной жары, когда можно было весь день пропадать на. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru