DigiDoc for Java. Javadoc:
Java Shell
Latest commit 402547c Aug 23, 2016 @rvillido rvillido Release 1.0.5 beta 1
Permalink
Failed to load latest commit information.
.idea #119363039 updated constraint.xml formatting Jul 5, 2016
.settings
conf #119363039 updated TSL statuses for test constraint.xml file Jul 6, 2016
doc #118916203 updated multiple signing and pkcs11 api docs Jun 20, 2016
keystore Renewed TSL certificates Jul 4, 2016
lib #125469911 Added support for legacy jDigidoc containers with partiall… Jul 7, 2016
maven-ant improves build.xml Jul 1, 2014
resources #118379881 excluded logback conf and runtime dependency. Removed any … May 6, 2016
src #128759997 added support for setting SSL KeyStore and TrustStore para… Aug 23, 2016
test/org/digidoc4j #128759997 added support for setting SSL KeyStore and TrustStore para… Aug 23, 2016
testFiles #128759997 added support for setting SSL KeyStore and TrustStore para… Aug 23, 2016
.classpath Removed sd-dss submodule. Ant build does not build sd-dss separately. Aug 25, 2015
.gitignore #112669283 added performance tests May 19, 2016
.gitmodules Removed sd-dss submodule. Ant build does not build sd-dss separately. Aug 25, 2015
.project Nortal Digidoc4J fixes Mar 4, 2015
.travis.yml
AUTHORS Nortal Digidoc4J fixes Mar 4, 2015
CONTRIBUTING.md Add Contributing.md Aug 5, 2015
LICENSE.LGPL #73885084 adds LGPL license information Nov 28, 2014
README.md Updated maven information in the readme file Mar 18, 2016
RELEASE-NOTES.txt Release 1.0.5 beta 1 Aug 23, 2016
build-ivy.xml Nortal Digidoc4J fixes Mar 4, 2015
build.properties Release 1.0.5 beta 1 Aug 23, 2016
build.xml
checkstyle.xml update checkstyle Sep 5, 2014
create_release.sh
digidoc4j.iml #119363039 updated jDigidoc to version 3.12.1 and BouncyCastle to ver… Jun 30, 2016
digidoc4j.sh
dss-common.iml Updated DSS version to 4.4.RC2. Fixed everything it broke Jun 29, 2015
dss-core.iml Updated DSS version to 4.4.RC2. Fixed everything it broke Jun 29, 2015
dss-document.iml Merge branch 'publish' of https://github.com/nortal/digidoc4j into no… Jul 10, 2015
dss-service.iml
dss-spi.iml Updated DSS version to 4.4.RC2. Fixed everything it broke Jun 29, 2015
ivy-pom-template.pom #101127396 added support for releasing to Maven Central Mar 18, 2016
ivy.xml
jenkins_build.xml Removed sd-dss submodule. Ant build does not build sd-dss separately. Aug 25, 2015
make_util.sh
publish.sh Updated Maven Release script for version 1.0.4 Jul 7, 2016

README.md

DigiDoc4j

DigiDoc4j is a Java library for digitally signing documents and creating digital signature containers of signed documents.

Features

  • Creating BDOC, ASiC-E and DDOC containers
  • Digitally signing containers in XAdES format
  • Validating BDOC, ASiC-E and DDOC containers

How to use it

BDOC (ASiC-E) container format

  • Has .bdoc or .asice extension
  • BDOC is a new digital signature format developed in 2014 to replace the old, DDOC (DigiDoc) digital signature format.
  • The benefits of the new format include the higher security level, the long-term integrity of the signed documents, as well as the better compliance with international standards.
  • BDOC container is based on ASiC-E standard.
  • Signatures are stored in XAdES format.
  • Supports two signature formats: BDOC-TM and BDOC-TS
  • BDOC-TM signature format has time-mark ensuring long-term provability of the authenticity of the signature.
    • This format has been used as a default digital signature format in Estonia since 2015.
    • It is based on XAdES baseline LT signature format.
    • Recommended extension is .bdoc
  • BDOC-TS signature format has time-stamp.
    • In contrast to the BDOC-TM format, long-term provability of the authenticity of the signature is ensured by time-stamps.
    • It is based on XAdES baseline LT signature format and uses RFC3161 based time-stamps which makes it highly compliant in international context.
    • To ensure better compliance with international standards, it's recommended to sign documents with the BDOC-TS time-stamp signature profile.
    • Recommended extension is .asice
  • .bdoc or .asice file is in fact a ZIP container with the signed files, the signatures and the protocol control information and can basically be opened by any program that recognizes the ZIP format.

DDOC container format

  • Has .ddoc extension
  • An old DigiDoc digital signature format
  • Since year 2015 it's recommended not to sign documents in the DDOC format
  • It is based on XML Advanced Electronic Signatures (XAdES) format, corresponding to profile XAdES-X-L
  • The DigiDoc container includes the source files (the files that were signed) as well as the signatures that are related to the signed file(s)
  • Every signature contains the certificate, validity confirmation and the validity confirmation service certificate.

Documentation

Requirements

Maven

You can use the library as a Maven dependency from the Maven Central (http://mvnrepository.com/artifact/org.digidoc4j/digidoc4j)

<dependency>
    <groupId>org.digidoc4j</groupId>
    <artifactId>digidoc4j</artifactId>
    <version>1.x.x</version>
</dependency>

Known issues

The list of user stories and issues are tracked in Pivotal Tracker

Licence

  • LGPL (GNU Library General Public License, see LICENSE.LGPL)
  • © Estonian Information System Authority

Support

Official builds are provided through official distribution point installer.id.ee. If you want support, you need to be using official builds. Contact for assistance by email abi@id.ee or www.id.ee.

Source code is provided on "as is" terms with no warranty (see license for more information). Do not file Github issues with generic support requests.