xades4j icon indicating copy to clipboard operation
xades4j copied to clipboard

Validation of XAdES-X and XAdES-X-L forms

Open GoogleCodeExporter opened this issue 9 years ago • 14 comments

While the library can create XAdES-X and XAdES-X-L forms by extending XAdES-C 
document it can't validate them.

Related: issue 18.

What version of the product are you using? On what operating system?
1.3.0

Please provide any additional information below.
Preliminary patches (not final) to add support for XAdES-X and XAdES-X-L forms 
are attached.

Missing features:
1. Code does not use the time from SigAndRefsTimeStamp to validate 
SignatureTimeStamp 
2. Does not add support for optional tags: AttrAuthoritiesCertValues or 
AttributeRevocationValues.
3. Does not use CertificateValues or RevocationValues for checking the validity 
of Signature (still depends on validator to have proper CRLs and Certificates)

Original issue reported on code.google.com by [email protected] on 16 Oct 2012 at 5:21

Attachments:

GoogleCodeExporter avatar Aug 06 '15 22:08 GoogleCodeExporter

New set of patches (still not final) to add support for XAdES-X and XAdES-X-L 
forms.

Missing features:
1. Code does not use the time from SigAndRefsTimeStamp to validate 
SignatureTimeStamp (requires complete verifier rewrite)
2. Does not create optional tags: AttrAuthoritiesCertValues or 
AttributeRevocationValues.
3. Because of 2: no test cases for those properties

It finally does use certificates and CRLs encoded in properties.

Patches based on rev 248.

Original comment by [email protected] on 29 Oct 2012 at 5:19

Attachments:

GoogleCodeExporter avatar Aug 06 '15 22:08 GoogleCodeExporter

Small fix in patch 6: wrong ToXmlConverter was used for 
AttrAuthoritiesCertValues

Original comment by [email protected] on 30 Oct 2012 at 10:29

Attachments:

GoogleCodeExporter avatar Aug 06 '15 22:08 GoogleCodeExporter

Basically final patches to add support for XAdES-X and XAdES-X-L properties.

As the use of time from SigAndRefsTimeStamp to verify SignatureTimestamp 
requires verifier rewrite, it's still not done. It does create optional tags: 
AttrAuthoritiesCertValues, AttributeRevocationValues and tests for their 
creation. As the verifier can't handle partial failures in verification, the 
tests are only preliminary.

Big changes: separate verifier for TimeStamps and Signature (different 
TrustAnchors, different certificate stores and different revocation 
information) and ability to add certificate stores (certs and CRLs) in 
certificate validation providers.

Original comment by [email protected] on 5 Nov 2012 at 2:40

Attachments:

GoogleCodeExporter avatar Aug 06 '15 22:08 GoogleCodeExporter

Final patches to add support for XAdES-X and XAdES-X-L properties.

Both creation (by extending the signature from lower forms only!) and 
validation is functioning correctly. That is, if you have XAdES-X-L document 
with current CRLs inside you need only CA certificates to validate it.

Patches up to 0009 are exactly the same as in Comment #3, both verifier and 
unmarshallers have been rewritten to a hybrid approach: finding the property is 
done using DOM while the unmarshalling of the property itself is done using 
JXAB. The verifier can handle partial failures in verification.

Original comment by [email protected] on 15 Dec 2012 at 7:00

Attachments:

GoogleCodeExporter avatar Aug 06 '15 22:08 GoogleCodeExporter

all patches in single file to ease download

Original comment by [email protected] on 27 Dec 2012 at 5:34

Attachments:

GoogleCodeExporter avatar Aug 06 '15 22:08 GoogleCodeExporter

Here a SVN-patch including all the changes from Hubert K.
Taken from Comment 6 and applied one-by-one on revision #248.

Original comment by [email protected] on 8 Jan 2013 at 8:59

Attachments:

GoogleCodeExporter avatar Aug 06 '15 22:08 GoogleCodeExporter

SVN CLI client in 1.7 (I tested 1.7.5) does support git patches, you can just 
`svn patch` them. It's the TortoiseSVN that lacks support for git-styled 
unified diff files.

Original comment by [email protected] on 9 Jan 2013 at 3:01

GoogleCodeExporter avatar Aug 06 '15 22:08 GoogleCodeExporter

This issue is still open, is xdes4j v1.3.2 support XAdES-X and XAdES-X-L ? or should I apply patches to the current master to get XAdES-X-L working ?

redarqas avatar Dec 21 '15 15:12 redarqas

The patches have not been applied to the code base so xades4j doesn't support X-L. In addition, the patches were not revised.

luisgoncalves avatar Dec 21 '15 19:12 luisgoncalves

thanks @luisgoncalves, are you planning to include X-L support in a future release? (notify @yanoz)

redarqas avatar Dec 22 '15 09:12 redarqas

Unfortunately I can't say it's planned. I'd like to add that support as well as other aspects discussed with Hubert (the developer that submitted the patches), but I haven't been able to keep up with the library development. Nevertheless, it is not forgotten (e.g. I participated on ETSI plugtests last fall). I'd like to catch up on developments eventually...

luisgoncalves avatar Dec 23 '15 21:12 luisgoncalves

Is this issue closed, and the xades4j is supporting validation of XL forms it? I mean could I validate a File with the XL form?

leonardoavs avatar Jul 22 '18 05:07 leonardoavs

Hello @leonardoavs, this issue isn't closed because X-L support is not completely integrated in the lib.

Work from community developers over time has been merged in #146 into the xades-x-l-a branch. However, a lot of stuff changed (breaking changes) and a full review of the code is still to be done. You can build the lib from that branch and try the new features. Note that you'll have to be using the tests as documentation.

luisgoncalves avatar Jul 22 '18 14:07 luisgoncalves