Skip to content
Switch branches/tags

Build Status

XAdES4j is an high-level, configurable and extensible Java implementation of XML Advanced Electronic Signatures (XAdES 1.3.2 and 1.4.1). It enables producing, verifying and extending signatures in the main XAdES forms: XAdES-BES, XAdES-EPES, XAdES-T and XAdES-C. Also, extended forms are supported through the enrichment of an existing signature.

The API provides an high level of abstraction, handling all the structural details of XAdES. The library relies on Apache XML Security for the core XML-DSIG processing and uses Guice to assemble the different configurable components.

There are multiple implementations of XML-DSIG, namely the one bundled with the Java platform and the one in Apache XML Security. However, Java doesn't have support for XAdES and solid/complete/public implementations are hard to find. The motivation for this project emerges directly from those facts.


The library is available on Maven.


Docs and Q&A

  • General usage documentation can be found on the project's wiki.
  • Javadocs for the latest version can be found here.
  • Unit tests in the source code illustrate all the features.
  • Overview of the architecture and implementation on the XAdES4j Prezi.
  • xades4j tag on Stack Overflow.

If XAdES4j has been useful to you, consider supporting it!

Buy Me A Coffee