verificac19 1.2.1 copy "verificac19: ^1.2.1" to clipboard
verificac19: ^1.2.1 copied to clipboard

outdated

Unofficial EU Digital Green Certificate validation SDK for Flutter apps

VerificaC19 package for Flutter #

Flutter pub package pub points popularity likes

About #

This package allows to decode and validate any EU Digital Green Certificate in your Flutter application. It is based on the specications contained in the official it-dgc-verificac19-sdk-android repository.

This library requires an internet connection to downlod and cache rules, CRL and DSCs at least once per day. Once updated the entire process of validation can be done completely offline and in real-time.

Note: this library currently only supports the download of rules, CRL and DSCs from the Italian Backend (https://get.dgc.gov.it/v1/dgc)

Development & testing #

  • Clone the repository
git clone https://github.com/mastro993/verificac19_flutter.git
  • Get packages
cd verificac19_flutter

flutter pub get

Installation #

flutter pub add verificac19

Example app #

An example application is currently WIP.

Usage #

Setup #

First thing to do is to initialize the package. This allows to all internal initializations to be done.

await VerificaC19.initialize();

Download and cache rules, CRL data and DSCs #

You can download and cache rules, CRL data and DSCs using the update function. This will update data only if the 24 hours update window is expired.

await VerificaC19.update();

You can also check if the data is expired (older than the 24 hours update window) without requiring an update with the needsUpdate function.

bool requiresUpdate = await VerificaC19.needsUpdate();

Verify and validate a DGC #

You can verify and validate a DGC from a String containing a base45 encoded data.

// Validate frombase45 encoded data
ValidationResult result = await VerificaC19.validateFromRaw('HC1:NCFOXN%TSM...');

The result is a ValidationResult object containing the decoded Certificate object and its CertificateStatus which can have the following values:

Code Description
valid Certificate is valid
testNeeded Test needed if verification mode is boosterDGP
notValid Certificate is not valid
notValidYet Certificate is not valid yet
revoked Certificate has been revoked
notEuDCC Certificate is not an EU DCC

You can also provide a ValidationMode parameter.

Code Description
normalDGP Normal verification (default value)
superDGP Super Green Pass verification
boosterDGP SBooster verification mode

Example:

ValidationResult result = await VerificaC19.validateFromRaw('HC1:NCFOXN%TSM...', mode: ValidationMode.normalDGP);
// or
ValidationResult result = await VerificaC19.validateFromRaw('HC1:NCFOXN%TSM...', mode: ValidationMode.superDGP);

TODOs #

  • ❌ Add the ability to retrieve/validate a Certificate from an image file
3
likes
0
points
10
downloads

Publisher

unverified uploader

Weekly Downloads

Unofficial EU Digital Green Certificate validation SDK for Flutter apps

Repository (GitHub)
View/report issues

Documentation

Documentation

License

unknown (license)

Dependencies

archive, asn1lib, cbor, clock, crypto, crypto_keys, dart_base45, dio, flutter, freezed_annotation, get_it, hive, hive_flutter, injectable, json_annotation, json_serializable, ninja, retrofit, x509b

More

Packages that depend on verificac19