包含通过XPath引用签名父节点的XML-Signature

时间:2014-12-04 11:25:12

标签: xml xpath xml-signature

我无法找到包含XML-Signature的正确XPath表达式。 给出的例子:

<xxx>
 <bbb>
  <Signature>
       <SignedInfo>
         ...
         <Reference>
           <Transforms>
             <Transform>
               <XPath>???<XPath>
             <Transform>
           <Transforms>
           ...
         <Reference>
       <SignedInfo>
       ...
     <Signature>
 </bbb>
 <bbb>
 </bbb>
</xxx>

每个BBB可能有自己的签名(并且XXX不能),并且BBB中不允许ID-Attribute。 BBB可以多次出现。所以我需要告诉签名与其包络节点一起工作。 遗憾的是架构已修复,我知道不是很好,但我必须处理它。

也许here() - 函数([http://www.w3.org/TR/xmldsig-filter2/#function-here)可能有帮助吗?我的建议是:

here()/../../../../../.. 

它从XPath节点开始(在链接中注明),然后我沿着签名节点走到我的BBB节点,但看起来很混乱。

1 个答案:

答案 0 :(得分:0)

我得到了答案:

根本无法通过XPath表达式引用包含父元素。

您需要使用参考ID。