【问题标题】:Verifiying a xades message with previously embedded xades message使用先前嵌入的 xades 消息验证 xades 消息
【发布时间】:2013-03-14 10:30:39
【问题描述】:

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

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

【问题讨论】:

  • 这不是 xades4j 特有的。这取决于每个签名上的引用是如何定义的,并且可能取决于签名生成的顺序。能详细点吗?另外,“使按摩无效”是什么意思?使所有签名无效还是每个“更改位置”都使相应的签名无效?

标签: xml-signature xades4j


【解决方案1】:

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-02-22
    • 1970-01-01
    • 2021-03-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多