Skip to content

ministero-salute/it-dgc-verificaC19-android

 
 

EU Digital COVID Certificate Verifier App - Android

AboutDevelopmentDocumentationDependenciesSupportContributeContributorsLicensing

About

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.

Development

Prerequisites

  • For development, the latest version of Android Studio is required. The latest version can be downloaded from here.
  • Android SDK version 26+

Build

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

Android Studio based build

Modify app\build.gradle file, changing BASE_URL, SERVER_HOST and CERTIFICATE_SHA 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.

Documentation

Dependencies

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.

Support and feedback

The following channels are available for discussions, feedback, and support requests:

Type Channel
Issues

How to contribute

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.

Contributors

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.

Licensing

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.

About

VerificaC19 is the official Italian customization of the EU Digital COVID Certificate Verifier App for the Android Operating System

Topics

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Languages

  • Kotlin 99.6%
  • JavaScript 0.4%