使用先前嵌入的xades消息验证xades消息

时间:2013-03-14 10:30:39

标签: xml-signature xades4j

我们正在验证嵌入了多个嵌入式xades(BES)消息的消息。 之前已被证明有效。 (还嵌入了签名。)

<Messsage1>
    <OtherTags>
    ...Change location A...
    </OtherTags>
    <PreDocument>
        <Messsage2>
        <OtherTags>
        ...Change location B...
        </OtherTags>
        <PreDocument>
            <Messsage3>
            <OtherTags>
            ...Change location C...
            </OtherTags>
            <Signature>
            ...
            </Signature>
            </Messsage3>
        </PreDocument>
        <Signature>
        ...
        </Signature>
        </Messsage2>
    </PreDocument>
    <Signature>
    ...
    </Signature>
</Messsage1>

目前,只有在“更改位置C”时所做的更改才会使邮件无效。 “更改位置A”和“更改位置B”的更改不会影响消息的有效性,甚至可以删除整个结构。

这是预期的行为吗? 是否有可能改变行为? (这样每次更改都会使消息无效)

1 个答案:

答案 0 :(得分:0)

更改XML对签名有效性的影响取决于两个事实:

  • 引用中的URI:如果您更改了受引用保护的XML blob中的某些内容,那么(并且必须)会使您的签名失效。

  • 您在References中使用的变换以及您为它们使用的规范化算法以及ds:SignedInfo。例如,如果您使用的是独占规范化算法,则在包络XML blob中的某处添加命名空间不会使您的签名无效。 希望这会有所帮助。