什么是在xml签名中使用的规范化标签。它出现在<signed info>
元素中。我通过网络浏览过各种文件。但他们都太抽象,我不明白。如果有人能够解释标准化标签中应包含哪些内容以及如何使用它,这将会有所帮助。
我也怀疑<signature value>
元素。它包含什么签名?什么是xml签名中的规范化?
1
A
回答
5
通常使用签名(除了可追踪性原因)作为接收方的证明,证明消息在其途中没有改变(例如由中间的人)。
- >关键字:诚信:
问题:
XML提供了几种有效的方法来构造相同(输入 - ),如数据:
<a>1</a><!--comment--> <b></b>
<a>1</a><b/>
这使得不可能确定的签名散列的创建,这对于工作签名验证是必须的。 例如,对上述两个XML示例的MD5散列会导致完全不同的结果散列,尽管这两个示例都以XML形式提供了相同的有效数据(它们在语义上相同)。
解决方案: 是这样的,其中一个XML规范化(C14N)进来: 该消息被格式化(规范化)由发送方(客户端),并且还对接收机侧接收(服务器)之后,使对于相同的数据(在XML级别上),哈希不会更改。
我想你只是好奇这件事,通常你不应该关心这个,因为libs(XMLDSig-libs,WS-Security-libs,..)正在幕后处理这个事情。
Re第二个问题: SignatureValue元素包含SignedInfo元素的Base64编码签名结果。
相关问题
- 1. 什么是规范化的CSS?
- 2. 包含规范化的XML数字签名
- 3. 反规范化模式的“标准名称”是什么?
- 4. 在Ruby中规范化XML
- 5. Java规范 - 什么是“有效”优化的规则
- 6. 什么是'规范表'?
- 7. Perforce中的分支规范是什么?
- 8. XML属性值规范化
- 9. 在CQRS中反规范化的最佳做法是什么?
- 10. 规范化LastFM等标签
- 11. iOS代码签名规范
- 12. 是什么?是指在W3C CSS规范的标记化部分?
- 13. 用文章和标签规范化数据库的正确策略是什么?
- 14. 什么是导入到Microsoft Project的XML规范?
- 15. MSBuild .target文件规范(这是什么样的XML?)
- 16. 反规范化意味着什么?
- 17. 表链,什么时候反规范化?
- 18. 如何在JavaScript中规范化XML?
- 19. 如何在C++中规范化XML
- 20. 规范化ORACLE中的列名称11g
- 21. 为什么名称修改不规范
- 22. Markdown的规范实现是什么?
- 23. 这种关系是什么水平的规范化
- 24. 什么是AWS S3桶的Unicode规范化表单
- 25. 什么是T-SQL规范化现有的表?
- 26. 什么是更重要的,规范化或易于编码?
- 27. 什么是定义规范化数据的其他方法?
- 28. 什么是非规范化mysql数据库的好方法?
- 29. 多维空间的规范化,这是什么算法?
- 30. XML和Unicode规范:什么是合法字符?
谢谢你的回答。实际上,签名值元素包含元素的签名。请相应地更改“Re 2nd Question”部分。我会接受你的回答。 –
Ashwin
2012-04-03 16:01:17
不客气。感谢关于第二个问题的提示,我编辑了这部分内容。 – 2012-04-03 19:59:12
@AydinK很好的答案,然而我不熟悉的部分是:_italic_“它在发送之后和接收端接收之前对消息进行格式化,以便对于相同数据(在XML级别) 。“_ italic_。我的理解是,您的XML消息不会在有线或从发送方到接收方的任何传输中发生变化。 c14n过程在发送方做为计算散列的序言(因此散列是根据规范版本的消息计算的)。在接收方,验证签名的过程将执行相同的操作以获得相同的散列。 – 2012-04-03 23:12:47