Статус: Активный участник
Группы: Участники
Зарегистрирован: 15.05.2015(UTC) Сообщений: 40 Откуда: Москва Сказал(а) «Спасибо»: 2 раз
|
При получении ответа на запрос от тестового сервиса ГИС ЖКХ СМЭВ http://smev.gosuslugi.ru/portal/services.jsp#!/F/MNSVsvedPayKO/1.00/testSmev/SID0004154 возникает исключение в примере SMEV.Client: Цитата:Необработанное исключение: System.ServiceModel.Security.MessageSecurityException : Входящее сообщение было подписано маркером, отличающимся от маркера, использов анного для шифрования тела сообщения. Ожидалось, что маркеры будут одинаковы. Как с этим бороться?
|
|
|
|
Статус: Активный участник
Группы: Администраторы, Участники Зарегистрирован: 28.04.2010(UTC) Сообщений: 140 Откуда: Крипто-Про Поблагодарили: 15 раз в 14 постах
|
Добрый день,
В вашем клиенте СМЭВ вы задаете сервисный сертификат в настройке конечной точки ? Проверьте, что это тот же самый сертификат, к-ым подписано сообщение.
|
1 пользователь поблагодарил Михаил Хоменко за этот пост.
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 15.05.2015(UTC) Сообщений: 40 Откуда: Москва Сказал(а) «Спасибо»: 2 раз
|
Да, так и есть! Я уже разобрался. Просто долго не мог разобраться а хде этот сертификат взять, теребил техподдержку и в смэв и в госуслугах. Странно конечно, что на странице сервиса необходимые сертификаты не опубликованы. В итоге СМЭВ ответил: Цитата:Из п. 3. ЭЛЕКТРОННЫЕ ПОДПИСИ В ЭЛЕКТРОННЫХ СООБЩЕНИЯХ В СМЭВ, МР 2.5.6 (http://smev.gosuslugi.ru/portal/api/files/get/80068) следует, что все сообщения участвующие в взаимодействии с СМЭВ должны быть подписаны ЭП. В электронном сообщении сформированном согласно методическим рекомендаций в теге <BinarySecurityToken> находится бинарное значение электронной подписи в кодировке Base-64. Сертификаты электронной подписи используемых при взаимодействии через СМЭВ с ГИС ЖКХ (http://smev-mvf.test.gosuslugi.ru:7777/gateway/services/SID0004154) во вложении. К тому времени я уже нашел этот ответ на форуме: Автор: Bpar ... ================= В-общем берём Fiddler, нюхаем ответы сервера, находим там первый binarySecurityToken, Там-же конвертим его из Base64 и сохраняем в файл .CER. Импортируем этот сертификат и подсовываем его в DefaultCertificate. И отключил в .NET удаление содержимого элемента BinarySecurityToken из журнала MessageLogging (LogKnownPii="true"). Теперь вот думаю, как без задавания сертификата сервера вообще обойтись, раз он всегда в сообщении. Отредактировано пользователем 25 августа 2016 г. 17:52:08(UTC)
| Причина: Не указана
|
|
|
|
Статус: Активный участник
Группы: Администраторы, Участники Зарегистрирован: 28.04.2010(UTC) Сообщений: 140 Откуда: Крипто-Про Поблагодарили: 15 раз в 14 постах
|
Если используется Message Security, то нельзя не задавать сервисный сертификат. Кажется для режима TransportWithMessage Security не требуется задание сервисного сертификата. Но для этого необходимо, чтобы сервис был доступен по https.
|
|
|
|
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close