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

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline smihus  
#1 Оставлено : 25 августа 2016 г. 14:21:18(UTC)
smihus

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

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

Добрый день!

У меня сформирован WCF Client для нужного веб-сервиса.
Пытаюсь подписать сообщение в соответствии со СМЭВ.
Как показано в примере к .NET SDK.
Вот выдержки из моего файла конфигурации app.config:
<extensions>
<bindingElementExtensions>
<add name="SMEVTextMessageEncoder" type="CryptoPro.Sharpei.ServiceModel.SMEVMessageEncodingElement, CryptoPro.Sharpei.ServiceModel, Version=1.4.0.1, Culture=neutral, PublicKeyToken=473b8c5086e795f5"/>
</bindingElementExtensions>
</extensions>

<customBinding>
<binding name="customSmevBinding">
<security defaultAlgorithmSuite="BasicGostObsolete"
allowSerializedSigningTokenOnReply="true"
authenticationMode="MutualCertificateDuplex"
includeTimestamp="false"
messageProtectionOrder="SignBeforeEncrypt"
messageSecurityVersion="WSSecurity10WSTrustFebruary2005WSSecureConversationFebruary2005WSSecurityPolicy11BasicSecurityProfile10">
<localClientSettings detectReplays="false" />
<localServiceSettings detectReplays="false" />
</security>
<SMEVTextMessageEncoder/>
<httpTransport />
</binding>
</customBinding>

<endpointBehaviors>
<behavior name="clientBehavior">
<clientCredentials>
<clientCertificate findValue="07 ad b0 80 8e 68 07 e6 9b 16 a6 cc 2d 33 27 37 49 d9 2b 81" <!-- тестовый сертификат
x509FindType="FindByThumbprint"
storeLocation="CurrentUser"
storeName="My"/>
<serviceCertificate>
<!--storeLocation="LocalMachine" -->
<defaultCertificate findValue="07 ad b0 80 8e 68 07 e6 9b 16 a6 cc 2d 33 27 37 49 d9 2b 81" <!-- сертификат мой же, поскольку на стороне веб-сервиса еще не реализована возможность подписи ответа на запрос.
x509FindType="FindByThumbprint"
storeLocation="CurrentUser"
storeName="My"/>
<authentication
certificateValidationMode="ChainTrust"
revocationMode="Offline" />
</serviceCertificate>
</clientCredentials>
</behavior>
</endpointBehaviors>

<endpoint address="http://46.32.75.133:8888/reimbursement/ws/DataExporterService"
binding="customBinding"
bindingConfiguration="customSmevBinding"
behaviorConfiguration="clientBehavior"
contract="DataExporter.DataExporterPortType"
name="DataExporterPort">
</endpoint>

При попытке отправить запрос сервису появляется исключение (см. вложение) с текстом: "Ошибка идентификации входящего сообщения. Удаленная сторона не указала DNS-имя, поэтому нет соответствия DNS-имени "46.32.75.133". Это может быть вызвано отсутствием DNS-имени или CN-имени в различающемся имени сертификата X.509 удаленной стороны.".

Слежу за отправкой SOAP при помощи программы WireShark. Если отключить SMEVTextMessageEncoder, то запросы уходят на сервер нормально (и я вижу входящие и исходящие пакеты с помощью WireShark), но стоит только включить вышеописанные настройки, то пакеты перестают уходить, т.е. получается, что исключение возникает до момента передачи пакета на сервер.

Подскажите в чем может быть проблема.

Error.jpg (41kb) загружен 8 раз(а).
Offline smihus  
#2 Оставлено : 26 августа 2016 г. 9:40:25(UTC)
smihus

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

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

Переустановил КриптоПРО.
Код и настройки не менял.
Теперь выходит другое исключение: "Значение свойства 'defaultAlgorithmSuite' не может быть проанализировано. Значение "BasicGostObsolete" не является допустимым экземпляром типа "System.ServiceModel.Security.SecurityAlgorithmSuite".
Нашел обсуждение этой проблемы тут на форуме.
Сейчас пытаюсь опробовать предложенный там вариант.
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Guest
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.