Статус: Активный участник
Группы: Участники
Зарегистрирован: 05.08.2013(UTC) Сообщений: 67 Откуда: Новосибирск Сказал(а) «Спасибо»: 2 раз Поблагодарили: 2 раз в 2 постах
|
Проверка не работала, т.к. не было добавлено "urn://smev-gov-ru/xmldsig/transform" в SafeCanonicalizationMethods Моя проблема не решена. Ошибка из-за неправильного подсчитанного хэша. Пока разбираюсь почему не так подсчитало.
|
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 21.02.2009(UTC) Сообщений: 6
|
Добрый день! Разрабатываем интеграцию со СМЭВ 3 с использованием КриптоПро .NET. Интегрируемся с сервисом ЕГРЮЛ (ФНС). Отправка сообщения и запрос статуса работают верно, проверка подписи на портале проходит и сервис СМЭВ 3 их обрабатывает. А вот подтверждение получения ответа (AckRequest) не проходит. Ругается на неверную подпись. Есть подозрение, что где-то ошибка в трансформациях. Прошу подсказать, верно ли производится подпись сообщения и верный ли используется список трансформаций? Код формирования подписи: Цитата: xmlDocument.PreserveWhitespace = true;
var signedXml = new SignedXml(xmlDocument) { SigningKey = certificate.PrivateKey }; signedXml.SafeCanonicalizationMethods.Add("urn://smev-gov-ru/xmldsig/transform");
foreach (var referenceUri in references) { var reference = new Reference(); reference.Uri = "#" + referenceUri; reference.DigestMethod = CPSignedXml.XmlDsigGost3411UrlObsolete;
var c14 = new XmlDsigExcC14NTransform(); reference.AddTransform(c14);
var smev = new XmlDsigSmevTransform(); reference.AddTransform(smev);
signedXml.AddReference(reference); } var keyInfo = new KeyInfo(); keyInfo.AddClause(new KeyInfoX509Data(certificate)); signedXml.KeyInfo = keyInfo;
////"http://www.w3.org/2001/10/xml-exc-c14n#" signedXml.SignedInfo.CanonicalizationMethod = SignedXml.XmlDsigExcC14NTransformUrl; signedXml.SignedInfo.SignatureMethod = CPSignedXml.XmlDsigGost3410UrlObsolete;
//Вычисляем сигнатуру signedXml.ComputeSignature(); if (!signedXml.CheckSignature()) throw new ApplicationException("Неверная подпись!!!");
//Формируем Xml сигнатуры var xmlDigitalSignature = signedXml.GetXml();
return xmlDigitalSignature;
Подписанное сообщение: Цитата: <ns1:Envelope xmlns:ns1="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns2="urn://x-artefacts-smev-gov-ru/services/message-exchange/types/1.1" xmlns:ns3="urn://x-artefacts-smev-gov-ru/services/message-exchange/types/basic/1.1"><ns1:Header /><ns1:Body><ns2:AckRequest><ns3:AckTargetMessage accepted="true" Id="SIGNED_BY_EXPERT">7a00b7bd-2329-11e7-a1d9-6cef090907aa</ns3:AckTargetMessage><ns2: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_EXPERT"><Transforms><Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" /><Transform Algorithm="urn://smev-gov-ru/xmldsig/transform" /></Transforms><DigestMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#gostr3411" /><DigestValue>AjlOPGT/Tjfn4w2hDfk6dcsZaMmK9td2xpzB+N2J7Bg=</DigestValue></Reference></SignedInfo><SignatureValue>CJ1p12KRNO3i+VLCaNRbMq60t1SyCeiQBWiQBNkVO4VdiOD/9O5TI7RcgZ0Qw3g5rmPfoQ355bRczSdi/fwS8Q==</SignatureValue><KeyInfo><X509Data><X509Certificate>MIIJETCCCMCgAwIBAgIKKaDexQADAAAtczAIBgYqhQMCAgMwggGCMRgwFgYFKoUDZAESDTExMTQ4MjMwMTM0NzAxGjAYBggqhQMDgQMBARIMMDA0ODIzMDUyNzMxMSYwJAYDVQQJDB3QmtGA0YPQv9GB0LrQvtC5INGD0LvQuNGG0LAgMTEaMBgGCSqGSIb3DQEJARYLY2NAaXRjNDgucnUxCzAJBgNVBAYTAlJVMSswKQYDVQQIDCI0OCDQm9C40L/QtdGG0LrQsNGPINC+0LHQu9Cw0YHRgtGMMRUwEwYDVQQHDAzQm9C40L/QtdGG0LoxTDBKBgNVBAoMQ9Ce0JHQoyDQmNC90YTQvtGA0LzQsNGG0LjQvtC90L3Qvi3RgtC10YXQvdC40YfQtdGB0LrQuNC5INGG0LXQvdGC0YAxMDAuBgNVBAsMJ9Cj0LTQvtGB0YLQvtCy0LXRgNGP0Y7RidC40Lkg0YbQtdC90YLRgDE1MDMGA1UEAxMsU3RhdGUgQ2VydGlmaWNhdGlvbiBDZW50ZXIgb2YgTGlwZXRzayBSZWdpb24wHhcNMTYwNDI2MDcxOTAwWhcNMTcwNDI2MDcyOTAwWjCCAX4xGDAWBgUqhQNkARINMTAyNDg0MDg0NDk5NTEaMBgGCCqFAwOBAwEBEgwwMDQ4MjUwMzI5NDkxJDAiBgkqhkiG9w0BCQEWFWlndG5AYWRtbHIubGlwZXRzay5ydTELMAkGA1UEBhMCUlUxLzAtBgNVBAgeJgA0ADgAIAQbBDgEPwQ1BEYEOgQwBE8AIAQ+BDEEOwQwBEEEQgRMMRkwFwYDVQQHHhAEGwQ4BD8ENQRGBDoAIAQzMVkwVwYDVQQKHlAEOAQ9BEEEPwQ1BDoERgQ4BE8AIAQzBD4EQQRCBDUERQQ9BDAENAQ3BD4EQAQwACAEGwQ4BD8ENQRGBDoEPgQ5ACAEPgQxBDsEMARBBEIEODE5MDcGA1UEAx4wBBAEGAQhACAEEwQeBCEEIgQVBCUEHQQQBBQEFwQeBCAAIAQtBBoEIQQfBBUEIAQiMTEwLwYDVQQJHigEQwQ7AC4AIAQcBD4EQQQ6BD4EMgRBBDoEMARPACwAIAQ0AC4AOAAzMGMwHAYGKoUDAgITMBIGByqFAwICJAAGByqFAwICHgEDQwAEQMHd5CtSOPVzsyuMxHLHGslP/CUa/AUaaqbXzxaPAeChsdUJfUfm52fdGTCQY1A+5OsNpQfluK80wL53VfZwc8CjggUUMIIFEDAOBgNVHQ8BAf8EBAMCBPAwLgYDVR0lBCcwJQYIKwYBBQUHAwQGByqFAwICIgYGCCsGAQUFBwMCBgYqhQNkAgIwHQYDVR0OBBYEFCCg0t1YlLzUQAmDZviFnbPXDrraMIIBwwYDVR0jBIIBujCCAbaAFBFaUmZKQMJpogWp9u4TEtOvyLVSoYIBiqSCAYYwggGCMRgwFgYFKoUDZAESDTExMTQ4MjMwMTM0NzAxGjAYBggqhQMDgQMBARIMMDA0ODIzMDUyNzMxMSYwJAYDVQQJDB3QmtGA0YPQv9GB0LrQvtC5INGD0LvQuNGG0LAgMTEaMBgGCSqGSIb3DQEJARYLY2NAaXRjNDgucnUxCzAJBgNVBAYTAlJVMSswKQYDVQQIDCI0OCDQm9C40L/QtdGG0LrQsNGPINC+0LHQu9Cw0YHRgtGMMRUwEwYDVQQHDAzQm9C40L/QtdGG0LoxTDBKBgNVBAoMQ9Ce0JHQoyDQmNC90YTQvtGA0LzQsNGG0LjQvtC90L3Qvi3RgtC10YXQvdC40YfQtdGB0LrQuNC5INGG0LXQvdGC0YAxMDAuBgNVBAsMJ9Cj0LTQvtGB0YLQvtCy0LXRgNGP0Y7RidC40Lkg0YbQtdC90YLRgDE1MDMGA1UEAxMsU3RhdGUgQ2VydGlmaWNhdGlvbiBDZW50ZXIgb2YgTGlwZXRzayBSZWdpb26CEEdVklxu37qzQsGAjA/V5GowgbQGA1UdHwSBrDCBqTBVoFOgUYZPaHR0cDovL3d3dy5hZG1sci5saXBldHNrLnJ1L21hc3RvbC8xMTVhNTI2NjRhNDBjMjY5YTIwNWE5ZjZlZTEzMTJkM2FmYzhiNTUyLmNybDBQoE6gTIZKaHR0cDovL2l0YzQ4LnJ1L2ZpbGVzL2NjL2NlcnQvMTE1YTUyNjY0YTQwYzI2OWEyMDVhOWY2ZWUxMzEyZDNhZmM4YjU1Mi5jcmwwgc8GCCsGAQUFBwEBBIHCMIG/MF8GCCsGAQUFBzAChlNodHRwOi8vd3d3LmFkbWxyLmxpcGV0c2sucnUvbWFzdG9sL3RhdGUgY2VydGlmaWNhdGlvbiBjZW50ZXIgb2YgbGlwZXRzayByZWdpb24zLmNlcjBcBggrBgEFBQcwAoZQaHR0cDovL2l0YzQ4LnJ1L2ZpbGVzL2NjL2NlcnRzL3N0YXRlIGNlcnRpZmljYXRpb24gY2VudGVyIG9mIGxpcGV0c2sgcmVnaW9uMy5jZXIwKwYDVR0QBCQwIoAPMjAxNjA0MjYwNzE5MDBagQ8yMDE3MDQyNjA3MTkwMFowJwYDVR0gBCAwHjAIBgYqhQNkcgIwCAYGKoUDZHEBMAgGBiqFA2RxAjA4BgUqhQNkbwQvDC0i0JrRgNC40L/RgtC+0J/RgNC+IENTUCIgKNCy0LXRgNGB0LjRjyAzLjYuMSkwgc4GBSqFA2RwBIHEMIHBDC0i0JrRgNC40L/RgtC+0J/RgNC+IENTUCIgKNCy0LXRgNGB0LjQuCAzLjYuMSkMUtCj0LTQvtGB0YLQvtCy0LXRgNGP0Y7RidC40Lkg0YbQtdC90YLRgCAi0JrRgNC40L/RgtC+0J/RgNC+INCj0KYiINCy0LXRgNGB0LjQuCAxLjUMHdCh0KQvMTIxLTIyNzIg0L7RgiAxMi4xMi4yMDEzDB3QodCkLzEyOC0yNzY4INC+0YIgMzEuMTIuMjAxNTAIBgYqhQMCAgMDQQDQZq6aIfF1Ylrjq/bArJ+QyPfDngJA3FjrRGYKBLbsqkF6ykqbGs8x0r6Rmn5JbZTGs6cvi0sFBe89qpbaiKRP</X509Certificate></X509Data></KeyInfo></Signature></ns2:CallerInformationSystemSignature></ns2:AckRequest></ns1:Body></ns1:Envelope>
|
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 25.11.2015(UTC) Сообщений: 2
|
Автор: ShurikEv Проверка не работала, т.к. не было добавлено "urn://smev-gov-ru/xmldsig/transform" в SafeCanonicalizationMethods Моя проблема не решена. Ошибка из-за неправильного подсчитанного хэша. Пока разбираюсь почему не так подсчитало. Удалось ли решить проблему?
|
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 20.01.2018(UTC) Сообщений: 1 Откуда: Челябинск
|
В продолжение темы проверки подписи. Заметил, что в реализации urn://smev-gov-ru/xmldsig/transform в КриптоПро'ой библиотеке (CryptoPro.Sharpei.Xml) идет сортировка атрибутов с учетом текущей культуры, что дает отличный от оригинала порядок атрибутов, и в итоге хеш данных отличается от того, что в подписи.
|
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 22.02.2018(UTC) Сообщений: 1
|
Вопрос не совсем по .Net. Как в СМЭВ получать данные из широковещательных рассылок?
|
|
|
|
Статус: Активный участник
Группы: Участники
Зарегистрирован: 11.02.2011(UTC) Сообщений: 49 Откуда: E-burg Сказал «Спасибо»: 4 раз Поблагодарили: 2 раз в 2 постах
|
Автор: mdervel В продолжение темы проверки подписи. Заметил, что в реализации urn://smev-gov-ru/xmldsig/transform в КриптоПро'ой библиотеке (CryptoPro.Sharpei.Xml) идет сортировка атрибутов с учетом текущей культуры, что дает отличный от оригинала порядок атрибутов, и в итоге хеш данных отличается от того, что в подписи. Столкнулись с такой же проблемой. Нет ли решения от КриптоПро ? Для части ведомство подпись проверяется, а для части считается не валидной. Примермы могу выложить сюда для анализа
|
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 24.05.2018(UTC) Сообщений: 4
|
Добрый день. Поделитесь, если не сложно, JAVA-версией добавления тэга <ds:Transform Algorithm="urn://smev-gov-ru/xmldsig/transform"/> в подпись для СМЭВ 3. Отредактировано пользователем 24 мая 2018 г. 17:56:31(UTC)
| Причина: Не указана
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 25.12.2007(UTC) Сообщений: 1,733 Откуда: КРИПТО-ПРО Поблагодарили: 177 раз в 168 постах
|
Цитата:Для части ведомство подпись проверяется, а для части считается не валидной. Примермы могу выложить сюда для анализа Здравствуйте Да, выложите, пожалуйста, примеры и уточните, какая сборка Крипто-Про .NET у Вас установлена. |
|
|
|
|
Статус: Сотрудник
Группы: Участники
Зарегистрирован: 06.12.2008(UTC) Сообщений: 4,001 Откуда: Крипто-Про Сказал(а) «Спасибо»: 21 раз Поблагодарили: 713 раз в 673 постах
|
Здравствуйте. Автор: accessx Поделитесь, если не сложно, JAVA-версией добавления тэга <ds:Transform Algorithm="urn://smev-gov-ru/xmldsig/transform"/> в подпись для СМЭВ 3.
Посмотрите https://www.cryptopro.ru...aspx?g=posts&t=13683 статья в п.1. |
|
|
|
|
Статус: Новичок
Группы: Участники
Зарегистрирован: 24.05.2018(UTC) Сообщений: 4
|
Автор: afev Здравствуйте. Автор: accessx Поделитесь, если не сложно, JAVA-версией добавления тэга <ds:Transform Algorithm="urn://smev-gov-ru/xmldsig/transform"/> в подпись для СМЭВ 3.
Посмотрите https://www.cryptopro.ru...aspx?g=posts&t=13683 статья в п.1. Спасибо. Как раз на неё напал на днях. Вроде бы подписал сообщение методом из той статьи, но не проходит проверку: ЭП-ОВ не подтверждена: Ошибка проверки ЭП: Нарушена целостность ЭППри том, что DigestValue совпадает с /jXl70XwnttJB5sSokwh8SaVHwo2gjgILSu0qBaLUAo= из примера с SendRequestRequestNoAttach.xml. UPD проблема решилась - неправильно выгонял в строку, добавлялось лишнее форматирование Отредактировано пользователем 29 мая 2018 г. 15:01:51(UTC)
| Причина: Не указана
|
|
|
|
Быстрый переход
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.
Important Information:
The Форум КриптоПро uses cookies. By continuing to browse this site, you are agreeing to our use of cookies.
More Details
Close