Ключевое слово в защите информации
КЛЮЧЕВОЕ СЛОВО
в защите информации
Наши способы организации безопасного удалённого доступа к рабочим местам и корпоративным ресурсам
Добро пожаловать, Гость! Чтобы использовать все возможности Вход или Регистрация.

Уведомление

Icon
Error

9 Страницы<1234>»
Опции
К последнему сообщению К первому непрочитанному
Offline Максим Коллегин  
#21 Оставлено : 18 августа 2015 г. 18:35:55(UTC)
Максим Коллегин

Статус: Сотрудник

Группы: Администраторы
Зарегистрирован: 12.12.2007(UTC)
Сообщений: 6,009
Мужчина
Откуда: КРИПТО-ПРО

Сказал «Спасибо»: 17 раз
Поблагодарили: 588 раз в 529 постах
Код:
Index: SignDocument.cs
===================================================================
--- SignDocument.cs	(revision 4822)
+++ SignDocument.cs	(revision 4823)
@@ -119,6 +119,10 @@
                 new XmlDsigEnvelopedSignatureTransform();
             reference.AddTransform(env);
 
+            XmlDsigSmevTransform smev =
+                new XmlDsigSmevTransform();
+            reference.AddTransform(smev);
+            
             // Добавляем transform для канонизации.
             XmlDsigC14NTransform c14 = new XmlDsigC14NTransform();
             reference.AddTransform(c14);
Знания в базе знаний, поддержка в техподдержке
thanks 2 пользователей поблагодарили Максим Коллегин за этот пост.
stdevol оставлено 19.08.2015(UTC), wide оставлено 09.09.2015(UTC)
Offline kavcbm  
#22 Оставлено : 31 августа 2015 г. 10:03:33(UTC)
kavcbm

Статус: Новичок

Группы: Участники
Зарегистрирован: 31.08.2015(UTC)
Сообщений: 1
Российская Федерация
Откуда: Izhevsk

Удалено.

Отредактировано пользователем 2 сентября 2015 г. 8:05:22(UTC)  | Причина: проблема решена

Offline wide  
#23 Оставлено : 4 сентября 2015 г. 11:46:58(UTC)
wide

Статус: Новичок

Группы: Участники
Зарегистрирован: 25.07.2012(UTC)
Сообщений: 5
Мужчина
Откуда: программинг

Сказал «Спасибо»: 2 раз
Немного возвращаясь к структуре СМЭВ 3. Я так понял, что СМЭВ 3 представляет из себя сервис через который общаются Потребитель и Поставщик Вида сведений. А где добыть адрес этого сервиса? Для тестовой, продуктивная и среды разработки? Есть ли РСМЭВ? Если есть, то и их адреса хотелось бы посмотреть.
Offline NIC  
#24 Оставлено : 5 октября 2015 г. 17:08:46(UTC)
NIC

Статус: Участник

Группы: Участники
Зарегистрирован: 13.03.2012(UTC)
Сообщений: 14

Сказал(а) «Спасибо»: 1 раз
Поблагодарили: 5 раз в 2 постах
Добрый день!

На данный момент при подписи происходит подпись с идентификатором алгоритма

urn:ietf:params:xml:ns:cpxmlsec:algorithms:gostr3411

Однако СМЭВ хочет

urn:ietf:params:xml:ns:cpxmlsec:algorithms:gostr34102001-gostr3411

который не был обнаружен в CPSignedXml.

Подскажите пожалуйста, планируется ли его внедрение?

PS. Обнаружил что есть подобная тема про java трехлетней давности http://www.cryptopro.ru/....aspx?g=posts&t=4864 из которой следует что это два одинаковых алгоритма.

В общем хотелось бы иметь возможность указать в варианте желаемом СМЭВ-ом :)

PS2.

В общем вот сообщение от СМЭВ

"ЭП-ОВ не соответствует подписанным данным: org.apache.xml.security.signature.XMLSignatureException: The requested algorithm urn:ietf:params:xml:ns:cpxmlsec:algorithms:gostr34102001-gostr3411 does not exist. Original Message was: null
Original Exception was java.lang.NullPointerException"

Сначала подумал что ошибка с SignatureMethod. Вписал туда руками требуемое значение так как тип элемента - строка. Та же ошибка. Обнаружил что DigestMethod имеет подобный формат, но на ручное изменение уже сам cryptopro выдает ошибку "Невозможно создать объект хэш-алгоритма.".

В связи с перепиской со СМЭВ вопрос временно снимается.

Отредактировано пользователем 6 октября 2015 г. 12:04:21(UTC)  | Причина: Не указана

Offline khomenko  
#25 Оставлено : 7 октября 2015 г. 11:52:40(UTC)
Михаил Хоменко

Статус: Активный участник

Группы: Администраторы, Участники
Зарегистрирован: 28.04.2010(UTC)
Сообщений: 139
Мужчина
Откуда: Крипто-Про

Поблагодарили: 15 раз в 14 постах
Здравствуйте,

Не совсем понял вопрос.
Указанные вами идентификаторы относятся к различным алгоритмам.
Идентификатор urn:ietf:params:xml:ns:cpxmlsec:algorithms:gostr3411 не может быть указан как алгоритм подписи в узле SignatureMethod.
Данный идентификатор указывается в узле DigestMethod

алгоритма хеширования:
новый urn:ietf:params:xml:ns:cpxmlsec:algorithms:gostr3411
старый http://www.w3.org/2001/04/xmldsig-more#gostr3411
алгоритм подписи:
новый urn:ietf:params:xml:ns:cpxmlsec:algorithms:gostr34102001-gostr3411
старый http://www.w3.org/2001/0...#gostr34102001-gostr3411

Во вложении пример запроса создаваемом примеров WCF клиента для СМЭВ 2.*
request.xml (4kb) загружен 25 раз(а).
Offline NIC  
#26 Оставлено : 13 октября 2015 г. 10:04:24(UTC)
NIC

Статус: Участник

Группы: Участники
Зарегистрирован: 13.03.2012(UTC)
Сообщений: 14

Сказал(а) «Спасибо»: 1 раз
Поблагодарили: 5 раз в 2 постах
Добрый день!

В общем по прошлому вопросу: начал с переделки метода подписи от версии 2.5.5, в итоге взял пример из документации и частично стало работать. Именно частично, часть подписей распознается СМЭВ, а часть - нет. Пока нашел одно отличие: в примере отсутствует раздел создания трансформации СМЭВ, но вставка этого кода не помогла. В общем вложенный файл requestNoValid имеет корректную подпись если проверять следующим кодом:

// Проверка подписи под XML документом.
public static Boolean VerifyXmlFile(XmlElement xmlElement, XmlElement signature)
{
// Создаем объект SignedXml для проверки подписи документа.
SignedXml signedXml = new SignedXml(xmlElement);

// Загружаем первую подпись в SignedXml
signedXml.LoadXml(signature);

// Проверяем подпись.
return signedXml.CheckSignature();

}

Однако http://smev3.gosuslugi.ru/portal/checkxmlform.jsp выдает "ЭП-ОВ не подтверждена: Ошибка проверки ЭП: Нарушена целостность ЭП".

При том файл requestValid, сформированный абсолютно так же, вполне проходит проверку.

requestNoValid.xml (5kb) загружен 41 раз(а).

requestValid.xml (5kb) загружен 71 раз(а).


В общем крипто-про считает хэш отличающийся от хэша СМЭВ.

Пример из СМЭВ:

<ns2:AckTargetMessage xmlns:ns2="urn://x-artefacts-smev-gov-ru/services/message-exchange/types/basic/1.1" xmlns="urn://x-artefacts-smev-gov-ru/services/message-exchange/types/1.1" Id="SIGNED_BY_CALLER" accepted="true">0e8cfc01-5e81-11e4-a9ff-d4c9eff07b77</ns2:AckTargetMessage>

имеет <ds:DigestValue>PXd1LeLr8ng039jaMgcrumvN/MkvDxFKSqH+phrHVrI=</ds:DigestValue>

Такой же блок при подписи крипто-про.нет имеет хэш

<DigestValue>FDG4ZCuMfJo1h/7tE9twBfePvTfq+gl+9TpGRu3dtdQ=</DigestValue>

Полные пакеты во вложении.

Просьба прокомментировать ситуацию.

requestAckSMEV.xml (3kb) загружен 52 раз(а).

requestAckCryptoPro.xml (5kb) загружен 45 раз(а).

Добавил XmlDsigEnvelopedSignatureTransform сошлось. Бардак какой-то :)

Отредактировано пользователем 13 октября 2015 г. 17:50:16(UTC)  | Причина: Не указана

thanks 4 пользователей поблагодарили NIC за этот пост.
TheBorusik оставлено 16.05.2016(UTC), ShurikEv оставлено 05.08.2016(UTC), vadimromanov оставлено 29.11.2016(UTC), Anvarov оставлено 06.12.2016(UTC)
Offline stdevol  
#27 Оставлено : 11 ноября 2015 г. 17:57:46(UTC)
stdevol

Статус: Участник

Группы: Участники
Зарегистрирован: 30.10.2012(UTC)
Сообщений: 22
Откуда: Moscow

Сказал(а) «Спасибо»: 2 раз
Поблагодарили: 1 раз в 1 постах
Добрый день.

Подписываем сообщение следующим образом:
Код:

 public XmlElement GetXmlSignature(XmlElement xmlElement, string referenceUri)
        {
            if (xmlElement == null)
                throw new ArgumentNullException(nameof(xmlElement));

            var certificate = CertificateUtils.Instance.GetCertificate();
            
            var keyInfo = CreateKeyInfo(certificate);
            var reference = new Reference { Uri = referenceUri };

            reference.AddTransform(new XmlDsigEnvelopedSignatureTransform());
            reference.AddTransform(new XmlDsigExcC14NTransform());
            reference.AddTransform(new XmlDsigSmevTransform());
            

            reference.DigestMethod = GostDigestMethod;
            var signedXml = new SignedXml(xmlElement)
            {
                SigningKey = certificate.PrivateKey,
                KeyInfo = keyInfo
            };

            signedXml.SignedInfo.SignatureMethod = @"http://www.w3.org/2001/04/xmldsig-more#gostr34102001-gostr3411";
            signedXml.SignedInfo.CanonicalizationMethod = SignedXml.XmlDsigExcC14NTransformUrl;

            signedXml.AddReference(reference);

            signedXml.ComputeSignature();

            XmlElement xmlDigitalSignature = signedXml.GetXml();

            CheckSignature(xmlElement, xmlDigitalSignature);

            return xmlDigitalSignature;
        }


Валидация СМЭВа не проходит: "ЭП-ОВ не подтверждена: Ошибка проверки ЭП: Нарушена целостность ЭП".

Не подскажете в чём ошибка? request.xml (5kb) загружен 24 раз(а).Во вложении сообщение.
thanks 1 пользователь поблагодарил stdevol за этот пост.
Kilya оставлено 20.02.2017(UTC)
Offline zakke  
#28 Оставлено : 25 ноября 2015 г. 16:58:42(UTC)
zakke

Статус: Новичок

Группы: Участники
Зарегистрирован: 25.11.2015(UTC)
Сообщений: 2
Российская Федерация

Добрый день!
Пытаемся подписать сообщения AcqRequest из примеров СМЭВ 3:

Код:

        private static void SignXmlFile(string FileName,
            string SignedFileName, AsymmetricAlgorithm Key,
            X509Certificate Certificate)
        {
            XmlDocument doc = new XmlDocument();
            doc.PreserveWhitespace = true;
            doc.Load(new XmlTextReader(FileName));
        
            SignedXml signedXml = new SignedXml(doc);
            signedXml.SigningKey = Key;

            Reference reference = new Reference();
            reference.Uri = "#SIGNED_BY_CALLER";

#pragma warning disable 612
            reference.DigestMethod = CPSignedXml.XmlDsigGost3411UrlObsolete;
#pragma warning restore 612

            XmlDsigSmevTransform smev =
                new XmlDsigSmevTransform();
            reference.AddTransform(smev);

            XmlDsigExcC14NTransform c14 = new XmlDsigExcC14NTransform();
            reference.AddTransform(c14);
            
            signedXml.SignedInfo.CanonicalizationMethod = SignedXml.XmlDsigExcC14NTransformUrl;
#pragma warning disable 612
            signedXml.SignedInfo.SignatureMethod = CPSignedXml.XmlDsigGost3410UrlObsolete;
#pragma warning disable 612

            signedXml.AddReference(reference);
            KeyInfo keyInfo = new KeyInfo();
            keyInfo.AddClause(new KeyInfoX509Data(Certificate));
            signedXml.KeyInfo = keyInfo;
            signedXml.ComputeSignature();

            XmlElement xmlDigitalSignature = signedXml.GetXml();
            doc.GetElementsByTagName("AckRequest", NSNamespaceUrl)[0].AppendChild(doc.CreateNode(XmlNodeType.Element, "ns", "CallerInformationSystemSignature", NSNamespaceUrl));
            doc.GetElementsByTagName("CallerInformationSystemSignature", NSNamespaceUrl)[0].AppendChild(
                doc.ImportNode(xmlDigitalSignature, true));

            // При наличии стартовой XML декларации ее удаляем
            // (во избежание повторного сохранения)
            if (doc.FirstChild is XmlDeclaration)
            {
                doc.RemoveChild(doc.FirstChild);
            }
 doc_signed.xml (5kb) загружен 43 раз(а).
            using (XmlTextWriter xmltw = new XmlTextWriter(SignedFileName,
                new UTF8Encoding(false)))
            {
                xmltw.WriteStartDocument();
                doc.WriteTo(xmltw);
            }
        }


Однако при проверке XML-сообщения на соответствие схемам сервиса СМЭВ получаем ошибку "ЭЦП не подтверждена: null".
В чем может быть проблема?
doc_signed.xml (5kb) загружен 43 раз(а).

Отредактировано пользователем 25 ноября 2015 г. 16:59:18(UTC)  | Причина: Не указана

Offline dez  
#29 Оставлено : 4 декабря 2015 г. 9:45:15(UTC)
dez

Статус: Новичок

Группы: Участники
Зарегистрирован: 04.12.2015(UTC)
Сообщений: 2
Российская Федерация

Поблагодарили: 1 раз в 1 постах
Автор: maxdm Перейти к цитате
Выложили новую версию с поддержкой smev transform.


для java добавили поддержку трансформера?
Offline kkklll  
#30 Оставлено : 15 декабря 2015 г. 13:40:59(UTC)
kkklll

Статус: Новичок

Группы: Участники
Зарегистрирован: 09.11.2011(UTC)
Сообщений: 9

Сказал(а) «Спасибо»: 1 раз
Поблагодарили: 2 раз в 2 постах
Автор: zakke Перейти к цитате
Добрый день!
Пытаемся подписать сообщения AcqRequest из примеров СМЭВ 3:

Код:

            XmlDsigSmevTransform smev =
                new XmlDsigSmevTransform();
            reference.AddTransform(smev);

            XmlDsigExcC14NTransform c14 = new XmlDsigExcC14NTransform();
            reference.AddTransform(c14);


Однако при проверке XML-сообщения на соответствие схемам сервиса СМЭВ получаем ошибку "ЭЦП не подтверждена: null".
В чем может быть проблема?


поменяйте порядок трансформации (смэв в конце)
thanks 1 пользователь поблагодарил kkklll за этот пост.
Kilya оставлено 20.02.2017(UTC)
Offline wide  
#31 Оставлено : 30 декабря 2015 г. 16:00:15(UTC)
wide

Статус: Новичок

Группы: Участники
Зарегистрирован: 25.07.2012(UTC)
Сообщений: 5
Мужчина
Откуда: программинг

Сказал «Спасибо»: 2 раз
Код подписывающий запрос:
Код:

        /// <summary>
        /// Получить цифровую подпись
        /// </summary>
        /// <param name="xmlDocument">Xml-документ</param>
        /// <param name="certificate">Сертификат подписи</param>
        /// <param name="references">Ссылки на подписываемые узлы xml</param>
        /// <returns>Цифровая подпись в Xml-формате</returns>
        public static XmlElement ComputeSmev3Signature(XmlDocument xmlDocument, X509Certificate2 certificate, params string[] references)
        {
            // Пробельные символы участвуют в вычислении подписи и должны быть сохранены для совместимости с другими реализациями.
            xmlDocument.PreserveWhitespace = true;

            var signedXml = new SignedXml(xmlDocument)
            {
                SigningKey = certificate.PrivateKey
            };
            //var signedXml = new SmevSignedXml(xmlDocument) { SigningKey = certificate.PrivateKey };
            foreach (var referenceUri in references)
            {
                var reference = new Reference();
                reference.Uri = "#" + referenceUri;
                // Задаём алгоритм хэширования подписываемого узла - ГОСТ Р 34.11-94. Необходимо
                // использовать устаревший идентификатор данного алгоритма, т.к. именно такой
                // идентификатор используется в СМЭВ.
#pragma warning disable 612
                reference.DigestMethod = CPSignedXml.XmlDsigGost3411UrlObsolete;
#pragma warning restore 612

                // Добавляем transform на подписываемые данные
                // для удаления вложенной подписи.
                //var env = new XmlDsigEnvelopedSignatureTransform();
                //reference.AddTransform(env);

                // Добавляем transform для канонизации.
                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;

            //"http://www.w3.org/2001/04/xmldsig-more#gostr34102001-gostr3411"
            // Можно явно проставить алгоритм подписи: ГОСТ Р 34.10.
            // Если сертификат ключа подписи ГОСТ Р 34.10
            // и алгоритм ключа подписи не задан, то будет использован
#pragma warning disable 612
            signedXml.SignedInfo.SignatureMethod = CPSignedXml.XmlDsigGost3410UrlObsolete;
#pragma warning restore 612

            //Вычисляем сигнатуру
            signedXml.ComputeSignature();

            //Формируем Xml сигнатуры
            var xmlDigitalSignature = signedXml.GetXml();

            return xmlDigitalSignature;
        }


В результате получаем следующий запрос AckRequest:
Исходный вид:
Код:

<?xml version="1.0" encoding="utf-8"?><soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"><S:Body xmlns:S="http://schemas.xmlsoap.org/soap/envelope/"><AckRequest xmlns="urn://x-artefacts-smev-gov-ru/services/message-exchange/types/1.1"><AckTargetMessage xmlns="urn://x-artefacts-smev-gov-ru/services/message-exchange/types/basic/1.1" Id="SIGNED_BY_CALLER" accepted="true">31455816-928a-11e5-a2d4-6a386eb936c1</AckTargetMessage><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_CALLER"><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>z3iAFPZdGIp/P2FGbZXtvz0GKu2t1hWlzxQcDgyvZ80=</DigestValue></Reference></SignedInfo><SignatureValue>FscWYCvo2swv+Sd7ipnH0zkRAV5B7zqpVVaf1KDebuPVaYCHAcpv2qdXKllEsjvKVHIawI8z2UZt80n7g8qnaQ==</SignatureValue><KeyInfo><X509Data><X509Certificate>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</X509Certificate></X509Data></KeyInfo></Signature></CallerInformationSystemSignature></AckRequest></S:Body></soapenv:Envelope>

В читабельном виде:
Код:
<?xml version="1.0" encoding="utf-8"?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
	<S:Body xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
		<AckRequest xmlns="urn://x-artefacts-smev-gov-ru/services/message-exchange/types/1.1">
			<AckTargetMessage xmlns="urn://x-artefacts-smev-gov-ru/services/message-exchange/types/basic/1.1" Id="SIGNED_BY_CALLER" accepted="true">31455816-928a-11e5-a2d4-6a386eb936c1</AckTargetMessage>
			<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_CALLER">
							<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>z3iAFPZdGIp/P2FGbZXtvz0GKu2t1hWlzxQcDgyvZ80=</DigestValue>
						</Reference>
					</SignedInfo>
					<SignatureValue>FscWYCvo2swv+Sd7ipnH0zkRAV5B7zqpVVaf1KDebuPVaYCHAcpv2qdXKllEsjvKVHIawI8z2UZt80n7g8qnaQ==</SignatureValue>
					<KeyInfo>
						<X509Data>
							<X509Certificate>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</X509Certificate>
						</X509Data>
					</KeyInfo>
				</Signature>
			</CallerInformationSystemSignature>
		</AckRequest>
	</S:Body>
</soapenv:Envelope>

При проверки на соответствие формату СМЭВ 3:
"ЭЦП не подтверждена: Ошибка проверки ЭП: Нарушена целостность ЭП"

Что делаю не так?
Offline wide  
#32 Оставлено : 18 января 2016 г. 14:40:56(UTC)
wide

Статус: Новичок

Группы: Участники
Зарегистрирован: 25.07.2012(UTC)
Сообщений: 5
Мужчина
Откуда: программинг

Сказал «Спасибо»: 2 раз
Добрый день. Проблема ещё актуальна. Не подскажите в чём она заключается?

P.S.: .Net версии 1.0.5821 и Csp версии 3.6.7777
Offline TheBorusik  
#33 Оставлено : 11 апреля 2016 г. 11:04:43(UTC)
TheBorusik

Статус: Новичок

Группы: Участники
Зарегистрирован: 11.04.2016(UTC)
Сообщений: 2
Российская Федерация
Откуда: Москва

Сказал(а) «Спасибо»: 1 раз
Поблагодарили: 4 раз в 1 постах
Добрый день!

Прочитал тему , было много вопросов с ошибкой :"ЭЦП не подтверждена: Ошибка проверки ЭП: Нарушена целостность ЭП" , а ответов так и не увидел . Подскажите кто нибудь решил эту проблему ?? Если да , то подскажите или отпишите здесь .Заранее спасибо

P.S. решил сам проблему , при сериализации SenderProvidedRequestData не указывался namespace= urn://x-artefacts-smev-gov-ru/services/message-exchange/types/1.1 . В ручную добавляю XmlRootAttribute с namespace и все работает

Отредактировано пользователем 12 апреля 2016 г. 13:24:19(UTC)  | Причина: Не указана

Offline Win  
#34 Оставлено : 19 апреля 2016 г. 9:03:24(UTC)
Win

Статус: Новичок

Группы: Участники
Зарегистрирован: 09.08.2012(UTC)
Сообщений: 8

Добрый день. Также столкнулись с проблемой вычисления корректной подписи запроса AckRequest (подписи запросов SendRequestRequest и GetResponseRequest, вычисленные по тому же алгоритму, успешно проверяются на техпортале СМЭВ). Дополнительно обнаружили, что проблему вызывает атрибут accepted="true" поскольку, если его убрать из запроса, техпортал СМЭВ сообщает об успешной проверке подписи (но требует этот атрибут). Используем последние версии КриптоПро CSP и КриптоПро .NET. Скажите, пожалуйста, решается ли эта проблема? Заранее спасибо.
Offline TheBorusik  
#35 Оставлено : 6 мая 2016 г. 12:24:58(UTC)
TheBorusik

Статус: Новичок

Группы: Участники
Зарегистрирован: 11.04.2016(UTC)
Сообщений: 2
Российская Федерация
Откуда: Москва

Сказал(а) «Спасибо»: 1 раз
Поблагодарили: 4 раз в 1 постах
Добрый день!

У кого нибудь получилось отправить AckRequest без ошибки "ЭЦП не подтверждена: Ошибка проверки ЭП: Нарушена целостность ЭП" ??

P.S Понял суть проблемы , спасибо посту от NIC . Необходимо после XmlDsigExcC14NTransform , XmlDsigSmevTransform добавть еще одну XmlDsigEnvelopedSignatureTransform .

Отредактировано пользователем 16 мая 2016 г. 18:14:18(UTC)  | Причина: Не указана

thanks 4 пользователей поблагодарили TheBorusik за этот пост.
ShurikEv оставлено 05.08.2016(UTC), vadimromanov оставлено 29.11.2016(UTC), Anvarov оставлено 06.12.2016(UTC), Kilya оставлено 20.02.2017(UTC)
Offline t1nk  
#36 Оставлено : 26 августа 2016 г. 16:00:02(UTC)
t1nk

Статус: Участник

Группы: Участники
Зарегистрирован: 25.08.2016(UTC)
Сообщений: 17
Российская Федерация
Откуда: Белгород

Сказал(а) «Спасибо»: 7 раз
Может кто-нибудь поделиться кодом подписи XML под JCP, если поддержка уже есть ?
Offline lab  
#37 Оставлено : 30 ноября 2016 г. 17:30:37(UTC)
lab

Статус: Активный участник

Группы: Участники
Зарегистрирован: 23.04.2010(UTC)
Сообщений: 69

Сказал(а) «Спасибо»: 13 раз
Поблагодарили: 4 раз в 4 постах
друзья, простой вопрос для тех, кто знает.
файл запроса из примеров первого поста п.4 AckRequest.xml

в прикрепленной картинке,
не могу найти сами данные которые мы подписали.
AckRequest.jpg (231kb) загружен 110 раз(а).

ткните, пожалуйста.Brick wall

Offline Xendar  
#38 Оставлено : 1 декабря 2016 г. 11:11:20(UTC)
Xendar

Статус: Активный участник

Группы: Участники
Зарегистрирован: 30.07.2014(UTC)
Сообщений: 115
Российская Федерация

Сказал(а) «Спасибо»: 20 раз
Поблагодарили: 12 раз в 12 постах
Предположу, что их там нет :) Потому что, если вы, например, посмотрите в примере запроса к сервису ЕСИА по отправке данных о сертификатах - данные там четко видны.

Rukovodstvo+pol'zovatelja.rar (120kb) загружен 35 раз(а).
Offline lab  
#39 Оставлено : 1 декабря 2016 г. 11:35:24(UTC)
lab

Статус: Активный участник

Группы: Участники
Зарегистрирован: 23.04.2010(UTC)
Сообщений: 69

Сказал(а) «Спасибо»: 13 раз
Поблагодарили: 4 раз в 4 постах
Xendar
огромное спасибо, что откликнулись!

однако.. файл можно проверить на сервисе проверки и результатом проверки выводится "ЭЦП верна" - это меня смущает, т.к. если есть ЭЦП, то должны быть и данные. Или, все же, сервис http://smev3.gosuslugi.ru/portal/checkxmlform.jsp проверяет "на соответствие схемам"

ecpverna.jpg (231kb) загружен 77 раз(а).


может, кто добавит к сказанному и окончательно прояснит ситуацию ?













Offline Boris@Serezhkin.com  
#40 Оставлено : 6 декабря 2016 г. 21:28:08(UTC)
Boris@Serezhkin.com

Статус: Активный участник

Группы: Участники
Зарегистрирован: 26.08.2010(UTC)
Сообщений: 259
Откуда: Moscow

Сказал(а) «Спасибо»: 4 раз
Поблагодарили: 11 раз в 10 постах
Автор: lab Перейти к цитате
если есть ЭЦП, то должны быть и данные

Проверяем что - ХМЛ. Подпись где - там же. Данные кои подписываем где?Liar
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
9 Страницы<1234>»
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.