Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/luisgoncalves/xades4j
A Java library for XAdES signature services
https://github.com/luisgoncalves/xades4j
electronic-signatures xades
Last synced: 1 day ago
JSON representation
A Java library for XAdES signature services
- Host: GitHub
- URL: https://github.com/luisgoncalves/xades4j
- Owner: luisgoncalves
- License: lgpl-3.0
- Created: 2015-08-06T22:04:09.000Z (over 9 years ago)
- Default Branch: master
- Last Pushed: 2024-10-21T08:14:25.000Z (2 months ago)
- Last Synced: 2024-10-21T11:15:40.364Z (2 months ago)
- Topics: electronic-signatures, xades
- Language: Java
- Homepage:
- Size: 17.9 MB
- Stars: 109
- Watchers: 13
- Forks: 65
- Open Issues: 15
-
Metadata Files:
- Readme: README.md
- License: license.txt
Awesome Lists containing this project
README
![Build Status](https://github.com/luisgoncalves/xades4j/workflows/Build/badge.svg)
_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](http://search.maven.org/#search%7Cga%7C1%7Cg%3A%22com.googlecode.xades4j%22).
```
com.googlecode.xades4j
xades4j
{version}```
# Example
```java
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](https://github.com/luisgoncalves/xades4j/wiki).
- Javadocs for the latest version can be found [here](http://luisgoncalves.github.io/xades4j/javadocs/2.4.0).
- Unit tests in the source code illustrate all the features.
- Overview of the architecture and implementation on the [XAdES4j Prezi](http://prezi.com/06vyxbgohncv/xades4j-en/).
- `xades4j` tag on [Stack Overflow](http://stackoverflow.com/questions/tagged/xades4j).----
If _XAdES4j_ has been useful to you, consider supporting it!