DigiDoc

DigiDoc ("Digital Document") is a family of digital signature- and cryptographic computing file formats utilizing a public key infrastructure. It currently has three generations of sub formats, "DDOC"- , a later binary based "BDOC" and currently used "ASiC-E" format that is supposed to replace the previous generation formats. DigiDoc was created and is developed and maintained by RIA ("Riigi Infosüsteemi Amet", "Information System Authority of Estonia").
The format is used to legally sign and optionally encrypt file(s) like text documents as part of electronic transaction. All operations are done using a national id card, a hardware token, that has a chip with digital PKI certificates to verify a person's signature mathematically. Signed file is a container holding actual signed, unmodified files and hence operation does not require any support from software that created those files.
Format container and its signatures can be created using application like qDigiDoc or a web service with user's web browser with signing extension. When an application is used, container is typically exchanged between signing parties as an email attachment until everyone has signed it and have their own complete copy.
Web services also utilize identity cards for session authentication using an authentication certificate which is also stored on the id-card.
Technical description.
DigiDoc container contains actual files and metadata, including a hash that represents those files. When signing, software sends content hash using standardised PKCS 11 interface to the user's id-card. After verifying the user's PIN, id-card signs the hash internally and returns a signature which is then stored into DigiDoc container. 
During the signing, the certificate validity of each signing party is checked, and a signed timestamp is retrieved, using an OCSP service. The signed timestamp makes it possible to prove later at what time a document was signed (as the timestamp is derived from the document hash) and that each signing certificate was not in certificate revocation list at the time of signing. Any signatures prior to the revocation are still valid (therefore, documents do not have to be resigned when the user receives new certificates).
ASiC-E.
ASiC-E ("Associated Signature Containers") and its extended variant is the latest DigiDoc container format. Used file extension is codice_1.
BDOC.
BDOC ("Binary Document"), of which the latest version is 2.1, is based on ETSI's ASiC signature container standards. It is official Estonian national standard "EVS 821:2014". Files use the codice_2 file extension.
DDOC.
DDOC ("Digical document") is the first generation DigiDoc format. Files use the codice_3 file extension.
Software.
The most widely used application is the qDigiDoc graphical desktop software that runs on Microsoft Windows, Apple Mac OSX and on various Linux distributions. qDigiDoc is Open Source Software that can be freely downloaded and installed. Applications also exist for Apple iPad tablet devices and Windows phones.
Currently Estonian- and Finnish government issued cards work with qDigiDoc 3.x and later versions. 
Software libraries.
Multiple programming languages are supported to create applications and services utilizing DigiDoc-format, including C++, C, Java, .NET, 