Партнерка на США и Канаду по недвижимости, выплаты в крипто
- 30% recurring commission
- Выплаты в USDT
- Вывод каждую неделю
- Комиссия до 5 лет за каждого referral
Инфраструктура электронного правительства Российской Федерации
Сервис проверки электронной подписи XML документа (DigitalSignatureService) в СМЭВ
Версия 1.5
Москва 2011
Сервис проверки электронной подписи (DigitalSignatureService)
Сокращения
ЭП - Электронная подпись.
XML – Расширяемый язык разметки (eXtensible Markup Language).
SOAP – Простой протокол доступа к объектам (Simple Object Access Protocol).
Base64 - система представления бинарных файлов (система счисления с основанием 64).
Описание сервиса
Сервис предназначен для проверки ЭП в сообщениях и во вложенных в них документах.
Адрес программного кода сервиса (далее - сервис) в СМЭВ: http://oraas. *****:7777/gateway/services/SID0003107?wsdl
Алгоритм проверки подписи
Сервис получает на вход закодированное с использованием base64 кодировки сообщение, и декодирует в xml. Декодированное входное xml сообщение должно быть с подписью в формате XML Digital Sign. Поддерживается проверка как eveloped так и inveloping тип подписи.
Процедуры используемые при проверке ЭЦП XML документа:
1. Получение сертификата из сообщения
2. Проверка сертификата на валидность
3. Подсчет и проверка значения хеша всех подписанных элементов сообщения (DigestValue)
4. Формирование и проверка значения ЭЦП сообщения (SignatureValue)
В случае если хоть один шаг выполнен неуспешно – ЭЦП входного сообщения считается неверной. При этом сервис сообщает код и текстовое описание причины невалидности (к примеру 121 – «Значение хеш функции не совпало»).
Описание метода
Метод verifyXMLDSMessage предназначен для проверки ЭП заявлений и прилагаемых документов. Для создания подписанного документа заявитель может воспользоваться функцией формирования электронной подписи портала Госуслуг.
Входные данные
№п/п | Код | Наименование | Обязательность | Тип или способ заполнения |
1 | message | Сообщение со вложенным документом в формате XML с цифровой подписью в формате XML Digital Sign | Да | Сообщение со вложенным документом с подписью, закодированный base64 |
Примечания:
1. Формат исходного документа должен соответствовать XMLDsig (W3C recommendation XML Signature Syntax and Processing).
Выходные данные
№п/п | Код | Наименование | Обязательность | Тип или способ заполнения |
1 | result | Результат выполнения операции | Да | bool – true подпись верна, иначе нет |
2 | message | Сообщение об ошибке | Да | Текстовое описание причины невалидности подписи |
3 | code | Код ошибки | Да | Код результата – 0 подпись верна, иначе – код, уточняющий ошибку: 1 – ЭЦП не верна |
Пример запроса
Пример исходного документа
<soapenv:Envelope xmlns:soapenv="http://schemas. xmlsoap. org/soap/envelope/" xmlns:ws="http://idecs. *****/ds/ws/">
<soapenv:Header/>
<soapenv:Body>
<ws:verifyXMLDSMessageRequest>
<message>[документ, закодированный base64]</message>
</ws:verifyXMLDSMessageRequest>
</soapenv:Body>
</soapenv:Envelope>
<?xml version="1.0" encoding="UTF-8"?>
<test>
<name>data</name>
<ds:Signature xmlns:ds="http://www. w3.org/2000/09/xmldsig#">
<ds:SignedInfo>
<ds:CanonicalizationMethod
Algorithm="http://www. w3.org/TR/2001/REC-xml-c14n"/>
<ds:SignatureMethod
Algorithm="http://www. w3.org/2001/04/xmldsig-more#gostr gostr3411"/>
<ds:Reference URI="">
<ds:Transforms>
<ds:Transform
Algorithm="http://www. w3.org/2000/09/xmldsig#enveloped-signature"/>
<ds:Transform
Algorithm="http://www. w3.org/TR/2001/REC-xml-c14n- #WithComments"/>
</ds:Transforms>
<ds:DigestMethod
Algorithm="http://www. w3.org/2001/04/xmldsig-more#gostr3411"/>
<ds:DigestValue>7aryCKivX5iOE7RTnVByHBGgHq97dARl6RdIThJ091o=</ds:DigestVal
ue>
</ds:Reference>
</ds:SignedInfo>
<ds:SignatureValue>
h4UF0zLgMBmUBhp/h1Vkw6pKwso94lmO5JdzldRNMIBax1m/sTEt+CRvo+sPlsmn7CaeRmXsmXLS
UPeGXwY9Nw==
</ds:SignatureValue>
<ds:KeyInfo>
<ds:X509Data>
<ds:X509Certificate>
MIIBkjCCAUGgAwIBAgIEfSU+QTAIBgYqhQMCAgMwMzELMAkGA1UEBhMCUlUxEjAQBgNVBAoTCUNy
eXB0b1BybzEQMA4GA1UEAxMHbmV3Q2VydDAeFw0xMTA0MDIxNTUwMjNaFw0xMjA0MDIxNTUwMjNa
MDMxCzAJBgNVBAYTAlJVMRIwEAYDVQQKEwlDcnlwdG9Qcm8xEDAOBgNVBAMTB25ld0NlcnQwYzAc
AgLEMBMGA1UdJQQMMAoGCCsGAQUFBwMCMBIGA1UdEwEB/wQIMAYBAf8CAQUwCAYGKoUDAgIDA0EA
z+tYD1JMPsLEhvuTAzRru9ZoXQIDKsJ6Ac+SAhJMU3QBlIEfbfYkJmX1kG9nT9PnLS3yS10QQeVW
a0elo9n0aA==
</ds:X509Certificate>
</ds:X509Data>
</ds:KeyInfo>
</ds:Signature>
</test>
Пример успешного ответа
<S:Envelope xmlns:S="http://schemas. xmlsoap. org/soap/envelope/">
<S:Body>
<ns2:verifyXMLDSMessageResponse xmlns:ns2="http://idecs. *****/ds/ws/">
<result>true</result>
<error>
<code>0</code>
<message>XML digital sign successfully verified</message>
</error>
</ns2:verifyXMLDSMessageResponse>
</S:Body>
</S:Envelope>
Пример ответа в случае возникновения ошибки
<S:Envelope xmlns:S="http://schemas. xmlsoap. org/soap/envelope/">
<S:Body>
<ns2:verifyXMLDSMessageResponse xmlns:ns2="http://idecs. *****/ds/ws/">
<result>false</result>
<error>
<code>1</code>
<message>XML digital sign not verified</message>
</error>
</ns2:verifyXMLDSMessageResponse>
</S:Body>
</S:Envelope>


