加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

XML多重签名是否有标准?

发布时间:2020-12-16 22:51:28 所属栏目:百科 来源:网络整理
导读:我检查了W3C网站上的 XML签名语法和处理, 但它没有多关于多重签名的说法. 是否有标准或规则在单个xml文件上创建多重签名? 谢谢 示例:(考虑仅相同文件引用) 原始的xml root item nameApple/name price100/price /item/root 首先A用带有标志的签名签名 签名XM
我检查了W3C网站上的 XML签名语法和处理,
但它没有多关于多重签名的说法.
是否有标准或规则在单个xml文件上创建多重签名?
谢谢

示例:(考虑仅相同文件引用)

原始的xml

<root>
  <item>
    <name>Apple</name>
    <price>100</price>
  </item>
</root>

首先A用带有标志的签名签名

签名XML

<root>
  <item>
    <name>Apple</name>
    <price>100</price>
  </item>
  <Signature>this is Signature signed by A with Ref URL=""</Signature>
</root>

现在,B想要签署XML(包含A的签名)

B签名XML

<root>
  <item>
    <name>Apple</name>
    <price>100</price>
  </item>
  <Signature>Signature A: this is Signature signed by A with Ref URL=""</Signature>
  <Signature>Signature B: this is Signature signed by B with Ref URL=""</Signature>
</root>

然后,当涉及到验证时,它变得令人困惑……

签名A,在验证时,它看到了

<root>
  <item>
    <name>Apple</name>
    <price>100</price>
  </item>
  <Signature>Signature B: this is Signature signed by B with Ref URL=""</Signature>
</root>

但它实际签署的是什么

<root>
  <item>
    <name>Apple</name>
    <price>100</price>
  </item>
</root>

(请注意,由于包含变换,在签名和验证时会删除一个签名节点)
在进行包络签名时,可以通过将签名节点视为root来解决相同的问题.
但如果涉及多个参考,它可能会变得更加复杂.

解决方法

在一组节点上进行多个签名并使用当前的XMLDSig标准将它们包含在同一XML文档中没有问题.不需要特殊规则或标准.

对于您的示例,每个签名(应该)不是“root”,而是“item”节点(或项目节点集).因此,签名B不包括签名A作为要签名的数据.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读