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

Уведомление

Icon
Error

2 Страницы<12
Опции
К последнему сообщению К первому непрочитанному
Offline bony599  
#11 Оставлено : 24 сентября 2019 г. 10:59:23(UTC)
bony599

Статус: Активный участник

Группы: Участники
Зарегистрирован: 15.05.2015(UTC)
Сообщений: 40
Российская Федерация
Откуда: Москва

Сказал(а) «Спасибо»: 2 раз
Автор: Артём Макаров Перейти к цитате
Какая именно у вас проблема? Какая ошибка?
при обработке ответа исключение: The algorithm 'http://www.w3.org/2001/04/xmldsig-more#gostr34102001-gostr3411' is not accepted for operation 'AsymmetricSignature' by algorithm suite CryptoPro.Sharpei.ServiceModel.Gost2012_256AlgorithmSuite.

Автор: Артём Макаров Перейти к цитате
Установлена ли последняя версия КриптоПро.NET? Какую версию .net framework используете?
1.0.6893, 4.0

Автор: Артём Макаров Перейти к цитате
Какая привязка используется?
customBinding

Автор: Артём Макаров Перейти к цитате
Если возможно - приложите trace и message log во время возникновения ошибки
- нормальный ответ от службы. Подпись ГОСТ2001.

Автор: Артём Макаров Перейти к цитате
конфигурацию клиента и сервера

Цитата:

<system.serviceModel>
<extensions>
<bindingElementExtensions>
<add name="SMEVTextMessageEncoder" type="CryptoPro.Sharpei.ServiceModel.SMEVMessageEncodingElement, CryptoPro.Sharpei.ServiceModel, Version=1.4.0.1, Culture=neutral, PublicKeyToken=473b8c5086e795f5"/>
</bindingElementExtensions>
</extensions>
<bindings>
<customBinding>
<binding name="PaymentsBindingAsync">
<SMEVTextMessageEncoder />
<security defaultAlgorithmSuite="BasicGost2012_256" allowSerializedSigningTokenOnReply="true"
authenticationMode="MutualCertificateDuplex" includeTimestamp="false"
messageProtectionOrder="SignBeforeEncrypt" messageSecurityVersion="WSSecurity10WSTrustFebruary2005WSSecureConversationFebruary2005WSSecurityPolicy11BasicSecurityProfile10">
<localClientSettings detectReplays="false" />
<localServiceSettings detectReplays="false" />
</security>
<httpTransport maxBufferPoolSize="2147483647" maxReceivedMessageSize="2147483647"
maxBufferSize="2147483647" />
</binding>
</customBinding>
</bindings>
<client>
<endpoint address="http://oraas.rt.ru:7777/gateway/services/SID0004769/1.00"
binding="customBinding" bindingConfiguration="PaymentsBindingAsync"
contract="Service.VerificationServicePortType" name="DataVerificationPort" />
</client>


Автор: Артём Макаров Перейти к цитате
используемые сертификаты
- обычные валидные сертификаты: наш - ГОСТ2012, сервера - ГОСТ2001, который содержится в ответе.

Отредактировано пользователем 24 сентября 2019 г. 11:00:36(UTC)  | Причина: Не указана

Offline Артём Макаров  
#12 Оставлено : 24 сентября 2019 г. 11:06:25(UTC)
Артём Макаров

Статус: Сотрудник

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

Сказал(а) «Спасибо»: 4 раз
Поблагодарили: 54 раз в 53 постах
Как я писал выше:
Цитата:

Смешанный сценарий (2001 + 2012) не заработает.

Если нужен 2012 ГОСТ то запросы и ответы должны быть на 2012 ГОСТе.


Ошибка возникает из-за того, что клиент пытается использовать 2012 гост, а сервер 2001. На сервере нужно изменить сертификат и, если необходимо, конфигурацию для использования 2012 ГОСТа.
Техническую поддержку оказываем тут
Наша база знаний
Offline bony599  
#13 Оставлено : 24 сентября 2019 г. 11:23:23(UTC)
bony599

Статус: Активный участник

Группы: Участники
Зарегистрирован: 15.05.2015(UTC)
Сообщений: 40
Российская Федерация
Откуда: Москва

Сказал(а) «Спасибо»: 2 раз
Автор: Артём Макаров Перейти к цитате
Как я писал выше:
Цитата:

Смешанный сценарий (2001 + 2012) не заработает.

Если нужен 2012 ГОСТ то запросы и ответы должны быть на 2012 ГОСТе.


Ошибка возникает из-за того, что клиент пытается использовать 2012 гост, а сервер 2001. На сервере нужно изменить сертификат и, если необходимо, конфигурацию для использования 2012 ГОСТа.


Как я писал выше: Нашелся ли способ решения проблемы?

Сертификат на сервере устанавливает поставщик информации в СМЭВ2 и я на всех поставщиков, использующих сертификат ГОСТ2001, повлиять никак не могу.
Также не могу получить новый сертификат КЭП ГОСТ2001.
Offline Артём Макаров  
#14 Оставлено : 24 сентября 2019 г. 11:31:18(UTC)
Артём Макаров

Статус: Сотрудник

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

Сказал(а) «Спасибо»: 4 раз
Поблагодарили: 54 раз в 53 постах
Тут принципиальная проблема в том как работает WCF: параметры и алгоритмы должны совпадать на сервере и на клиенте. Если сервер использует 2001 ГОСТ - ваш единственный выход тоже использовать ГОСТ 2001.

Если необходимо работать с системами и ГОСТ 2012 и ГОСТ 2001 - то придётся делать 2 клиента с разными сертификатами, с соответствующими ключами. Подружить 2012 клиента с 2001 сервером никак не выйдет, увы.

Отредактировано пользователем 24 сентября 2019 г. 11:32:12(UTC)  | Причина: Не указана

Техническую поддержку оказываем тут
Наша база знаний
Offline bony599  
#15 Оставлено : 24 сентября 2019 г. 12:00:13(UTC)
bony599

Статус: Активный участник

Группы: Участники
Зарегистрирован: 15.05.2015(UTC)
Сообщений: 40
Российская Федерация
Откуда: Москва

Сказал(а) «Спасибо»: 2 раз
Автор: Артём Макаров Перейти к цитате
Тут принципиальная проблема в том как работает WCF: параметры и алгоритмы должны совпадать на сервере и на клиенте. Если сервер использует 2001 ГОСТ - ваш единственный выход тоже использовать ГОСТ 2001.

Если необходимо работать с системами и ГОСТ 2012 и ГОСТ 2001 - то придётся делать 2 клиента с разными сертификатами, с соответствующими ключами. Подружить 2012 клиента с 2001 сервером никак не выйдет, увы.

Как это возможно? Метод у сервиса один.
Offline Артём Макаров  
#16 Оставлено : 24 сентября 2019 г. 12:04:04(UTC)
Артём Макаров

Статус: Сотрудник

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

Сказал(а) «Спасибо»: 4 раз
Поблагодарили: 54 раз в 53 постах
Немного не понял вопрос.

Если сервер использует ГОСТ 2001 - пишите для него клиент, который использует 2001 сертификат.
Сервер использует ГОСТ 2012 - пишите и используете для него клиент, который использует 2012 сертификат.
Техническую поддержку оказываем тут
Наша база знаний
Offline two_oceans  
#17 Оставлено : 24 сентября 2019 г. 12:32:59(UTC)
two_oceans

Статус: Эксперт

Группы: Участники
Зарегистрирован: 05.03.2015(UTC)
Сообщений: 1,602
Российская Федерация
Откуда: Иркутская область

Сказал(а) «Спасибо»: 110 раз
Поблагодарили: 394 раз в 366 постах
По самой проблеме я думаю это какая-то ерунда что алгоритм подписи должен быть одинаковым. Понимаю когда должен совпадать алгоритм TLS (потому что он между сторонами в один момент времени). Для ясности - соединение со смэв нешифрованное, так как идет по защищенному Vipnet каналу, то есть TLS к клиенту-серверу вообще никаким боком, для отдельная программа или железка. Подпись же по сути независимая на каждой стороне, зачем ее согласовывать? Разве трудно сделать case по urn алгоритма подписи и создавать нужный объект?

К хорошему. Судя по объявлению на технических порталах СМЭВ 9-11 октября 2019 года сервера СМЭВ предполагается перевести на ГОСТ-2012, сертификат сервера уже выложен для смэв 3, так что проблеме существовать осталось полмесяца. Правда обещали гост-2012 еще в апреле и переносили 3 раза.

Отредактировано пользователем 24 сентября 2019 г. 12:34:16(UTC)  | Причина: Не указана

thanks 1 пользователь поблагодарил two_oceans за этот пост.
bony599 оставлено 24.09.2019(UTC)
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
2 Страницы<12
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.