2013-03-14 57 views
0

我們正在驗證嵌入了幾個嵌入式xades(BES)消息的消息。 之前已被證實爲有效。 (也簽名嵌入。)使用先前嵌入的xades消息驗證xades消息

<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」的更改不會影響消息的有效性,甚至可以刪除整個結構。

這是預期的行爲? 是否有可能改變行爲? (讓每一個變化將無效消息)

+0

這不是特定於xades4j。這取決於每個簽名上的引用是如何定義的,也可能是簽名生成的順序。你能詳細說明嗎?另外,你是什麼意思「無效的按摩」?使所有簽名無效或每個「更改位置」使相應的信號無效? – lgoncalves 2013-03-25 20:57:59

回答

0

改變上簽名的有效性XML的影響取決於兩個因素:

  • 中的URI的參考文獻:如果您在改變一些東西由引用保護的XML blob會(並且必須)使您的簽名無效。

  • 您正在使用的參考文獻和正在使用的規範化算法以及ds:SignedInfo中使用的轉換。例如,如果您使用Exclusive canonicalization算法,則在封裝XML blob中的某個位置添加名稱空間不會使您的簽名無效。 希望這有助於。