0

我们正在验证嵌入了多个嵌入式 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”的更改不会影响消息的有效性,甚至可以删除整个结构。

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

4

1 回答 1

0

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

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

  • 您在参考中使用的转换以及您为它们和 ds:SignedInfo 使用的规范化算法。例如,如果您使用独占规范化算法,则在封装 XML blob 中的某处添加名称空间不会使您的签名无效。希望这可以帮助。

于 2013-04-16T09:31:42.757 回答