【发布时间】:2013-12-03 14:07:53
【问题描述】:
全部,
我正在测试一些验证 XML 数字签名的 Java 代码。我在 JDK 中使用标准的 JSR 105 API。我正在使用独占规范化方法和信封签名。传入的 XML 消息如下所示:
<doc xmlns:a="urn:abc.my.domain.com">
<a:x>12345</a:x>
</doc>
这条消息通过一个带有各种 XML 解析器(CXF、JAXB、XSLT 等)的复杂系统,然后不知何故变成了这样:
<doc xmlns:b="urn:abc.my.domain.com">
<b:x>12345</b:x>
</doc>
更改后,附加的 XML 签名将不再有效。参考无效。
在我看来,尽管这个 XML 文档发生了变化,但它似乎是等效的 XML。唯一改变的是命名空间前缀。我不确定命名空间前缀更改是否符合 XML 规范化的规则。我的问题是:
- 这应该有效吗?
- 我怎样才能让它工作(转换等)?
感谢您的帮助,
g8tor保罗
【问题讨论】:
标签: java xml namespaces signature canonical-link