This repository contains the source code of VerificaC19, the Italian customization of the EU Digital COVID Certificate Verifier App for the Android Operating System. The repository is forked from the official EU Digital COVID Certificate Verifier App - Android
The DGC Verifier Apps are responsible for scanning and verifying DCCs using public keys from national backend servers. Offline verification is supported, if the latest public keys are present in the app's key store. Consequently, once up-to-date keys have been downloaded, the verification works without active internet connection. The Italian version adds some medical rules to the validation of the DCCs, defined by rules downloaded from national backend servers.
- For development, the latest version of Android Studio is required. The latest version can be downloaded from here.
- Android SDK version 26+
Whether you cloned or downloaded the 'zipped' sources you will either find the sources in the chosen checkout-directory or get a zip file with the source code, which you can expand to a folder of your choice.
In order to successfully build and run the project, you must have also downloaded the corresponding core repository from here, sdk from here and certlogic from here. All projects should be at the same folder level as eachother which would look something like
android-app |___dgca-verifier-app-android |___dgca-app-core-android |___it-dgc-verificac19-sdk-android |___dgc-certlogic-android
app\build.gradle file, changing
debug config values with
release config values. Here you can find more info on app's endpoints.
This project uses the Gradle build system. To build this project, use the
gradlew build command or use
"Run" in Android Studio.
The following libraries are used in the project by the verifier app and the core app and are imported as Gradle dependencies:
- decoder. European core library that contains business logic to decode data from QR code payload and performs technical validations (i.e. correct signature verification, signature expiration verification, correct payload format etc).
- zxing. Library used QR code scanning.
- retrofit2. Library used for networking.
- gson. Library used by core module for JSON serialization/deserialization. All listed dependencies are already included in the official EU Digital COVID Certificate Verifier App for Android. No new dependencies have been included in the Italian customization of the app.
The following channels are available for discussions, feedback, and support requests:
Contribution and feedback is encouraged and always welcome. For more information about how to contribute, the project structure, as well as additional contribution information, see our Contribution Guidelines. By participating in this project, you agree to abide by its Code of Conduct at all times.
Our commitment to open source means that we are enabling -in fact encouraging- all interested parties to contribute and become part of its developer community.
See the NOTICE for all copyright and licensing details.
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License.
You may obtain a copy of the License at https://www.apache.org/licenses/LICENSE-2.0.
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the LICENSE for the specific language governing permissions and limitations under the License.