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

Уведомление

Icon
Error

Опции
К последнему сообщению К первому непрочитанному
Offline belarusrulez  
#1 Оставлено : 12 ноября 2012 г. 16:50:32(UTC)
belarusrulez

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

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

При попытке подписать данное сообщение при помощи примера SMEVExample

Код:

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" 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">
   <soap:Header>
      <wsse:Security soap:actor="http://smev.gosuslugi.ru/actors/smev">
         <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>
   </soap:Header>
   <soap:Body wsu:Id="body">
      <ns3:checkTOResponse xmlns:ns2="com/asd/qwe/schema-0.9" xmlns:ns3="http://qwe.asd.zxc.ccc.com/">
         <return>
            <ErrorList>
               <ErrorInfo>
                  <Code>100</Code>
                  <Message>Ошибка.</Message>
               </ErrorInfo>
            </ErrorList>
         </return>
      </ns3:checkTOResponse>
   </soap:Body>
</soap:Envelope>


получаю CanonicalizationException: Element ns3:checkTOResponse has a relative namespace:

Код:
Exception in thread "main" javax.xml.crypto.dsig.XMLSignatureException: javax.xml.crypto.dsig.TransformException: org.apache.xml.security.c14n.CanonicalizationException: Element ns3:checkTOResponse has a relative namespace: ns2="com/asd/qwe/schema-0.9"
Original Exception was org.apache.xml.security.c14n.CanonicalizationException: Element ns3:checkTOResponse has a relative namespace: ns2="com/asd/qwe/schema-0.9"
Original Exception was org.apache.xml.security.c14n.CanonicalizationException: Element ns3:checkTOResponse has a relative namespace: ns2="com/asd/qwe/schema-0.9"
	at ru.CryptoPro.JCPxml.dsig.internal.dom.DOMReference.transform(DOMReference.java:440)
	at ru.CryptoPro.JCPxml.dsig.internal.dom.DOMReference.digest(DOMReference.java:333)
	at ru.CryptoPro.JCPxml.dsig.internal.dom.DOMXMLSignature.digestReference(DOMXMLSignature.java:453)
	at ru.CryptoPro.JCPxml.dsig.internal.dom.DOMXMLSignature.sign(DOMXMLSignature.java:352)
	at wss4j.wss4j1_6_3.tests.forum.SMEVExample.main(SMEVExample.java:165)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:601)
	at com.intellij.rt.execution.application.AppMain.main(AppMain.java:120)
Caused by: javax.xml.crypto.dsig.TransformException: org.apache.xml.security.c14n.CanonicalizationException: Element ns3:checkTOResponse has a relative namespace: ns2="com/asd/qwe/schema-0.9"
Original Exception was org.apache.xml.security.c14n.CanonicalizationException: Element ns3:checkTOResponse has a relative namespace: ns2="com/asd/qwe/schema-0.9"
Original Exception was org.apache.xml.security.c14n.CanonicalizationException: Element ns3:checkTOResponse has a relative namespace: ns2="com/asd/qwe/schema-0.9"
	at ru.CryptoPro.JCPxml.dsig.internal.dom.ApacheCanonicalizer.transform(ApacheCanonicalizer.java:233)
	at ru.CryptoPro.JCPxml.dsig.internal.dom.DOMTransform.transform(DOMTransform.java:148)
	at ru.CryptoPro.JCPxml.dsig.internal.dom.DOMReference.transform(DOMReference.java:437)
	... 9 more
Caused by: org.apache.xml.security.c14n.CanonicalizationException: Element ns3:checkTOResponse has a relative namespace: ns2="com/asd/qwe/schema-0.9"
Original Exception was org.apache.xml.security.c14n.CanonicalizationException: Element ns3:checkTOResponse has a relative namespace: ns2="com/asd/qwe/schema-0.9"
Original Exception was org.apache.xml.security.c14n.CanonicalizationException: Element ns3:checkTOResponse has a relative namespace: ns2="com/asd/qwe/schema-0.9"
	at org.apache.xml.security.transforms.implementations.TransformC14NExclusive.enginePerformTransform(TransformC14NExclusive.java:89)
	at org.apache.xml.security.transforms.Transform.performTransform(Transform.java:304)
	at ru.CryptoPro.JCPxml.dsig.internal.dom.ApacheCanonicalizer.transform(ApacheCanonicalizer.java:223)
	... 11 more
javax.xml.crypto.dsig.TransformException: org.apache.xml.security.c14n.CanonicalizationException: Element ns3:checkTOResponse has a relative namespace: ns2="com/asd/qwe/schema-0.9"
Original Exception was org.apache.xml.security.c14n.CanonicalizationException: Element ns3:checkTOResponse has a relative namespace: ns2="com/asd/qwe/schema-0.9"
Original Exception was org.apache.xml.security.c14n.CanonicalizationException: Element ns3:checkTOResponse has a relative namespace: ns2="com/asd/qwe/schema-0.9"
	at ru.CryptoPro.JCPxml.dsig.internal.dom.ApacheCanonicalizer.transform(ApacheCanonicalizer.java:233)
	at ru.CryptoPro.JCPxml.dsig.internal.dom.DOMTransform.transform(DOMTransform.java:148)
	at ru.CryptoPro.JCPxml.dsig.internal.dom.DOMReference.transform(DOMReference.java:437)
	at ru.CryptoPro.JCPxml.dsig.internal.dom.DOMReference.digest(DOMReference.java:333)
	at ru.CryptoPro.JCPxml.dsig.internal.dom.DOMXMLSignature.digestReference(DOMXMLSignature.java:453)
	at ru.CryptoPro.JCPxml.dsig.internal.dom.DOMXMLSignature.sign(DOMXMLSignature.java:352)
	at wss4j.wss4j1_6_3.tests.forum.SMEVExample.main(SMEVExample.java:165)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:601)
	at com.intellij.rt.execution.application.AppMain.main(AppMain.java:120)
Caused by: org.apache.xml.security.c14n.CanonicalizationException: Element ns3:checkTOResponse has a relative namespace: ns2="com/asd/qwe/schema-0.9"
Original Exception was org.apache.xml.security.c14n.CanonicalizationException: Element ns3:checkTOResponse has a relative namespace: ns2="com/asd/qwe/schema-0.9"
Original Exception was org.apache.xml.security.c14n.CanonicalizationException: Element ns3:checkTOResponse has a relative namespace: ns2="com/asd/qwe/schema-0.9"
	at org.apache.xml.security.transforms.implementations.TransformC14NExclusive.enginePerformTransform(TransformC14NExclusive.java:89)
	at org.apache.xml.security.transforms.Transform.performTransform(Transform.java:304)
	at ru.CryptoPro.JCPxml.dsig.internal.dom.ApacheCanonicalizer.transform(ApacheCanonicalizer.java:223)
	... 11 more
org.apache.xml.security.c14n.CanonicalizationException: Element ns3:checkTOResponse has a relative namespace: ns2="com/asd/qwe/schema-0.9"
Original Exception was org.apache.xml.security.c14n.CanonicalizationException: Element ns3:checkTOResponse has a relative namespace: ns2="com/asd/qwe/schema-0.9"
Original Exception was org.apache.xml.security.c14n.CanonicalizationException: Element ns3:checkTOResponse has a relative namespace: ns2="com/asd/qwe/schema-0.9"
	at org.apache.xml.security.transforms.implementations.TransformC14NExclusive.enginePerformTransform(TransformC14NExclusive.java:89)
	at org.apache.xml.security.transforms.Transform.performTransform(Transform.java:304)
	at ru.CryptoPro.JCPxml.dsig.internal.dom.ApacheCanonicalizer.transform(ApacheCanonicalizer.java:223)
	at ru.CryptoPro.JCPxml.dsig.internal.dom.DOMTransform.transform(DOMTransform.java:148)
	at ru.CryptoPro.JCPxml.dsig.internal.dom.DOMReference.transform(DOMReference.java:437)
	at ru.CryptoPro.JCPxml.dsig.internal.dom.DOMReference.digest(DOMReference.java:333)
	at ru.CryptoPro.JCPxml.dsig.internal.dom.DOMXMLSignature.digestReference(DOMXMLSignature.java:453)
	at ru.CryptoPro.JCPxml.dsig.internal.dom.DOMXMLSignature.sign(DOMXMLSignature.java:352)
	at wss4j.wss4j1_6_3.tests.forum.SMEVExample.main(SMEVExample.java:165)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:601)
	at com.intellij.rt.execution.application.AppMain.main(AppMain.java:120)
org.apache.xml.security.c14n.CanonicalizationException: Element ns3:checkTOResponse has a relative namespace: ns2="com/asd/qwe/schema-0.9"
Original Exception was org.apache.xml.security.c14n.CanonicalizationException: Element ns3:checkTOResponse has a relative namespace: ns2="com/asd/qwe/schema-0.9"
	at org.apache.xml.security.c14n.implementations.CanonicalizerBase.engineCanonicalize(CanonicalizerBase.java:165)
	at org.apache.xml.security.c14n.implementations.Canonicalizer20010315Excl.engineCanonicalize(Canonicalizer20010315Excl.java:131)
	at org.apache.xml.security.transforms.implementations.TransformC14NExclusive.enginePerformTransform(TransformC14NExclusive.java:81)
	at org.apache.xml.security.transforms.Transform.performTransform(Transform.java:304)
	at ru.CryptoPro.JCPxml.dsig.internal.dom.ApacheCanonicalizer.transform(ApacheCanonicalizer.java:223)
	at ru.CryptoPro.JCPxml.dsig.internal.dom.DOMTransform.transform(DOMTransform.java:148)
	at ru.CryptoPro.JCPxml.dsig.internal.dom.DOMReference.transform(DOMReference.java:437)
	at ru.CryptoPro.JCPxml.dsig.internal.dom.DOMReference.digest(DOMReference.java:333)
	at ru.CryptoPro.JCPxml.dsig.internal.dom.DOMXMLSignature.digestReference(DOMXMLSignature.java:453)
	at ru.CryptoPro.JCPxml.dsig.internal.dom.DOMXMLSignature.sign(DOMXMLSignature.java:352)
	at wss4j.wss4j1_6_3.tests.forum.SMEVExample.main(SMEVExample.java:165)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:601)
	at com.intellij.rt.execution.application.AppMain.main(AppMain.java:120)
org.apache.xml.security.c14n.CanonicalizationException: Element ns3:checkTOResponse has a relative namespace: ns2="com/asd/qwe/schema-0.9"
	at org.apache.xml.security.c14n.implementations.Canonicalizer20010315Excl.handleAttributesSubtree(Canonicalizer20010315Excl.java:186)
	at org.apache.xml.security.c14n.implementations.CanonicalizerBase.canonicalizeSubTree(CanonicalizerBase.java:295)
	at org.apache.xml.security.c14n.implementations.CanonicalizerBase.engineCanonicalizeSubTree(CanonicalizerBase.java:203)
	at org.apache.xml.security.c14n.implementations.CanonicalizerBase.engineCanonicalize(CanonicalizerBase.java:151)
	at org.apache.xml.security.c14n.implementations.Canonicalizer20010315Excl.engineCanonicalize(Canonicalizer20010315Excl.java:131)
	at org.apache.xml.security.transforms.implementations.TransformC14NExclusive.enginePerformTransform(TransformC14NExclusive.java:81)
	at org.apache.xml.security.transforms.Transform.performTransform(Transform.java:304)
	at ru.CryptoPro.JCPxml.dsig.internal.dom.ApacheCanonicalizer.transform(ApacheCanonicalizer.java:223)
	at ru.CryptoPro.JCPxml.dsig.internal.dom.DOMTransform.transform(DOMTransform.java:148)
	at ru.CryptoPro.JCPxml.dsig.internal.dom.DOMReference.transform(DOMReference.java:437)
	at ru.CryptoPro.JCPxml.dsig.internal.dom.DOMReference.digest(DOMReference.java:333)
	at ru.CryptoPro.JCPxml.dsig.internal.dom.DOMXMLSignature.digestReference(DOMXMLSignature.java:453)
	at ru.CryptoPro.JCPxml.dsig.internal.dom.DOMXMLSignature.sign(DOMXMLSignature.java:352)
	at wss4j.wss4j1_6_3.tests.forum.SMEVExample.main(SMEVExample.java:165)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:601)
	at com.intellij.rt.execution.application.AppMain.main(AppMain.java:120)


хотелось бы узнать можно ли подписать не удаляя данный namespace?
Offline Евгений Афанасьев  
#2 Оставлено : 12 ноября 2012 г. 18:33:10(UTC)
Евгений Афанасьев

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

Группы: Участники
Зарегистрирован: 06.12.2008(UTC)
Сообщений: 4,003
Российская Федерация
Откуда: Крипто-Про

Сказал(а) «Спасибо»: 21 раз
Поблагодарили: 714 раз в 674 постах
Здравствуйте.
XML SEC запрещает использование относительных имен.
Offline belarusrulez  
#3 Оставлено : 27 ноября 2012 г. 13:33:50(UTC)
belarusrulez

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

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

afev написал:
Здравствуйте.
XML SEC запрещает использование относительных имен.


пробовал использовать

Canonicalizer.getInstance(Canonicalizer.ALGO_ID_C14N11_WITH_COMMENTS); //также использовал другие инстансы
currentEnvelopeMessage = new String(canonicalizer.canonicalize(currentEnvelopeMessage.getBytes("UTF-8")),"UTF-8");

но они выдают туже ошибку

Цитата:
org.apache.xml.security.c14n.CanonicalizationException: Element ns2:method has a relative namespace: ns3="schema-2.6"


вы не могли бы подсказать пути решения данного вопроса?
Offline ilovke  
#4 Оставлено : 11 февраля 2016 г. 15:11:00(UTC)
ilovke

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

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

Сказал(а) «Спасибо»: 2 раз
Цитата:
Здравствуйте.
XML SEC запрещает использование относительных имен.


Я правильно понимаю эту фразу, что такие документы я в принципе не могу подписывать с помощью JCP или что я делаю не так?

Код:
<?xml version="1.0" encoding="UTF-8"?>
<ed:document xmlns:ed="ru.emias.simi.v2.xds.core" xmlns="http://www.w3.org/2000/09/xmldsig#" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="ru.emias.simi.v2.xds.core EmiasDocument.xsd">
	<ed:content mimeType="application/xml">
		<ed:data></ed:data>
	</ed:content>	

</ed:document>


у меня сейчас падает такая же ошибка:

Код:

org.apache.xml.security.c14n.CanonicalizationException: Element ed:document has a relative namespace: ed="ru.emias.simi.v2.xds.core"
	at ru.CryptoPro.JCPxml.dsig.internal.dom.DOMReference.transform(DOMReference.java:532)
	at ru.CryptoPro.JCPxml.dsig.internal.dom.DOMReference.digest(DOMReference.java:333)
	at ru.CryptoPro.JCPxml.dsig.internal.dom.DOMXMLSignature.digestReference(DOMXMLSignature.java:453)
	at ru.CryptoPro.JCPxml.dsig.internal.dom.DOMXMLSignature.sign(DOMXMLSignature.java:352)

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

Offline ilovke  
#5 Оставлено : 11 февраля 2016 г. 17:48:52(UTC)
ilovke

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

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

Сказал(а) «Спасибо»: 2 раз
вместо
Код:
fac.newTransform(Transform.XPATH, new XPathFilterParameterSpec("/ed:document/ed:content", xpathNamespaceMap));


сделал вот так
Код:
fac.newTransform(Transform.XPATH, new XPathFilterParameterSpec("ancestor-or-self::ed:content", xpathNamespaceMap));


помогло избавится от

org.apache.xml.security.c14n.CanonicalizationException: Element ed:document has a relative namespace:
RSS Лента  Atom Лента
Пользователи, просматривающие эту тему
Guest
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.