2013-06-13 54 views
0

我想使用Xades4j驗證Xades簽名。Xades4j:未找到SignedProperties參考

一些這些簽名被其他工具生成的(這是不Xades4j)和這些簽名必須在參考標籤沒有類型屬性:

<ds:Reference URI="#signedProps"> 
    <ds:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" /> 
    <ds:DigestValue>KUAGWItLLNF6sNZ3kXy+/6oJyEo=</ds:DigestValue> 
</ds:Reference> 

我這有例外,當我嘗試驗證它:

xades4j.verification.QualifyingPropertiesIncorporationException: SignedProperties reference not found 
at xades4j.verification.SignatureUtils.processReferences(SignatureUtils.java:221) 
at xades4j.verification.XadesVerifierImpl.verify(XadesVerifierImpl.java:132) 
at com.jeremp.x4j.App.verify(App.java:110) 
at com.jeremp.x4j.App.main(App.java:70) 

我看着SignatureUtils.java的源代碼,它似乎是API使用類型屬性來標識參考標記。

有沒有辦法用xades4j驗證這種簽名?

回答

0

除非您更改源代碼,否則無法使用xades4j驗證這些簽名。我不會推薦這個,因爲XAdES規範明確指出Type屬性是強制性的。從節6.3.1:

另外,本文件要求使用該特定的DS的類型屬性的:參考 元件,具有其值設置爲http://uri.etsi.org/01903#SignedProperties

+0

好的,謝謝你的準確答案 – jeremp