0

Xades4j を使用して Xades 署名を検証しようとしています。

これらの署名の一部は別のツール (Xades4j ではない) によって生成され、これらの署名にはReferenceタグにType属性がありません。

<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 はType属性を使用して Reference タグを識別しているようです。

この種の署名を xades4j で検証する方法はありますか?

4

1 に答える 1

0

ソースコードを変更しない限り、xades4j を使用してこれらの署名を検証する方法はありません。XAdES の仕様では Type 属性が必須であると明確に述べられているため、これはお勧めしません。セクション 6.3.1 から:

さらに、現在のドキュメントでは、この特定の ds:Reference 要素の Type 属性を使用し、その値をhttp://uri.etsi.org/01903#SignedPropertiesに設定することを義務付けています。

于 2013-06-13T13:26:34.293 に答える