Ключевое слово в защите информации
КЛЮЧЕВОЕ СЛОВО
в защите информации
Получить ГОСТ TLS-сертификат для домена (SSL-сертификат)
Добро пожаловать, Гость! Чтобы использовать все возможности Вход или Регистрация.

Уведомление

Icon
Error

12 Страницы<1234>»
Опции
К последнему сообщению К первому непрочитанному
Offline tmth  
#11 Оставлено : 5 июня 2012 г. 11:03:22(UTC)
tmth

Статус: Новичок

Группы: Участники
Зарегистрирован: 08.11.2011(UTC)
Сообщений: 4

Проблема сама собой не решилась. У нас есть сертификат на техническую поддержку SDK, можем ли мы продолжать общение в форуме, либо есть другая процедура запроса тех. поддержки?

Код приведённый maxdm работает наполовину - он позволяет подписать сообщение так, чтобы СМЭВ его понял, но ответ СМЭВ он не проверяет (всегда возвращает false)

Отредактировано пользователем 5 июня 2012 г. 11:20:08(UTC)  | Причина: Не указана

Offline Femi  
#12 Оставлено : 5 июня 2012 г. 20:15:31(UTC)
Наталья Мелкумян (Мовчан)

Статус: Padawan

Группы: Администраторы
Зарегистрирован: 02.12.2010(UTC)
Сообщений: 1,383
Женщина
Российская Федерация
Откуда: Москва

Сказала «Спасибо»: 11 раз
Поблагодарили: 70 раз в 48 постах
Цитата:
У нас есть сертификат на техническую поддержку SDK, можем ли мы продолжать общение в форуме, либо есть другая процедура запроса тех. поддержки?

Да. Для этого у нас есть портал технической поддержки.
http://www.cryptopro.ru/...derzhki-dobro-pozhalovat
Техническую поддержку оказываем тут.
Наша база знаний.
Offline wide  
#13 Оставлено : 25 июля 2012 г. 19:16:52(UTC)
wide

Статус: Новичок

Группы: Участники
Зарегистрирован: 25.07.2012(UTC)
Сообщений: 5
Мужчина
Откуда: программинг

Сказал «Спасибо»: 2 раз
maxdm написал:
http://pastebin.com/vsYqqfMQ
http://pastebin.com/yLCiY2C6


При проверке сообщения, приведенного по второй ссылке, сервис http://188.254.16.92:7777/gateway/services/SID0003038 выдает ошибку с кодом 3 "Неверная ЭП сообщения". Получается код приведенный по первой ссылке неверный?
Offline existenz  
#14 Оставлено : 8 августа 2012 г. 14:18:43(UTC)
existenz

Статус: Новичок

Группы: Участники
Зарегистрирован: 08.08.2012(UTC)
Сообщений: 3

День добрый.
Возникли сложности при взаимодействии с сервисом СМЭВ с использованием библиотеки КриптоПро .NET. Конкретнее - речь идет о примере .NET SDK \Examples\WCF.zip\SMEV\SMEV.2010.sln .

По порядку:
- мы скачали и установили КриптоПро .NET (1.0.4583.3 от 2012-07-19) и КриптоПро .NET SDK (http://cryptopro.ru/sites/default/files/products/net/files/net-win32-eng.msi и http://cryptopro.ru/site...les/netsdk-win32-eng.msi соответственно)
- получили тестовый сертификат (http://www.cryptopro.ru/certsrv/)
- открыли пример \.NET SDK\Examples\WCF.zip\SMEV\SMEV.2010.sln
- т.к. к примеру не было приложено никаких сертификатов, переписали строковые констатнты отпечатков serverCertThumbprint и clientCertThumbprint (указали отпечаток тестового сертификата)
- также пришлось повозиться с ошибкой "Значение свойства 'algorithmSuite' не может быть проанализировано. Ошибка: Значение "BasicGostObsolete" не является допустимым экземпляром типа "System.ServiceModel.Security.SecurityAlgorithmSuite"." Прописали его явно в коде (убрав из app.config).

В результате происходит вызов сервиса, но теперь происходит следующая ошибка:
"Маркер подписывания System.IdentityModel.Tokens.X509SecurityToken не имеет ключа, поддерживающего набор алгоритмов CryptoPro.Sharpei.ServiceModel.GostAlgorithmSuite."
И вот тут варианты решения закончились.
Подскажите, пожалуйста, в чем загвоздка? Может дело в сертификате (или в том, что он по неверному алгоритму сформирован в тестовом уц, в списке ГОСТ-Р так и не удалось найти)? Или же нужно еще какие модификации примера выполнить?

код Program.cs http://pastebin.com/dw26z9gp
код app.config http://pastebin.com/bCNFrc2r

Отредактировано пользователем 8 августа 2012 г. 14:20:23(UTC)  | Причина: Не указана

Offline Win  
#15 Оставлено : 9 августа 2012 г. 14:17:31(UTC)
Win

Статус: Новичок

Группы: Участники
Зарегистрирован: 09.08.2012(UTC)
Сообщений: 8

Приветствую.
Возникли аналогичные проблемы с сервисами для СМЭВ и примером .NET SDK \Examples\WCF.zip\SMEV\SMEV.2010.sln.
Основная проблема что не работает Пример взаимодействия с сервисом СМЭВ из SDK:
не получается через конфиг сервиса задать algorithmSuite="BasicGostObsolete" и добавить Extensions для Binding'га.

Помогите пожалуйста. И в блоге был обещан пример для WCF. не смог найти его.

Заранее благодарю.
Offline existenz  
#16 Оставлено : 9 августа 2012 г. 15:19:25(UTC)
existenz

Статус: Новичок

Группы: Участники
Зарегистрирован: 08.08.2012(UTC)
Сообщений: 3

Win написал:
Приветствую.
Возникли аналогичные проблемы с сервисами для СМЭВ и примером .NET SDK \Examples\WCF.zip\SMEV\SMEV.2010.sln.
Основная проблема что не работает Пример взаимодействия с сервисом СМЭВ из SDK:
не получается через конфиг сервиса задать algorithmSuite="BasicGostObsolete" и добавить Extensions для Binding'га.

Помогите пожалуйста. И в блоге был обещан пример для WCF. не смог найти его.

Заранее благодарю.


Копаем уже несколько дней. Возможно будет полезной информация:
1. Необходимо установить .Net, затем .Net SDK (версия должна совпадать с .Net) и CSP 3.6 R2 (если более раннюю поставить, не будет возможности "протестировать" созданный сертификат, на вкладке "сервис" в CSP просто не будет кнопки).
2. Получить тестовые сертификаты (проверки подлинности клиента и проверки подлинности сервера) на https://cryptopro.ru/certsrv/ (убедиться, что пункт "CSP: Crypto-Pro GOST R 34.10-2001 Cryptographic Service Provider" в списке параметров ключа присутствует). Для каждого сертификата свой ключ создать (если нужно в дальнейшем его копировать, ставить признак "экспортируемости" ключа перед созданием). Установить в системе полученные сертификаты (по умолчанию встали в "Личное").
3. Открыть пример. У нас не получилось вписать новые отпечатки созданных сертификатов (вписать получилось, но всё-равно по ним ничего не находит). Поэтому просто берем из реестра "Личное" первый и второй сертификат (для примера этого достаточно).
4. Запустить.

Сразу оговорюсь, получить ответ от сервиса и прочесть его в консоли нам так и не удалось.
На текущий момент боремся с ошибкой:
"Незащищенное или неправильно защищенное сообщение об ошибке было получено от другой стороны. Код ошибки и описание см. внутреннее исключение. SMEV-100013: При обработке запроса произошла ошибка: Неверный формат сертификата"

С ошибкой "algorithmSuite="BasicGostObsolete"" сталкивались. Либо нужно всё сделать как описано выше и тогда ошибки не будет.
Либо еще вариант, в коде перед установкой модифицированной привязки прописать:
binding.Elements.Find<SecurityBindingElement>().DefaultAlgorithmSuite = GostAlgorithmSuite.BasicGostObsolete;
а из app.config убрать атрибут algorithmSuite="BasicGostObsolete". Но это уже модификация примера, хотя он и в изначальном виде работает, как оказалось :)

И еще линки полезные
http://cryptopro.ru/foru....aspx?g=posts&t=2930
http://www.cryptopro.ru/....aspx?g=posts&t=4570

Отредактировано пользователем 9 августа 2012 г. 15:20:22(UTC)  | Причина: Не указана

Offline Win  
#17 Оставлено : 9 августа 2012 г. 16:06:52(UTC)
Win

Статус: Новичок

Группы: Участники
Зарегистрирован: 09.08.2012(UTC)
Сообщений: 8

Спасибо за ответ.
У меня задача следующая:
У нас сервис, который должен подписать сво ответ для смэв по госту и т.п..(Ну и по желанию проверить сертификат смэв при вызове сервиса)

Хотелось бы конечно на текущий сервис, добавить настройки через конфиг. подключить сборки и все.
А так необходимо конфигурировать сервис через код. примеры из SDK не заводятся.(

Offline mustiks  
#18 Оставлено : 30 сентября 2012 г. 22:08:25(UTC)
mustiks

Статус: Участник

Группы: Участники
Зарегистрирован: 28.03.2012(UTC)
Сообщений: 11
Откуда: Питер

Поблагодарили: 1 раз в 1 постах
Моя реализация сервиса для СМЭВ с описанием http://mustiksprogrammin...com/2012/09/SmevWcf.html
Offline commander  
#19 Оставлено : 1 октября 2012 г. 18:32:31(UTC)
commander

Статус: Участник

Группы: Участники
Зарегистрирован: 16.12.2008(UTC)
Сообщений: 22
Откуда: Смоленск

Сказал(а) «Спасибо»: 4 раз
Не стал создавать новую тему...
Была сделана подпись запросов XML для СМЭВ на основе примера SignSmevRequest.cs, все работало, но пару недель назад почти все сервисы (разных ведомств) стали возвращать ошибку "SMEV-100001: При обработке запроса произошла ошибка: Внутренняя ошибка сервиса".
Сделали запрос к СМЭВ, они ответили:
"Данная ошибка возникает из-за того, что запрос, отправляемый к сервису, не был каноникализирован перед подписанием.
Это видно по дублирующимся namespace "http://www.w3.org/2000/09/xmldsig#".
Каноникализация является одним из требований МР."

Странно, что 1. раньше именно эти запросы выполнялись без ошибок;
2. эти подписанные запросы проходят проверку подписи в сервисе проверки ЭП-ОВ (http://188.254.16.92:7777/gateway/services/SID0003038?wsdl).

В подписанном запросе действительно несколько раз встречался этот namespace (BinarySecurityToken я вырезал):
Цитата:
<?xml version="1.0"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
<SOAP-ENV:Header>
<wsse:Security SOAP-ENV:actor="http://smev.gosuslugi.ru/actors/smev">
<wsse:BinarySecurityToken EncodingType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#Base64Binary" ValueType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X509v3" wsu:Id="SenderCertificate">...</wsse:BinarySecurityToken>
<ds:Signature>
<SignedInfo xmlns="http://www.w3.org/2000/09/xmldsig#">
<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="#body">
<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>g4etCFCxH2y5uTpSlmy9f6vdlo3q+9hK1Q1SXHRntdI=</DigestValue>
</Reference>
</SignedInfo>
<SignatureValue xmlns="http://www.w3.org/2000/09/xmldsig#">3ozFPeMFVHIdQpZdzSGuiGJUIvYwjLKzDsn+q88CmwvB6hBpskVBK6fsf8XzZAfNTHZl8s08F2oB5mxsGM6X6w==</SignatureValue>
<ds:KeyInfo>
<wsse:SecurityTokenReference>
<wsse:Reference URI="#SenderCertificate" ValueType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X509v3"/>
</wsse:SecurityTokenReference>
</ds:KeyInfo>
</ds:Signature>
</wsse:Security>


Методом подбора удалось найти вариант, когда ошибки нет:
Цитата:
<?xml version="1.0"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
<SOAP-ENV:Header>
<wsse:Security SOAP-ENV:actor="http://smev.gosuslugi.ru/actors/smev">
<wsse:BinarySecurityToken EncodingType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#Base64Binary" ValueType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X509v3" wsu:Id="SenderCertificate">...</wsse:BinarySecurityToken>
<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="#body">
<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>g4etCFCxH2y5uTpSlmy9f6vdlo3q+9hK1Q1SXHRntdI=</DigestValue>
</Reference>
</SignedInfo>
<SignatureValue>3ozFPeMFVHIdQpZdzSGuiGJUIvYwjLKzDsn+q88CmwvB6hBpskVBK6fsf8XzZAfNTHZl8s08F2oB5mxsGM6X6w==</SignatureValue>
<ds:KeyInfo>
<wsse:SecurityTokenReference>
<wsse:Reference URI="#SenderCertificate" ValueType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X509v3"/>
</wsse:SecurityTokenReference>
</ds:KeyInfo>
<Signature>
</wsse:Security>

Я добился этого просто изменяя уже подписанный запрос, но это не красиво. Как нужно правильно модифицировать SignSmevRequest.cs, чтобы сразу получать допустимый XML?
В Методических рекомендациях везде используется нэймспэйс ds (<ds:SignedInfo> и т.д.), но я не понимаю, как его можно получить из SignedXml...
Заранее спасибо.
Offline commander  
#20 Оставлено : 2 октября 2012 г. 14:17:57(UTC)
commander

Статус: Участник

Группы: Участники
Зарегистрирован: 16.12.2008(UTC)
Сообщений: 22
Откуда: Смоленск

Сказал(а) «Спасибо»: 4 раз
Неужели никто не знает, как можно заставить формировать SignedXml все идентификаторы в пространстве имен "ds:"?
Ведь из примера они получаются "<SignedInfo xmlns="http://www.w3.org/2000/09/xmldsig#">" вместо "ds:SignedInfo" ит.д., а это не соответствует Методическим рекомендациям.
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Guest
12 Страницы<1234>»
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.