Статус: Участник
Группы: Участники
Зарегистрирован: 14.11.2019(UTC) Сообщений: 11 
|
Доброго времени суток, уважаемые форумчане Не могу решить задачу по подписанию SOAP-конверта для СМЭВ. SOAP, который подписываю: Код:
<env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" 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">
<env:Header>
<wsse:Security env:actor="http://smev.gosuslugi.ru/actors/smev"
xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
<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>
</wsse:Security>
</env:Header>
<env:Body wsu:id="body">
<esia:Identification xmlns:esia="http://mks.esia.rstyle.ru/" xmlns="http://smev.gosuslugi.ru/rev120315">
<Message>
<Sender>
<Code>TEST00001</Code>
<Name>Шлюз СМЭВ</Name>
</Sender>
<Recipient>
<Code>ISIA01001</Code>
<Name>Electronic system identification and authentication</Name>
</Recipient>
<Originator>
<Code>TEST00001</Code>
<Name>Шлюз СМЭВ</Name>
</Originator>
<Service>
<Mnemonic>ESIARegister</Mnemonic>
<Version>1.00</Version>
</Service>
<TypeCode>OTHR</TypeCode>
<Status>REQUEST</Status>
<Date>2016-08-02T10:37:05.059+03:00</Date>
<ExchangeType>0</ExchangeType>
<CaseNumber>Test</CaseNumber>
</Message>
<MessageData>
<AppData>
<esia:passportSeries>1111</esia:passportSeries>
<esia:passportNumber>111111</esia:passportNumber>
<esia:firstname>XXXXX</esia:firstname>
<esia:lastname>XXXXXXX</esia:lastname>
<esia:middlename>XXXXXXX</esia:middlename>
<esia:mobile>+1(111)1111111</esia:mobile>
<esia:snils>111-111-111 11</esia:snils>
<esia:inn>111111111111</esia:inn>
</AppData>
</MessageData>
</esia:Identification>
</env:Body>
</env:Envelope>
При запуске кода выдает следующий результат: Цитата:Nov 18, 2019 3:27:53 PM ru.CryptoPro.JCP.tools.Starter check INFO: Loading JCP 2.0.40035 Nov 18, 2019 3:27:53 PM ru.CryptoPro.JCP.tools.Starter check INFO: JCP loaded. Проверяем с помощью сертификата ......
Проверка ЭЦП: true При проверке на https://smev.gosuslugi.r...ortal/services-tools.jsp такой результат:  Screenshot from 2019-11-18 13-43-57.png (137kb) загружен 14 раз(а).В кодах ошибок СМЭВ, написано следующее для ошибки "Неверная ЭП сообщения": Цитата:1. Содержимое подписываемого тега изменено после подписания. 2. Используемые ОИВом библиотеки инвертируют подпись. В этом случае необходимо побитово инвертировать подпись перед внесением в XML. Таким образом, данное сообщение об ошибке говорит о том, что запрос, который Вы отсылаете к сервису имеет некорректную ЭЦП. Проверка подписи происходит следующим образом: - в СМЭВ поступает запрос; - канонизируется элемент SignedInfo с помощью алгоритма c14n; - далее расшифровывается SignatureValue с помощью открытого ключа сертификата – x1; - берется SignedInfo и считается от него хэш – x2, если x1 не равен x2, СМЭВ возвращает ошибку «Неверная ЭП сообщения. Если же х1 = х2, то проверка переходит на следующий шаг; - считается хэш от body запроса – y1 по методу указанному в DigestMethod. Из DigestValue получаем – y2. Если y1 не равен y2, то СМЭВ возвращает ошибку "Неверная ЭП сообщения". Подскажите, пожалуйста, в чем ошибка и как ее исправить? Отредактировано пользователем 6 декабря 2019 г. 13:36:56(UTC)
| Причина: Не указана
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 14.11.2019(UTC) Сообщений: 11 
|
Весь порядок действий (можно воспроизвести): 1) установить jdk1.8.0_151 2) установить jcp-2.0.40035 3) скопировать jcp-2.0.40035/dependencies в jdk1.8.0_151/jre/lib/ext 3) установить одну подпись 4) git clone https://github.com/PashaTurok/smev-signer.git5) в классе me.pavelk.smev2.signer.Smev2Signer устанавливаем PASSWORD и BASE_DIR (путь к папке с проектом). 6) запускаем Smev2Signer Результат: Цитата: Nov 18, 2019 9:29:03 PM ru.CryptoPro.JCP.tools.Starter check INFO: Loading JCP 2.0.40035 Nov 18, 2019 9:29:03 PM ru.CryptoPro.JCP.tools.Starter check INFO: JCP loaded. Проверяем с помощью сертификата (выводятся данные по сертификату) Проверка ЭЦП: true Проверка ЭЦП в сервисе СМЭВ: код ошибки = 3, описание = Неверная ЭП сообщения
Подскажите, пожалуйста, как решить данную проблему. Все посты, которые я нашел доходят только до этой ошибки. Отредактировано пользователем 18 ноября 2019 г. 21:37:13(UTC)
| Причина: Не указана
|
|
|
|
Статус: Участник
Группы: Участники
Зарегистрирован: 14.11.2019(UTC) Сообщений: 11 
|
Проблему решил. Если кому-то нужна помощь, пишите в личку.
|
|
|
|
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close