SkillAgentSearch skills...

Xades4j

A Java library for XAdES signature services

Install / Use

/learn @luisgoncalves/Xades4j
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

<p align='right'><img src='https://github.com/luisgoncalves/xades4j/blob/gh-pages/images/logo-02.png' /></p>

Build Status

XAdES4j is a 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 a 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.

Package

The library is available on Maven.

<dependency>
  <groupId>com.googlecode.xades4j</groupId>
  <artifactId>xades4j</artifactId>
  <version>{version}</version>
</dependency>

Example

Document doc = /* parse XML document */;
// Define the signing key/certificate
KeyingDataProvider kp = FileSystemKeyStoreKeyingDataProvider
        .builder(/* key store location and type */)
        .build();
// Define the signed object
DataObjectDesc obj = new DataObjectReference("")
        .withTransform(new EnvelopedSignatureTransform())
        .withDataObjectFormat(new DataObjectFormatProperty("text/xml"));
// Create the signature
XadesSigner signer = new XadesBesSigningProfile(kp).newSigner();
signer.sign(new SignedDataObjects(obj), doc.getDocumentElement());

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!

<a href="https://www.buymeacoffee.com/luisgoncalves" target="_blank"><img src="https://cdn.buymeacoffee.com/buttons/v2/default-yellow.png" alt="Buy Me A Coffee" width="170px"></a>

Related Skills

View on GitHub
GitHub Stars123
CategoryDevelopment
Updated5d ago
Forks72

Languages

Java

Security Score

100/100

Audited on Mar 22, 2026

No findings