Цитата:4. Общее описание процесса работы СМЭВ3 расписано в методических рекоммендациях
Проблемму представляет сам процесс подписания XML, который описан общими словами.
Суть в следующем:
Для каждого типа пакета определяется ключевой раздел, например для типа SendRequestRequest - это раздел <ns:SenderProvidedRequestData>. Этот раздел необходимо преобразовать: Сначала каноникализировать в соответствии со стандартом C14N, а потом произвести трансформацию СМЭВ, фактически поменяв названия элементов на порядковые, удаляются все переносы строк и пробелы между элементами.
Daniil, что то не соображу: (очень надеюсь на Ваш ответ)
у меня есть раздел(Element) xml, который находится в SenderProvidedRequestData, мне нужно его подписать и подпись положить в CallerInformationSystemSignature.
Вариант
первый:
на каноникализацию и трансформацию подаю SenderProvidedRequestData, потом подписываю, подпись в CallerInformationSystemSignature и передаю в СМЭВ. Внимание, данные в SenderProvidedRequestData не изменяются.
Вариант
второй:
раздел SenderProvidedRequestData каноникализирую и трансформирую, потом подписываю, подпись в CallerInformationSystemSignature и передаю в СМЭВ.
Какой вариант правильный? Если верен Первый вариант, то про JAXB и требования возможности генерации клиента стандартными средствами (заявленными в СМЭВ 3, если не ошибаюсь), можно забыть и совершенно понятна ошибка, я ей передаю данные до преобразования, а подписываю после преобразования.
...............................................................................................................................................
xml подписанные CSP собираю практически вручную (копирую в блокноте узлы), проверяю на стенде, подпись проходит, в JCP ничего не получается,
при этом пакеты генерируются одной программой(на входе одинаковые данные), только вызываются разные криптопровайдеры,
- для КриптоПро CSP вызываю WEB-servis и получаю все в виде строки,
- для КриптоПро JCP подписываю или в клиенте и потом .setCallerInformationSystemSignature, или перехватываю messageContext и там непосредственно с Document
Вариант 1 - собрал по частям CNTR-C, CNTR-C в блокноте - на стенде все ОККод:<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"><SOAP-ENV:Header/><S:Body>
<SendRequestRequest xmlns="urn://x-artefacts-smev-gov-ru/services/message-exchange/types/1.2" xmlns:ns2="urn://x-artefacts-smev-gov-ru/services/message-exchange/types/basic/1.2" xmlns:ns3="urn://x-artefacts-smev-gov-ru/services/message-exchange/types/faults/1.2">
<SenderProvidedRequestData Id="SIGNED_BY_CONSUMER"><MessageID>b7f3204e-1c52-11e8-988d-0018f3be243e</MessageID><ReferenceMessageID>b7f3204e-1c52-11e8-988d-0018f3be243e</ReferenceMessageID><ns2:MessagePrimaryContent><ns1:FNSVipULRequest xmlns:ns1="urn://x-artefacts-fns-vipul-tosmv-ru/311-14/4.0.5" ИдДок="22ED0D32-F3F2-0693-E050-A8C0D3C81091" НомерДела="БН"><ns1:ЗапросЮЛ><ns1:ИННЮЛ>7730592673</ns1:ИННЮЛ></ns1:ЗапросЮЛ></ns1:FNSVipULRequest></ns2:MessagePrimaryContent></SenderProvidedRequestData>
<CallerInformationSystemSignature><Signature xmlns="http://www.w3.org/2000/09/xmldsig#"><SignedInfo><CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" /><SignatureMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#gostr34102001-gostr3411" /><Reference URI="#SIGNED_BY_CONSUMER"><Transforms><Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" /><Transform Algorithm="urn://smev-gov-ru/xmldsig/transform" /><Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature" /></Transforms><DigestMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#gostr3411" /><DigestValue>qik+oQ3KzXZOEp0dNLet2d8qO2W19qieahkXYGIOwcw=</DigestValue></Reference></SignedInfo><SignatureValue>+5M08NlOB/9ocz5w+2o/34ZkIA34EPg8elzYMT3wHgrkS/8m0RerAr52iPfd8ikU6V22MFXrfync2Azx8Ktzcg==</SignatureValue><KeyInfo><X509Data><X509Certificate>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</X509Certificate></X509Data></KeyInfo></Signature></CallerInformationSystemSignature></SendRequestRequest></S:Body></S:Envelope>
Вариант 2 - здесь все программа сгенерировала - на стенде все ОККод:<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"><SOAP-ENV:Header/><S:Body><SendRequestRequest xmlns="urn://x-artefacts-smev-gov-ru/services/message-exchange/types/1.2" xmlns:ns2="urn://x-artefacts-smev-gov-ru/services/message-exchange/types/basic/1.2" xmlns:ns3="urn://x-artefacts-smev-gov-ru/services/message-exchange/types/faults/1.2"><SenderProvidedRequestData Id="SIGNED_BY_CONSUMER"><MessageID>4332511a-1c5c-11e8-91bf-0018f3be243e</MessageID><ReferenceMessageID>4332511a-1c5c-11e8-91bf-0018f3be243e</ReferenceMessageID><ns2:MessagePrimaryContent><ns1:FNSVipULRequest xmlns:ns1="urn://x-artefacts-fns-vipul-tosmv-ru/311-14/4.0.5" ИдДок="22ED0D32-F3F2-0693-E050-A8C0D3C81091" НомерДела="БН"><ns1:ЗапросЮЛ><ns1:ИННЮЛ>7730592673</ns1:ИННЮЛ></ns1:ЗапросЮЛ></ns1:FNSVipULRequest></ns2:MessagePrimaryContent></SenderProvidedRequestData><CallerInformationSystemSignature><Signature xmlns="http://www.w3.org/2000/09/xmldsig#"><SignedInfo><CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/><SignatureMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#gostr34102001-gostr3411"/><Reference URI="#SIGNED_BY_CONSUMER"><Transforms><Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/><Transform Algorithm="urn://smev-gov-ru/xmldsig/transform"/><Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/></Transforms><DigestMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#gostr3411"/><DigestValue>sqP80HQ71bsi1nr1NqHahp4OQl4N/XvjdyhoRJn9kt0=</DigestValue></Reference></SignedInfo><SignatureValue>VL7uiePAHOnxAqqiTJg0MxPvMVCMQ8h3PI2GFvM7swk+43NwcnfzQSS1NGwhOzFo6ssSh7Wg6KYnnP6+5w4jVw==</SignatureValue><KeyInfo><X509Data><X509Certificate>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</X509Certificate></X509Data></KeyInfo></Signature></CallerInformationSystemSignature></SendRequestRequest></S:Body></S:Envelope>
Отредактировано пользователем 28 февраля 2018 г. 11:01:41(UTC)
| Причина: Не указана