PHPackages                             herald-si/verificac19-sdk-php - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. herald-si/verificac19-sdk-php

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

herald-si/verificac19-sdk-php
=============================

PHP Digital Green Certificate SDK

v1.6.0(3y ago)132.1k—0%61Apache-2.0PHPPHP &gt;=7.3

Since Oct 17Pushed 3y ago7 watchersCompare

[ Source](https://github.com/herald-si/verificac19-sdk-php)[ Packagist](https://packagist.org/packages/herald-si/verificac19-sdk-php)[ RSS](/packages/herald-si-verificac19-sdk-php/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (10)Dependencies (5)Versions (61)Used By (1)

Digital Green Certificate SDK PHP
=================================

[](#digital-green-certificate-sdk-php)

Indice
======

[](#indice)

- [Contesto](#contesto)
- [Changelog](#changelog)
- [Installazione](#installazione)
    - [Permessi cartella assets](#permessi-cartella-assets)
- [Uso](#uso)
    - [Cache Folder](#cache-folder)
    - [Proxy](#proxy)
    - [Modalità di scansione](#scan-mode)
- [Debug mode](#debug-mode)
    - [Force cache update](#force-cache-update)
    - [Errori di scansione](#visualizza-errori-scansione)
- [Licenza](#licenza)
    - [Dettaglio licenza](#dettaglio-licenza)

Contesto
========

[](#contesto)

**Attenzione, questo repository è derivato dalle specifiche presenti in [ministero-salute/it-dgc-verificac19-sdk-android](https://github.com/ministero-salute/it-dgc-verificac19-sdk-android/)!**

**L'elenco le librerie utilizzabili è presente in questa [lista](https://github.com/ministero-salute/it-dgc-verificac19-sdk-onboarding#lista-librerie). La pagina contiene anche informazioni sulle policy di accettazione e rimozione dalla lista stessa. Fate riferimento ad essa prima di utilizzo in ambienti di produzione.**

Questo repository contiene un Software Development Kit (SDK), che consente di integrare nei sistemi le funzionalità di verifica della Certificazione verde COVID-19, mediante la lettura del QR code.

Trattamento dati personali
==========================

[](#trattamento-dati-personali)

Il trattamento dei dati personali svolto dalle soluzioni applicative sviluppate a partire dalla presente SDK deve essere effettuato limitatamente alle informazioni pertinenti e alle operazioni strettamente necessarie alla verifica della validità delle Certificazioni verdi COVID-19. Inoltre è fatto esplicito divieto di conservare il codice a barre bidimensionale (QR code) delle Certificazioni verdi COVID-19 sottoposte a verifica, nonché di estrarre, consultare, registrare o comunque trattare per finalità ulteriori rispetto a quelle previste per la verifica della Certificazione verde COVID-19 o le informazioni rilevate dalla lettura dei QR code e le informazioni fornite in esito ai controlli, come indicato nel DPCM 12 ottobre 2021

Requisiti
=========

[](#requisiti)

- PHP &gt;= 7.3
- COSE-lib requires the GMP or bcmath extension [vedi issue #31](https://github.com/herald-si/verificac19-sdk-php/issues/31#issuecomment-993470072)
- SQLite per la gestione delle DCC Revoke List

Changelog
=========

[](#changelog)

Il changelog è disponibile [qui](./CHANGELOG.md).

Installazione
=============

[](#installazione)

E' necessario clonare questo progetto, nel seguente modo:

```
your_project_folder
|___sdk_repo_folder

```

a questo punto lanciare all'interno della cartella `sdk_repo_folder` il comando

```
composer install --no-dev

```

Permessi cartella assets
------------------------

[](#permessi-cartella-assets)

E' necessario settare i permessi della cartella `sdk_repo_folder\assets` in modo tale che il webserver possa leggere, creare ed editare i file contenuti in essa.

Nel caso in cui non fosse possibile cambiare i permessi della cartella, dalla release `1.0.5` esiste la possibilità di modificare il path di salvataggio dei file, vedi [Cache Folder](#cache-folder).

Uso
===

[](#uso)

L'applicazione di verifica dovrà importare la cartella `vendor` dell'SDK.

```
require __DIR__ . '/sdk_repo_folder/vendor/autoload.php';
```

A questo punto è possibile utilizzare una libreria di scansione di QR Code a scelta che, dopo aver letto un QR Code di un EU DCC, passi la stringa estratta al validatore `Herald\GreenPass\Utils\CertificateValidator`.

Esempio:

```
...
require __DIR__ . '/sdk_repo_folder/vendor/autoload.php';
use Herald\GreenPass\Utils\CertificateValidator;

$gp_string = 'HC1:6BF.......';
$gp_reader = new CertificateValidator($gp_string);
$gp_info = $gp_reader->getCertificateSimple();

// Mostro la struttura dell'esito validazione
echo "" . print_r($gp_info, true) . "";
...
```

Osservando la risposta del metodo è restituito un oggetto `Herald\GreenPass\Model\CertificateSimple` che contiene il risultato della verifica. Il data model contiene i dati relativi alla persona, la data di nascita, il timestamp di verifica e lo stato della verifica.

Basandosi su questi dati è possibile disegnare la UI e fornire all'operatore lo stato della verifica del DCC.

Cache Folder
------------

[](#cache-folder)

Dalla release `1.0.5` esiste la possibilità di modificare il path di salvataggio dei file, utilizzando il metodo `overrideCacheFilePath` della classe `FileUtils`:

```
Herald\GreenPass\Utils\FileUtils::overrideCacheFilePath("/absolute/path/to/cache/folder");
```

oppure su Windows:

```
Herald\GreenPass\Utils\FileUtils::overrideCacheFilePath("c:\path\to\cache\folder");
```

Dalla release `1.2.0` è possibile aggiornare i file contenuti nella cache utilizzando il metodo `update*()` della classe `UpdateService`:

```
//aggiorna lo status dei certificati
Herald\GreenPass\Utils\UpdateService::updateCertificatesStatus();
//aggiorna la lista dei certificati
Herald\GreenPass\Utils\UpdateService::updateCertificateList();
//aggiorna le regole di validazione
Herald\GreenPass\Utils\UpdateService::updateValidationRules();
//aggiorna le liste di revoca
Herald\GreenPass\Utils\UpdateService::updateRevokeList();
```

oppure per aggiornare tutte le liste:

```
Herald\GreenPass\Utils\UpdateService::updateAll();
```

In ogni caso, queste liste vengono aggiornate solo se sono passate 24 ore dall'ultimo aggiornamento, non viene forzato l'update.

E', quindi, possibile all'interno dell'applicativo che utilizza questo SDK creare un cron che viene chiamato periodicamente (orario/6 ore/giornaliero) per il download delle regole.

In questo modo durante la verifica della stringa del GreenPass è probabile che le stesse siano già aggiornate, riducendo i tempi di verifica.

Proxy
-----

[](#proxy)

(thanks to [@darpins](https://github.com/darpins))

Dalla release `1.2.3` è possibile utilizzare un proxy per le chiamate agli endpoint per il download delle regole/liste di certificato, utilizzando il metodo `setProxy` della classe `EndpointService`:

```
Herald\GreenPass\Utils\EndpointService::setProxy("https://username:password@192.168.0.1:8000");
```

Scan Mode
---------

[](#scan-mode)

Funzionalità Legacy.

Per selezionare la tipologia, è possibile passare al costruttore del validatore un parametro di tipo `Herald\GreenPass\Validation\Covid19\ValidationScanMode`.

Nel caso in cui non venisse scelto, viene impostata di default la tipologia `BASE`.

Dalla versione `1.6.0` è possibile utilizzare solo la tipologia `BASE`.

```
// set scan mode to BASE
$scanMode = ValidationScanMode::CLASSIC_DGP;

$gp_reader = new CertificateValidator($gp_string, $scanMode);
```

Debug mode
==========

[](#debug-mode)

Per aiutare l'implementazione di questo sdk, è stata introdotta una funzionalità di Debug. E' possibile abilitare la stessa utilizzando il metodo `enableDebugMode` della classe `EnvConfig` e disabilitarlo con il metodo `disableDebugMode`:

```
Herald\GreenPass\Utils\EnvConfig::enableDebugMode();
... do some test ...
Herald\GreenPass\Utils\EnvConfig::disableDebugMode();
```

Force cache update
------------------

[](#force-cache-update)

E' possibile, solo con debug mode attivo, forzare l'aggiornamento dei file nella cache, passando il parametro opzionale `force_update` a `true`. Esempi di funzionamento:

```
//non viene forzato l'aggiornamento, manca debug mode
Herald\GreenPass\Utils\UpdateService::updateCertificatesStatus(true);
---
//non viene forzato l'aggiornamento, parametro force update a false
Herald\GreenPass\Utils\EnvConfig::enableDebugMode();
Herald\GreenPass\Utils\UpdateService::updateCertificatesStatus();
---
//viene forzato l'aggiornamento, non usare in produzione!
Herald\GreenPass\Utils\EnvConfig::enableDebugMode();
Herald\GreenPass\Utils\UpdateService::updateCertificatesStatus(true);
```

Visualizza errori scansione
---------------------------

[](#visualizza-errori-scansione)

Abilitando il debug mode:

- in tutti i casi in cui la risposta alla scansione avrebbe generato un esito `NOT_EU_DCC`, viene invece mostrato lo stack di errore che ha generato questo esito.
- in tutti gli altri casi, viene mostrato l'esito della validazione, ma viene restituita la stringa `DISABLE-DEBUG-MODE-IN-PRODUCTION` al posto del nome e cognome contenuti nel greenpass (per evitare di mantenere abilitato il debug mode in produzione).

Licenza
=======

[](#licenza)

Dettaglio Licenza
-----------------

[](#dettaglio-licenza)

La licenza per questo repository è una `Apache License 2.0`. All'interno del file [LICENSE](./LICENSE) sono presenti le informazioni specifiche.

Contributori
------------

[](#contributori)

Qui c'è una lista di contributori. Grazie per essere partecipi nel miglioramento del progetto giorno dopo giorno!

[ ![](https://camo.githubusercontent.com/4874c83d07d7d2515908fc9547b8e1e42ac76f9f9716d12470cd21d8efabb7a2/68747470733a2f2f636f6e7472696275746f72732d696d672e7765622e6170702f696d6167653f7265706f3d686572616c642d73692f76657269666963616331392d73646b2d706870)](https://github.com/herald-si/verificac19-sdk-php)

###  Health Score

35

—

LowBetter than 80% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity30

Limited adoption so far

Community21

Small or concentrated contributor base

Maturity59

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 66.4% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~16 days

Recently: every ~82 days

Total

30

Last Release

1208d ago

Major Versions

v0.0.2 → v1.0.22021-11-09

PHP version history (2 changes)v1.0.2PHP &gt;=7.4

v1.0.7PHP &gt;=7.3

### Community

Maintainers

![](https://www.gravatar.com/avatar/e4742fb1edfcdc9b4c72276447cd9808b3dc1d6c522b840756bcc45acfee69b0?d=identicon)[herald-si](/maintainers/herald-si)

---

Top Contributors

[![herald-si](https://avatars.githubusercontent.com/u/45684457?v=4)](https://github.com/herald-si "herald-si (211 commits)")[![DevPGS](https://avatars.githubusercontent.com/u/94106551?v=4)](https://github.com/DevPGS "DevPGS (93 commits)")[![darpins](https://avatars.githubusercontent.com/u/97180118?v=4)](https://github.com/darpins "darpins (8 commits)")[![gmm9200](https://avatars.githubusercontent.com/u/46892282?v=4)](https://github.com/gmm9200 "gmm9200 (3 commits)")[![francesco-pizzo-i40awms](https://avatars.githubusercontent.com/u/107495477?v=4)](https://github.com/francesco-pizzo-i40awms "francesco-pizzo-i40awms (1 commits)")[![fpizzo20](https://avatars.githubusercontent.com/u/12736557?v=4)](https://github.com/fpizzo20 "fpizzo20 (1 commits)")[![st4nny](https://avatars.githubusercontent.com/u/882907?v=4)](https://github.com/st4nny "st4nny (1 commits)")

---

Tags

dccphpsdk

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/herald-si-verificac19-sdk-php/health.svg)

```
[![Health](https://phpackages.com/badges/herald-si-verificac19-sdk-php/health.svg)](https://phpackages.com/packages/herald-si-verificac19-sdk-php)
```

###  Alternatives

[web-auth/webauthn-lib

FIDO2/Webauthn Support For PHP

1225.3M72](/packages/web-auth-webauthn-lib)[web-auth/webauthn-framework

FIDO2/Webauthn library for PHP and Symfony Bundle.

50570.7k1](/packages/web-auth-webauthn-framework)[shlinkio/shlink

A self-hosted and PHP-based URL shortener application with CLI and REST interfaces

4.8k4.3k](/packages/shlinkio-shlink)[ralphjsmit/laravel-helpers

A package containing handy helpers for your Laravel-application.

13704.6k2](/packages/ralphjsmit-laravel-helpers)[aeliot/todo-registrar

Register TODOs from source code in issue tracker

153.0k](/packages/aeliot-todo-registrar)[dhlparcel/magento2-plugin

DHL Parcel plugin for Magento 2

11180.5k2](/packages/dhlparcel-magento2-plugin)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
