DCC
COVID-19 Green certificate
A digital and printable certificate, issued by the Italian Health Ministry, which contains a QR Code to verify its authenticity and validity.
Intro
The COVID-19 green certificate is a digital and printable certificate, issued by the Italian Health Ministry, which contains a bi-dimensional barcode (QR Code) and an electronic seal qualified to verify its authenticity and validity. The authenticity and validity of the certificate are verified in Italy thanks to the official mobile app VerificaC19.
The certificate is released as a result of a:
- COVID-19 vaccination (in Italy it is released after every vaccine dose);
- negative result to a rapid antigen test in the last 48 hours or to a molecular test in the last 72 hours;
- recovery from COVID-19 in the last six months;
- vaccination exemption, certified and issued as a result of specific and documented clinical conditions.
Data on certificates issued in Italy are available in CSV and JSON format on GitHub.
Additional info are available at https://www.dgc.gov.it.
How to contribute
Platform code
It is possible the find the official source code of the Android and iOS VerificaC19 app, of the official SDK, of the various backend microservices, and the data on the issued certificates and documentation directly on the Italian Health Ministry Organization on Github. It is possible to contribute to the code by opening an issue or a Pull Request to directly solve a problem.
Developing and proposing a new SDK
To develope a new SDK based on the official VerificaC19 SDK, it is necessary to:
- Check the last edits developed for the official VerificaC19 SDK on the CHANGELOG.
- Check the official checklist to implement the functionalities requested in the SDK.
- Refer to the documentation repository to have detailed information on the implementation of the verification flow and of the Digital Covid Certificate Revocation List (DRL).
It is recommended to use the dgc-testdata repository or part of it, which contains useful testcases to check the correctness of the libraries. It is possible to take inspiration from one of the SDKs available in the official SDK list already following the technical specifics and the requirements implemented by the Italian Health Ministry inside the VerificaC19 government app.
To propose the insertion of a new library/SDK into the list, it is necessary to follow the following steps:
- Go on the repository it-dgc-verificac19-sdk-onboarding.
- Download from the repository the document named autoDichiarazione.odt and fill it.
- Send the filled and digitally-signed document to dgsi@postacert.sanita.it. This document must not be included into the repository.
- Publish the source code of your solution inside a repository owned by you accordingly with the requirements indicated in this dedicated paragraph.
- Open a Pull Request inside the repository, check all the features requested in the body of the Pull Request and add a new line in the list inserting the required informations.
At this point, a validation phase will start, during which all technical and minimal requirements will be checked. In case of positive outcome, the Pull Request will be approved within a few days and will appear inside the list. In case of negative outcome, appropriate reasons will be provided by email among with eventual suggestions to adapt the library. Any further update to the library will be subject to evaluations which may lead to its removal from the lista, in case the minimum requirements are no longer met.
Resources
-
VerificaC19 App for Android
Source code of the VerificaC19 app for Android
-
VerificaC19 App for iOS
Source code of the VerificaC19 app for iOS
-
SDK for Kotlin (Android)
Digital Covid Certificate SDK Kotlin for Android (Kotlin) on which the VerificaC19 app is based
-
SDK for iOS
ZConnectVerificaC19 SDK for native iOS (Swift)
-
SDK for .NET / .NET Framework
DgcReader SDK for .NET / .NET Framework
-
SDK for Node.js
VerificaC19 SDK for Node.js (Javascript)
-
SDK for PHP
Digital Covid Certificate SDK for PHP
-
SDK for C++
Solari Digital Covid Certificate SDK for C++
-
SDK for Java Spring
Digital Covid Certificate SDK for Java Spring Digital
-
DCC-Utils for Node.js
Utility library to read and verify the signature of the EU COVID-19 vaccine certificate in Node.js
-
DCC-Utils for Python
Utility library to read and verify the signature of the EU COVID-19 vaccine certificate in Python
-
VacDec
Python script to decode the EU COVID-19 vaccine certificate
-
DGC for Rust
Utility library to read and verify the signature of the EU COVID-19 vaccine certificate in Rust
-
Digital Covid Certificate - High-level description
High-level documentation on the DCC system.
-
Documentation on the types of DGC Checks (ScanMode)
Detailed documentation of the various types of DCC checks.
-
Documentation on the Digital Covid Certificate Revocation List (DRL)
Detailed documentation on the operation of the Digital Covid Certificate Revocation List (DRL).
-
Onboarding SDK documentation
Documentation and rules to onboard potential SDKs.
-
Detailed SDK Android documentation
Detailed documentation on the VerificaC19 SDK for Android.
-
README SDK Android
Digital Covid Certificate Kotlin (Android) SDK
-
EU Digital COVID Certificate (european repository)
EU Digital COVID Certificate (european repository)
-
DPCM 12 October 2021
DPCM 12 October 2021
-
Annex H DPCM 12 Ottobre 2021
Annex H DPCM 12 Ottobre 2021