Статус: Участник
Группы: Участники
Зарегистрирован: 10.04.2017(UTC) Сообщений: 15 Откуда: Россия
Сказал(а) «Спасибо»: 1 раз
|
Автор: archimed7592 Нужно вызывать Ack с ID ответного сообщения. Не расскажете алгоритм взаимодействия со СМЭВ 3? Не совсем разобрался с очередями. После того, как поставщик данных отправил свой ответ, я его получаю, отправляю Ack. А что происходит с ответом поставщика в очереди ответов? В тестовой среде какая то ерунда, ответ как висел, так и висит, отправляй Ack на него или нет, и не понятно, это нормальное поведение или нет.
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 26.02.2014(UTC) Сообщений: 26 Откуда: Москва Поблагодарили: 4 раз в 4 постах
|
Автор: RomanK Автор: archimed7592 Нужно вызывать Ack с ID ответного сообщения. Не расскажете алгоритм взаимодействия со СМЭВ 3? Не совсем разобрался с очередями. После того, как поставщик данных отправил свой ответ, я его получаю, отправляю Ack. А что происходит с ответом поставщика в очереди ответов? В тестовой среде какая то ерунда, ответ как висел, так и висит, отправляй Ack на него или нет, и не понятно, это нормальное поведение или нет. Это с крипографией не связано. См. http://bankir.ru/dom/for...0%BC-%D0%B8-%D0%BE%D0%BC
|
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 29.06.2018(UTC) Сообщений: 1
|
Автор: Кирилл Соболев Автор: archimed7592 Нет, обновление помогло только частично... какая-то плавающая проблема, не могу понять в чём дело. По отладке XmlDsig видно, что хэш считается от различных результатов трансформации. Результаты отличаются сортировкой атрибутов. Одно и то же содержимое на компьютере проходит проверку, а на сервере - нет. Причём локаль и там и там одинаковая. Сортировка атрибутов действительно менялась, чтобы соответствовать методическим рекомендациям. Можете привести примеры с правильным и неправильным порядком атрибутов? Коллеги, добрый день. Нужна ваша помощь. Никак не могу победить AckRequest, как только добавляю атрибут accepted="true", подпись сразу становится неверной. Пробовал разные варианты добавления атрибута и перед ID и после - разницы нет, подпись неверна, без атрибута с подписью все в порядке. Выше писали что-то зависимость сортировки от региональных настроек, но куда копать не нашел. Подскажите.
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 25.12.2007(UTC) Сообщений: 1,733 Откуда: КРИПТО-ПРО Поблагодарили: 177 раз в 168 постах
|
Цитата:Достаточно ли этого или нужно взять документ, который не проходит, и показать как правильно его трансформировать чтобы проходило? Если такой пример есть, было бы отлично. Будет проще понять, где трансформация в КриптоПро .NET сбивается с пути истинного |
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 10.04.2017(UTC) Сообщений: 15 Откуда: Россия
Сказал(а) «Спасибо»: 1 раз
|
Победил таки СМЭВ 3. В тестовой среде прошли все тесты, получили доступ в продуктивную среду
|
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 09.10.2017(UTC) Сообщений: 4
|
Добрый день. Для интеграции с ФССП необходимо передавать и подписывать вложения в рамках обмена сообщениями. Подпись вложений - PKCS7, преобразованная в строку Base64. Отправляем запрос и в ответе получаем ошибку: SMEV-100:Проверка подписи на вложении piev_1143.zip: org.bouncycastle.cms.CMSException: Malformed content Код:
/// <summary>
/// Подписывание содержимого файла подписью PKCS
/// </summary>
/// <param name="certSn">Серийный номер сертификата для подписи</param>
/// <param name="attContent">Массив байт для подписи</param>
public static byte[] SignByteContent(string certSn, byte[] attContent)
{
try
{
SignedCms sign = new SignedCms(SubjectIdentifierType.IssuerAndSerialNumber, new ContentInfo(attContent), true);
var cert = GetCertificate(certSn);
if (cert == null)
throw new ArgumentException(string.Format(CultureInfo.InvariantCulture, "Smev3:SignXmlDoc: Не найден сертификат с серийным номером {0}", certSn));
var signer = new CmsSigner(cert) { IncludeOption = X509IncludeOption.WholeChain };
signer.DigestAlgorithm = new Oid("1.2.643.2.2.9");
sign.ComputeSignature(signer);
return sign.Encode();
}
catch (Exception e)
{
throw new ArgumentException("Ошибка подписывания файла", e);
}
}
Вроде бы заработало. Не хватало строчки кода - signer.DigestAlgorithm = new Oid("1.2.643.2.2.9"); СМЭВ 3 не отругался, что подпись не верна, а добавил ответ в очередь. Разобрался с помощью анализа состава подписи через https://lapo.it/asn1js/Отредактировано пользователем 27 августа 2018 г. 16:22:58(UTC)
| Причина: Вопрос решен
|
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 03.09.2018(UTC) Сообщений: 1
Поблагодарили: 1 раз в 1 постах
|
Добрый вечер, пытаемся пройти тестирование смэв 3 (ГИС ГМП, вид сведений: прием необходимой для уплаты информации (начисления), версия 2.0.1). На эталонный пример получаем эталонный ответ, на любые остальные получаем ошибку. Заявку на тест в ГИС ГМП подавали, по телефону отвечают, что в тестовой системе зареганы. Непонятно, что это за ошибка, на стороне смэва? на стороне ГИС ГМП? не очень гуглится. Код: <ns2:RequestRejected> <ns2:RejectionReasonCode> UNKNOWN_REQUEST_DESCRIPTION </ns2:RejectionReasonCode> <ns2:RejectionReasonDescription> Ошибка идентификации сценария тестирования. Доступны следующие сценарии: [Успешный прием необходимой для уплаты информации (начисления) (2.0.1) (//req:ImportChargesRequest/pkg:ChargesPackage/pkg:ImportedCharge[@supplierBillID="32116102414550976332"])] </ns2:RejectionReasonDescription> </ns2:RequestRejected> [@supplierBillID="32116102414550976332"] это сапплаербиллайди эталонного примера Пробовали и убирать и вставлять тэг TestMessage, ошибка та же самая Адрес обращения: http://smev3-n0.test.gosuslugi.ru:7500/ws?wsdl
|
1 пользователь поблагодарил KonovalovVR за этот пост.
|
U3962 оставлено 05.09.2018(UTC)
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 10.04.2017(UTC) Сообщений: 15 Откуда: Россия
Сказал(а) «Спасибо»: 1 раз
|
Привет. При работе в рабочей среде обнаружилась такая проблема. Заявка на получение данных и запрос на получение данных проходят без ошибок, смэв их принимает, обрабатывает, отправляет данные. А вот с подтверждением данных получаю ошибку "ЭП-ОВ не соответствует подписанным данным: Ошибка проверки ЭП: Нарушена целостность ЭП". И не понятно, в какую сторону смотреть. В среде разработки все три запроса, правда с другой подписью, проходят проверку на тех. портале смэв, а вот в среде разработки два запроса проходят проверку, а запрос ACK нет
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 10.04.2017(UTC) Сообщений: 15 Откуда: Россия
Сказал(а) «Спасибо»: 1 раз
|
Автор: RomanK Привет. При работе в рабочей среде обнаружилась такая проблема. Заявка на получение данных и запрос на получение данных проходят без ошибок, смэв их принимает, обрабатывает, отправляет данные. А вот с подтверждением данных получаю ошибку "ЭП-ОВ не соответствует подписанным данным: Ошибка проверки ЭП: Нарушена целостность ЭП". И не понятно, в какую сторону смотреть. В среде разработки все три запроса, правда с другой подписью, проходят проверку на тех. портале смэв, а вот в среде разработки два запроса проходят проверку, а запрос ACK нет Различия состоят в версиях КриптоПро .NET, там где всё работает, стоит версия 1.0.6397.0 клиентская, а там где почему то неправильно подписывается одно из трёх сообщений, стоит серверная 1.0.5913.0 Может ли быть проблема в этом?
|
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 03.07.2015(UTC) Сообщений: 8 Откуда: Ставрополь
|
Можете пожалуйста поделиться кодом на C#, у кого получилось? Уже все перебрал одна и таже ошибка: ЭЦП не подтверждена: Ошибка проверки ЭП: Нарушена целостность ЭП
|
|
|
|
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close