ministero-salute / it-dgc-verificaC19-android

VerificaC19 is the official Italian customization of the EU Digital COVID Certificate Verifier App for the Android Operating System
https://www.dgc.gov.it
Apache License 2.0
101 stars 54 forks source link

feat: implemented verification of a QR Code coming from a broadcast intent #133

Closed NicholasBrunetto closed 1 year ago

NicholasBrunetto commented 3 years ago

This PR adds a way to receive a decoded QR Code from a broadcast intent and use it for verification. A broadcast receiver is registered in the FirstActivity in order to manage this kind of intent. The intent filter for this receiver takes a predefined action and category. Upon receiving the intent with the specified action and category, the barcode string is retrieved as an extra of the received intent. A new activity (VerificationActivity) and nav graph have been added to allow launching the verification fragment alone, passing it the barcode string. I believe this change can be helpful to verify codes without using the camera itself, for example taking advantage of professional scanners that can send an intent with the barcode content.

TEST: In order to verify this, open the VerificaC19 app and stay in the FirstActivity screen. From an ADB shell, you can send a broadcast with the command: am broadcast -a it.ministerodellasalute.verificaC19.decode_action -c it.ministerodellasalute.verificaC19.decode_category -e it.ministerodellasalute.verificaC19.barcode_string BARCODE_STRING Substitute BARCODE_STRING with the string you need to test, being careful about eventual characters to escape.

NOTE: I think as further improvement, the strings used for action, category and barcode string extra could be customized. I've tried to use generic strings in order to avoid sticking with a specific implementation. However, if this kind of implementation could be helpful for integration with professional scanners, at least the barcode string extra needs to be modified because some devices have it hardcoded.

swap83 commented 3 years ago

Sarebbe una gran cosa. Tutti i lettori di barcode/qrcode professionali utilizzano l'emulazione di tastiera e utilizzare l'applicazione verificac19 solo con la cam ha dei notevoli svantaggi.

acaliaro commented 3 years ago

Sarebbe una gran cosa. Tutti i lettori di barcode/qrcode professionali utilizzano l'emulazione di tastiera e utilizzare l'applicazione verificac19 solo con la cam ha dei notevoli svantaggi.

Il problema dell'emulazione tastiera è che il campo di entry deve avere il focus, cosa che non è sempre detto che ci sia. Concordo con l'utilizzo degli intent. @NicholasBrunetto potresti eventualmente provare ad inserire gli extra "statici" di datawedge per i terminali zebra?

https://techdocs.zebra.com/datawedge/11-0/guide/samples/tutorial-ReceiveScannedData/

Da questo esempio vedo che l'intent action è configurabile su datawedge, mentre per recuperare il dato si devono verificare i seguenti extra:

com.symbol.datawedge.source com.symbol.datawedge.label_type com.symbol.datawedge.data_string

Si potrebbe fare che, se è valorizzato l'extra it.ministerodellasalute.verificaC19.barcode_string, si prende buono il suo valore, altrimenti si verifica se è valorizzato com.symbol.datawedge.data_string.

cosa ne pensi? Grazie Alessandro

lleoncavallo commented 3 years ago

@acaliaro la tua considerazione è corretta ma in quanto dipendenti di un concorrente di Zebra non ci è sembrato il caso di implementare una soluzione specifica per i loro prodotti o per quelli di Honeywell. Abbiamo implementato una soluzione idealmente indipendente dal dispositivo utilizzato. A mio personale avviso è un limite dei prodotti Zebra non avere una configurabilità del meccanismo ad Intent Wedge. Se ritenuto utile dal team responsabile del progetto possiamo intervenire ad aggiungere tale supporto ma a quel punto andrebbe verificato se un limite simile non ci sia anche per i prodotti Honeywell o di Point Mobile o di altri. Sarebbe a mio avviso giusto che si interessasse di questo il technical support di Zebra per l'Italia. Ripeto cmq che essendo lo sforzo piuttosto limitato se ci verrà richiesto un supporto per estendere la feature non avremo problemi a farlo.

acaliaro commented 3 years ago

@acaliaro la tua considerazione è corretta ma in quanto dipendenti di un concorrente di Zebra non ci è sembrato il caso di implementare una soluzione specifica per i loro prodotti o per quelli di Honeywell. Abbiamo implementato una soluzione idealmente indipendente dal dispositivo utilizzato. A mio personale avviso è un limite dei prodotti Zebra non avere una configurabilità del meccanismo ad Intent Wedge. Se ritenuto utile dal team responsabile del progetto possiamo intervenire ad aggiungere tale supporto ma a quel punto andrebbe verificato se un limite simile non ci sia anche per i prodotti Honeywell o di Point Mobile o di altri. Sarebbe a mio avviso giusto che si interessasse di questo il technical support di Zebra per l'Italia. Ripeto cmq che essendo lo sforzo piuttosto limitato se ci verrà richiesto un supporto per estendere la feature non avremo problemi a farlo.

Chiaro @lleoncavallo Spero che la vostra PR venga mergiata il prima possibile così da poter gestire anche altri vendors. Domanda: ma anche datalogic dovrebbe avere degli extra statici per poter leggere il barcode, o sbaglio:

https://datalogic.github.io/android-sdk-docs/reference/com/datalogic/decode/configuration/IntentWedge.html

lleoncavallo commented 3 years ago

@acaliaro la tua considerazione è corretta ma in quanto dipendenti di un concorrente di Zebra non ci è sembrato il caso di implementare una soluzione specifica per i loro prodotti o per quelli di Honeywell. Abbiamo implementato una soluzione idealmente indipendente dal dispositivo utilizzato. A mio personale avviso è un limite dei prodotti Zebra non avere una configurabilità del meccanismo ad Intent Wedge. Se ritenuto utile dal team responsabile del progetto possiamo intervenire ad aggiungere tale supporto ma a quel punto andrebbe verificato se un limite simile non ci sia anche per i prodotti Honeywell o di Point Mobile o di altri. Sarebbe a mio avviso giusto che si interessasse di questo il technical support di Zebra per l'Italia. Ripeto cmq che essendo lo sforzo piuttosto limitato se ci verrà richiesto un supporto per estendere la feature non avremo problemi a farlo.

Chiaro @lleoncavallo Spero che la vostra PR venga mergiata il prima possibile così da poter gestire anche altri vendors. Domanda: ma anche datalogic dovrebbe avere degli extra statici per poter leggere il barcode, o sbaglio:

https://datalogic.github.io/android-sdk-docs/reference/com/datalogic/decode/configuration/IntentWedge.html

No, le costanti a cui ti riferisci sono solo la configurazione di default. Via SDK o via Settings è possibile impostare extra, category ed actions completamente custom. Ovvio che risulta più comodo per i nostri clienti utilizzare la configurazione di default ma il prodotto può essere integrato in soluzioni anche rigide che richiedano una configurazione specifica dell'intento.

NicholasBrunetto commented 3 years ago

Ciao @acaliaro, penso che, se questa PR verrà mergiata, non ci saranno problemi a customizzare il tutto per dei vendor specifici. Io non ho modo di verificare su diversi device, so soltanto che sia Zebra che Honeywell richiedono un extra con un nome non customizzabile, perciò in quei casi andrà fatta una modifica. In ogni modo, preferirei pensare ad una soluzione che non introduca nel codice riferimenti stretti ad alcun vendor. Una possibilità sarebbe, se non viene trovato l'extra predefinito, ciclare su quelli disponibili e verificare quale di quelli può effettivamente corrispondere ad un qr code di un green pass (ad esempio verificando che la stringa inizi per "HC1:") e, se disponibile, attivare la verifica su quello. Altra possibilità sarebbe fornire, tramite intento o in altro modo, la possibilità di modificare la stringa extra specificando quella che si vuole utilizzare su quel dispositivo. Per prima cosa, rimango in attesa di una valutazione sulla prima review per poi pensare ad eventuali sviluppi futuri.

acaliaro commented 3 years ago

Ciao @acaliaro, penso che, se questa PR verrà mergiata, non ci saranno problemi a customizzare il tutto per dei vendor specifici. Io non ho modo di verificare su diversi device, so soltanto che sia Zebra che Honeywell richiedono un extra con un nome non customizzabile, perciò in quei casi andrà fatta una modifica. In ogni modo, preferirei pensare ad una soluzione che non introduca nel codice riferimenti stretti ad alcun vendor. Una possibilità sarebbe, se non viene trovato l'extra predefinito, ciclare su quelli disponibili e verificare quale di quelli può effettivamente corrispondere ad un qr code di un green pass (ad esempio verificando che la stringa inizi per "HC1:") e, se disponibile, attivare la verifica su quello. Altra possibilità sarebbe fornire, tramite intento o in altro modo, la possibilità di modificare la stringa extra specificando quella che si vuole utilizzare su quel dispositivo. Per prima cosa, rimango in attesa di una valutazione sulla prima review per poi pensare ad eventuali sviluppi futuri.

Ciao @NicholasBrunetto ho chiesto a Zebra per l'extra customizzabile, attendo risposta. Per Honeywell, è customizzabile tramite i loro tools. Alessandro

ghost commented 3 years ago

Buonasera a tutti premetto che non sono un tecnico e non me ne intendo di programmazione e sono solo un utilizzatore finale che ha a che fare quotidianamente con i lettori per invalidare biglietti. Ho letto qui sopra che pare non sia proprio semplice far recepire dall'app VerficaC19 il QR code letto tramite scanner del lettore (di qualunque marca sia). Non ho però capito perché sia stata scartata l'opzione di emulazione della tastiera. Non sarebbe più semplice che l'app VerificaC19, aperta in primo piano, recepisca il codice passato dallo scanner? Noi apriamo l'app del controllo di biglietti e lasciandola aperta sulla home effettuiamo la scansione. Se la scansione va a buon fine, colora lo sfondo di verde dando dei dati sul biglietto valido oppure di rosso spiegando perché quel biglietto non può entrare. Grazie

swap83 commented 3 years ago

Buonasera a tutti premetto che non sono un tecnico e non me ne intendo di programmazione e sono solo un utilizzatore finale che ha a che fare quotidianamente con i lettori per invalidare biglietti. Ho letto qui sopra che pare non sia proprio semplice far recepire dall'app VerficaC19 il QR code letto tramite scanner del lettore (di qualunque marca sia). Non ho però capito perché sia stata scartata l'opzione di emulazione della tastiera. Non sarebbe più semplice che l'app VerificaC19, aperta in primo piano, recepisca il codice passato dallo scanner? Noi apriamo l'app del controllo di biglietti e lasciandola aperta sulla home effettuiamo la scansione. Se la scansione va a buon fine, colora lo sfondo di verde dando dei dati sul biglietto valido oppure di rosso spiegando perché quel biglietto non può entrare. Grazie

Il problema è che essendo una texbox il cursore dovrebbe essere sempre presente all'interno della texbox e può succedere che per qualche motivo quel cursore non sia nella texbox e al momento della lettura non scriverebbe al suo interno perdendo il dato o nel peggiore dei casi potrebbe attivare qualche funzione del dispositivo. C'è un altro problema che ho sperimentato con un lettore (non quello dei grandi brand), la scrittura del contenuto del qrcode all'interno della texbox è molto lento (parliamo di 512 caratteri) e nella maggior parte dei casi il tempo di sola scrittura del codice è più lenta della scansione tramite cam. Purtroppo non ho a disposizione un lettore professionale tipo zebra per capire se la velocità di scrittura dipende dal lettore oppure no.

acaliaro commented 3 years ago

@astagi rispetto al merge di questa PR ci sono delle tempistiche? dare la possibilità di leggere il qrcode tramite device industriali, ora che sembra che sia richiesto anche per i lavoratori privati, credo sia una necessità. Grazie

ghost commented 3 years ago

Buonasera a tutti premetto che non sono un tecnico e non me ne intendo di programmazione e sono solo un utilizzatore finale che ha a che fare quotidianamente con i lettori per invalidare biglietti. Ho letto qui sopra che pare non sia proprio semplice far recepire dall'app VerficaC19 il QR code letto tramite scanner del lettore (di qualunque marca sia). Non ho però capito perché sia stata scartata l'opzione di emulazione della tastiera. Non sarebbe più semplice che l'app VerificaC19, aperta in primo piano, recepisca il codice passato dallo scanner? Noi apriamo l'app del controllo di biglietti e lasciandola aperta sulla home effettuiamo la scansione. Se la scansione va a buon fine, colora lo sfondo di verde dando dei dati sul biglietto valido oppure di rosso spiegando perché quel biglietto non può entrare. Grazie

Il problema è che essendo una texbox il cursore dovrebbe essere sempre presente all'interno della texbox e può succedere che per qualche motivo quel cursore non sia nella texbox e al momento della lettura non scriverebbe al suo interno perdendo il dato o nel peggiore dei casi potrebbe attivare qualche funzione del dispositivo. C'è un altro problema che ho sperimentato con un lettore (non quello dei grandi brand), la scrittura del contenuto del qrcode all'interno della texbox è molto lento (parliamo di 512 caratteri) e nella maggior parte dei casi il tempo di sola scrittura del codice è più lenta della scansione tramite cam. Purtroppo non ho a disposizione un lettore professionale tipo zebra per capire se la velocità di scrittura dipende dal lettore oppure no.

Porto sempre ad esempio l'app che usiamo noi per il controllo dei biglietti: non ci dobbiamo preoccupare di dove sia il cursore perché non c'è un campo in cui deve stare e dove scrivere il codice scansionato. Basta che l'app sia aperta in primo piano e il codice viene sempre recepito, non c'è possibilità che non venga preso in carico se la scansione è andata a buon fine. Per quanto riguarda la velocità di lettura di uno zebra TC21 android 11 è praticamente istantanea molto più veloce della fotocamera, in una app di note ad esempio lo scrive immediatamente con il beep di notifica scansione.

acaliaro commented 3 years ago

Buonasera a tutti premetto che non sono un tecnico e non me ne intendo di programmazione e sono solo un utilizzatore finale che ha a che fare quotidianamente con i lettori per invalidare biglietti. Ho letto qui sopra che pare non sia proprio semplice far recepire dall'app VerficaC19 il QR code letto tramite scanner del lettore (di qualunque marca sia). Non ho però capito perché sia stata scartata l'opzione di emulazione della tastiera. Non sarebbe più semplice che l'app VerificaC19, aperta in primo piano, recepisca il codice passato dallo scanner? Noi apriamo l'app del controllo di biglietti e lasciandola aperta sulla home effettuiamo la scansione. Se la scansione va a buon fine, colora lo sfondo di verde dando dei dati sul biglietto valido oppure di rosso spiegando perché quel biglietto non può entrare. Grazie

Il problema è che essendo una texbox il cursore dovrebbe essere sempre presente all'interno della texbox e può succedere che per qualche motivo quel cursore non sia nella texbox e al momento della lettura non scriverebbe al suo interno perdendo il dato o nel peggiore dei casi potrebbe attivare qualche funzione del dispositivo. C'è un altro problema che ho sperimentato con un lettore (non quello dei grandi brand), la scrittura del contenuto del qrcode all'interno della texbox è molto lento (parliamo di 512 caratteri) e nella maggior parte dei casi il tempo di sola scrittura del codice è più lenta della scansione tramite cam. Purtroppo non ho a disposizione un lettore professionale tipo zebra per capire se la velocità di scrittura dipende dal lettore oppure no.

Porto sempre ad esempio l'app che usiamo noi per il controllo dei biglietti: non ci dobbiamo preoccupare di dove sia il cursore perché non c'è un campo in cui deve stare e dove scrivere il codice scansionato. Basta che l'app sia aperta in primo piano e il codice viene sempre recepito, non c'è possibilità che non venga preso in carico se la scansione è andata a buon fine. Per quanto riguarda la velocità di lettura di uno zebra TC21 android 11 è praticamente istantanea molto più veloce della fotocamera, in una app di note ad esempio lo scrive immediatamente con il beep di notifica scansione.

@cadaniele sei certo che lavori in emulazione tastiera? Per lavorare in emulazione tastiera è necessario un campo di testo. Magari è nascosto, non visibile, ma ci deve essere. Altrimenti utilizzerà altri modi per comunicare il barcode. Che device usate per fare questa lettura dei biglietti?

ghost commented 3 years ago

@acaliaro avevo capito così da chi ce la sviluppa ma ora ho chiesto conferma I terminali che usiamo sono Zebra TC21 aggiornati ad Android 11

lleoncavallo commented 3 years ago

E comunque il barcode di un biglietto immagino abbia un contenuto inferiore ai 20 caratteri contro 512. Ho poi sperimentato sia sui nostri prodotti che sui prodotti Zebra fuori ordine di dati (prevalentemente in presenza di caratteri speciali). Non comprendo l'entusiasmo per questa modalità di inserzione dati che è utilizzata esclusivamente perchè semplice non perchè abbia una efficacia. Spesso è utilizzata in applicazioni web based. Se sviluppi un applicativo non ha davvero senso basarlo sul Key Wedge. Detto questo, se il team di sviluppo decidesse di preferire la modalità di emulazione tastiera sarebbe comunque una soluzione preferibile a quella attuale. Piuttosto di niente.... :-)

acaliaro commented 3 years ago

@acaliaro avevo capito così da chi ce la sviluppa ma ora ho chiesto conferma I terminali che usiamo sono Zebra TC21 aggiornati ad Android 11

Zebra utilizza due modi per leggere il barcode. O tramite SDK (Zebra lo chiama EMDK, e non è emulazione tastiera) o tramite un app chiamata Datawedge. Datawedge può poi inviare il dato letto ad altre app in vari modi, configurabili tramite dei profili. Se hai in mano uno dei device potresti aprire datawedge e vedere se c'è un profilo associato all'applicazione del controllo biglietti; se lo trovi, si riesce anche a capire, dai settings del profilo, come datawedge invia il dato all'app

ghost commented 3 years ago

Non si tratta di entusiasmo, è solo piuttosto un piano b per non arrivare ad una implementazione rilasciata tra chissà quanto con magari la difficoltà di personalizzazione delle varie marche. Se l'attuale soluzione proposta vale per tutti tanto meglio.

ghost commented 3 years ago

@acaliaro avevo capito così da chi ce la sviluppa ma ora ho chiesto conferma I terminali che usiamo sono Zebra TC21 aggiornati ad Android 11

Zebra utilizza due modi per leggere il barcode. O tramite SDK (Zebra lo chiama EMDK, e non è emulazione tastiera) o tramite un app chiamata Datawedge. Datawedge può poi inviare il dato letto ad altre app in vari modi, configurabili tramite dei profili. Se hai in mano uno dei device potresti aprire datawedge e vedere se c'è un profilo associato all'applicazione del controllo biglietti; se lo trovi, si riesce anche a capire, dai settings del profilo, come datawedge invia il dato all'app

No non ha un profilo suo. Anche martedì quando al termine dell'aggiornamento ad Android 11 il terminale si è resettato alle impostazioni di fabbrica lo abbiamo semplicemente accesso, fatto le classifiche configurazioni iniziali di Android, abbiamo ricaricato l'app per il controllo accessi e tutto ha ricominciato a funzionare senza toccare altro.

acaliaro commented 3 years ago

@acaliaro avevo capito così da chi ce la sviluppa ma ora ho chiesto conferma I terminali che usiamo sono Zebra TC21 aggiornati ad Android 11

Zebra utilizza due modi per leggere il barcode. O tramite SDK (Zebra lo chiama EMDK, e non è emulazione tastiera) o tramite un app chiamata Datawedge. Datawedge può poi inviare il dato letto ad altre app in vari modi, configurabili tramite dei profili. Se hai in mano uno dei device potresti aprire datawedge e vedere se c'è un profilo associato all'applicazione del controllo biglietti; se lo trovi, si riesce anche a capire, dai settings del profilo, come datawedge invia il dato all'app

No non ha un profilo suo. Anche martedì quando al termine dell'aggiornamento ad Android 11 il terminale si è resettato alle impostazioni di fabbrica lo abbiamo semplicemente accesso, fatto le classifiche confutazioni iniziali di Android, abbiamo ricaricato l'app per il controllo accessi e tutto ha ricominciato a funzionare senza toccare altro.

allora credo che stia utilizzando l'EMDK per la lettura del barcode: https://techdocs.zebra.com/emdk-for-android/9-1/guide/about/ Zerba stessa comunque propone, per la lettura dei barcode, di passare a Datawedge

**Regarding EMDK Barcode Scanning APIs Zebra strongly recommends the use of DataWedge for all applications that require barcode scanning. While Zebra will continue to support EMDK Barcode APIs, the efficiency and feature richness of intent-based interfaces make it a simpler alternative to app development using EMDK Barcode APIs.

DataWedge facts:

DataWedge APIs have the same capabilities currently available in EMDK Barcode APIs. DataWedge intent-based APIs are easier and faster to implement than EMDK Barcode APIs. New features are added to DataWedge before being considered for EMDK Barcode APIs.**

lleoncavallo commented 3 years ago

Non penso che la PR #133 non sia stata approvata per una eventuale complessità o per mancanza di supporto verso certe soluzioni. Se così fosse sarebbe sufficiente dichiarare l'esigenza di un correttivo ed immagino ci sarebbe la fila per applicarlo. Se invece la soluzione preferita dal team di progetto fosse la Keyboard Emulation allora ancora una volta lo si dica e saremmo disponibili a contribuire se questo potesse accelerare il processo. A tutti gli sviluppatori di soluzioni serve in tempi certi una soluzione professionale.

acaliaro commented 3 years ago

@astagi rispetto al merge di questa PR ci sono delle tempistiche? dare la possibilità di leggere il qrcode tramite device industriali, ora che sembra che sia richiesto anche per i lavoratori privati, credo sia una necessità. Grazie

CC: @it-eucert-team

ghost commented 3 years ago

Buonasera a tutti premetto che non sono un tecnico e non me ne intendo di programmazione e sono solo un utilizzatore finale che ha a che fare quotidianamente con i lettori per invalidare biglietti. Ho letto qui sopra che pare non sia proprio semplice far recepire dall'app VerficaC19 il QR code letto tramite scanner del lettore (di qualunque marca sia). Non ho però capito perché sia stata scartata l'opzione di emulazione della tastiera. Non sarebbe più semplice che l'app VerificaC19, aperta in primo piano, recepisca il codice passato dallo scanner? Noi apriamo l'app del controllo di biglietti e lasciandola aperta sulla home effettuiamo la scansione. Se la scansione va a buon fine, colora lo sfondo di verde dando dei dati sul biglietto valido oppure di rosso spiegando perché quel biglietto non può entrare. Grazie

Il problema è che essendo una texbox il cursore dovrebbe essere sempre presente all'interno della texbox e può succedere che per qualche motivo quel cursore non sia nella texbox e al momento della lettura non scriverebbe al suo interno perdendo il dato o nel peggiore dei casi potrebbe attivare qualche funzione del dispositivo. C'è un altro problema che ho sperimentato con un lettore (non quello dei grandi brand), la scrittura del contenuto del qrcode all'interno della texbox è molto lento (parliamo di 512 caratteri) e nella maggior parte dei casi il tempo di sola scrittura del codice è più lenta della scansione tramite cam. Purtroppo non ho a disposizione un lettore professionale tipo zebra per capire se la velocità di scrittura dipende dal lettore oppure no.

Porto sempre ad esempio l'app che usiamo noi per il controllo dei biglietti: non ci dobbiamo preoccupare di dove sia il cursore perché non c'è un campo in cui deve stare e dove scrivere il codice scansionato. Basta che l'app sia aperta in primo piano e il codice viene sempre recepito, non c'è possibilità che non venga preso in carico se la scansione è andata a buon fine. Per quanto riguarda la velocità di lettura di uno zebra TC21 android 11 è praticamente istantanea molto più veloce della fotocamera, in una app di note ad esempio lo scrive immediatamente con il beep di notifica scansione.

@cadaniele sei certo che lavori in emulazione tastiera? Per lavorare in emulazione tastiera è necessario un campo di testo. Magari è nascosto, non visibile, ma ci deve essere. Altrimenti utilizzerà altri modi per comunicare il barcode. Che device usate per fare questa lettura dei biglietti?

Mi hanno confermato che è una emulazione tastiera E ha fatto l'override della funzione di gestione pressione tasti del layout

astagi commented 3 years ago

@astagi rispetto al merge di questa PR ci sono delle tempistiche? dare la possibilità di leggere il qrcode tramite device industriali, ora che sembra che sia richiesto anche per i lavoratori privati, credo sia una necessità. Grazie

CC: @it-eucert-team

Ho girato e sollecitato la review al team, si occuperanno loro di tutto.

swap83 commented 3 years ago

@astagi rispetto al merge di questa PR ci sono delle tempistiche? dare la possibilità di leggere il qrcode tramite device industriali, ora che sembra che sia richiesto anche per i lavoratori privati, credo sia una necessità. Grazie

CC: @it-eucert-team

Ho girato e sollecitato la review al team, si occuperanno loro di tutto.

MI aggiungo alla richiesta. Inoltre a fine settembre ci sarà il concorso CSS (Corso di specializzazione per le attività di sostegno) dove parliamo di migliaia di persone a cui dovrà essere controllato il qrcode.

acaliaro commented 3 years ago

@astagi rispetto al merge di questa PR ci sono delle tempistiche? dare la possibilità di leggere il qrcode tramite device industriali, ora che sembra che sia richiesto anche per i lavoratori privati, credo sia una necessità. Grazie

CC: @it-eucert-team

Ho girato e sollecitato la review al team, si occuperanno loro di tutto.

MI aggiungo alla richiesta. Inoltre a fine settembre ci sarà il concorso CSS (Corso di specializzazione per le attività di sostegno) dove parliamo di migliaia di persone a cui dovrà essere controllato il qrcode.

Buon giorno. Ci sono news sulla review della PR? Grazie

astagi commented 3 years ago

@astagi rispetto al merge di questa PR ci sono delle tempistiche? dare la possibilità di leggere il qrcode tramite device industriali, ora che sembra che sia richiesto anche per i lavoratori privati, credo sia una necessità. Grazie

CC: @it-eucert-team

Ho girato e sollecitato la review al team, si occuperanno loro di tutto.

MI aggiungo alla richiesta. Inoltre a fine settembre ci sarà il concorso CSS (Corso di specializzazione per le attività di sostegno) dove parliamo di migliaia di persone a cui dovrà essere controllato il qrcode.

Buon giorno. Ci sono news sulla review della PR? Grazie

Buongiorno @acaliaro Messa in review a chi si occuperà di mergiare quella parte e dare risposta. Personalmente non ho potere di agire su questa parte, mi dispiace.

franthemanIT commented 3 years ago

Buon giorno. Ci sono news sulla review della PR? Grazie

Non per soffocare gli entusiasmi, ma mi sembra che accettare una PR del genere violerebbe la normativa vigente che impone l'uso esclusivo della app di Stato per condurre tutto il processo di verifica. La stringa del qr-code non deve passare da una mano all'altra o da un sistema all'altro. I dati sanitari del titolare del qr-code sono a portata di tre o quattro decodifiche (se non erro senza nemmeno bisogno di una chiave pubblica, che serve solo per validare la firma). Non è che basti inserire la app in una catena per legittimare il tutto. Poi posso sbagliarmi, eh...

NicholasBrunetto commented 3 years ago

Buon giorno. Ci sono news sulla review della PR? Grazie

Non per soffocare gli entusiasmi, ma mi sembra che accettare una PR del genere violerebbe la normativa vigente che impone l'uso esclusivo della app di Stato per condurre tutto il processo di verifica. La stringa del qr-code non deve passare da una mano all'altra o da un sistema all'altro. I dati sanitari del titolare del qr-code sono a portata di tre o quattro decodifiche (se non erro senza nemmeno bisogno di una chiave pubblica, che serve solo per validare la firma). Non è che basti inserire la app in una catena per legittimare il tutto. Poi posso sbagliarmi, eh...

In che modo la PR violerebbe la normativa vigente? Quello che fa è soltanto permettere di ricevere il contenuto di un QR Code senza passare dalla lettura del QR Code con l'app. La parte di verifica è effettuata dall'applicazione come al solito e non vengono inviati dati ad applicazioni esterne. Lo scopo è principalmente consentire all'app di funzionare con degli scanner di codici a barre che consentono l'invio del contenuto di un QR Code attraverso intent ed hanno il vantaggio di essere molto più rapidi nell'utilizzo. Forse l'issue associata ha creato un po' di confusione perché sembra suggerire una possibile validazione da app esterna, ma non è il caso di questa PR.

franthemanIT commented 3 years ago

In che modo la PR violerebbe la normativa vigente?

Direi in questo:

l'invio del contenuto di un QR Code attraverso intent

Invece

una possibile validazione da app esterna

sarebbe la cosa meno grave.

Tutto sommato la parte di validazione e interpretazione (verde/rosso) della stringa sottesa al qr-cpde, che si fa tranquillamente offline e al volo, è quella meno critica. Il problema è proprio maneggiare il qr-code che contiene tutti i dati sanitari. Io a questo intendo finalizzato l'obbligo perentorio di verificare il qr-code con l'app ufficiale. Dove per verificare non intendo la verifica della firma, ma l'intero processo.

Insomma, tu stai dando diversi tuoi dati sanitari a uno sconosciuto (o al tuo datore di lavoro) al quale interessa solo vedere una luce verde o rossa. L'app ufficiale - oggi, e per espressa previsione di legge - è l'unica garanzia che tutti quei dati eccedenti non vengano usati per altro.

PeppeDotNet commented 3 years ago

Buon giorno. Ci sono news sulla review della PR? Grazie

Non per soffocare gli entusiasmi, ma mi sembra che accettare una PR del genere violerebbe la normativa vigente che impone l'uso esclusivo della app di Stato per condurre tutto il processo di verifica. La stringa del qr-code non deve passare da una mano all'altra o da un sistema all'altro. I dati sanitari del titolare del qr-code sono a portata di tre o quattro decodifiche (se non erro senza nemmeno bisogno di una chiave pubblica, che serve solo per validare la firma). Non è che basti inserire la app in una catena per legittimare il tutto. Poi posso sbagliarmi, eh...

In che modo la PR violerebbe la normativa vigente? Quello che fa è soltanto permettere di ricevere il contenuto di un QR Code senza passare dalla lettura del QR Code con l'app. La parte di verifica è effettuata dall'applicazione come al solito e non vengono inviati dati ad applicazioni esterne. Lo scopo è principalmente consentire all'app di funzionare con degli scanner di codici a barre che consentono l'invio del contenuto di un QR Code attraverso intent ed hanno il vantaggio di essere molto più rapidi nell'utilizzo. Forse l'issue associata ha creato un po' di confusione perché sembra suggerire una possibile validazione da app esterna, ma non è il caso di questa PR.

Ciao @NicholasBrunetto con questo intent sarà quindi possibile:

Il tutto senza ottenere indietro (nell'app che ha lanciato VerifcaC19) il risultato della verifica ne altri dati. Giusto? Grazie

lleoncavallo commented 3 years ago

In che modo la PR violerebbe la normativa vigente?

Direi in questo:

l'invio del contenuto di un QR Code attraverso intent

Invece

una possibile validazione da app esterna

sarebbe la cosa meno grave.

Tutto sommato la parte di validazione e interpretazione (verde/rosso) della stringa sottesa al qr-cpde, che si fa tranquillamente offline e al volo, è quella meno critica. Il problema è proprio maneggiare il qr-code che contiene tutti i dati sanitari. Io a questo intendo finalizzato l'obbligo perentorio di verificare il qr-code con l'app ufficiale. Dove per verificare non intendo la verifica della firma, ma l'intero processo.

Insomma, tu stai dando diversi tuoi dati sanitari a uno sconosciuto (o al tuo datore di lavoro) al quale interessa solo vedere una luce verde o rossa. L'app ufficiale - oggi, e per espressa previsione di legge - è l'unica garanzia che tutti quei dati eccedenti non vengano usati per altro.

Interessante punto di vista ma intanto proliferano soluzioni che violano le leggi vigenti. Solo alcuni esempi:

https://www.eter.it/prodotto/ete-gr-temp-t-lettore-green-pass/

https://www.verificagreenpass.it/green-pass-self-totem/?attribute_pa_opzione=totem-con-grafica-standard&gclid=EAIaIQobChMI3bfCs_ah8wIVGap3Ch0b3gzlEAQYBSABEgKvkPD_BwE

https://online.custom.biz/it/green-pass-aziende/?utm_source=google&utm_medium=cpc&utm_campaign=it-green-pass&gclid=EAIaIQobChMI3bfCs_ah8wIVGap3Ch0b3gzlEAMYAiAAEgJ4E_D_BwE

e su quelle quale verifica fai? Come verifichi che lo smartphone in uso da parte dell'operatore non abbia altri servizi installati che possano catturare estrarre e fare lo storage dei dati contenuti nel tuo QR Code? Se i dati sono così importanti e sono il punto fondamentale, perchè sono in chiaro e non criptati? Di solito nei paesi liberi si fanno ed applicano leggi, non si obbliga all'uso della soluzione unica.

NicholasBrunetto commented 3 years ago

In che modo la PR violerebbe la normativa vigente?

Direi in questo:

l'invio del contenuto di un QR Code attraverso intent

Invece

una possibile validazione da app esterna

sarebbe la cosa meno grave.

Tutto sommato la parte di validazione e interpretazione (verde/rosso) della stringa sottesa al qr-cpde, che si fa tranquillamente offline e al volo, è quella meno critica. Il problema è proprio maneggiare il qr-code che contiene tutti i dati sanitari. Io a questo intendo finalizzato l'obbligo perentorio di verificare il qr-code con l'app ufficiale. Dove per verificare non intendo la verifica della firma, ma l'intero processo.

Insomma, tu stai dando diversi tuoi dati sanitari a uno sconosciuto (o al tuo datore di lavoro) al quale interessa solo vedere una luce verde o rossa. L'app ufficiale - oggi, e per espressa previsione di legge - è l'unica garanzia che tutti quei dati eccedenti non vengano usati per altro.

L'applicazione non può comunque fornire garanzie sul dispositivo su cui sta eseguendo o sull'operatore che la sta utilizzando. Se assumiamo che l'operatore sia in buona fede ed il dispositivo sia sicuro, ovvero non sia stato manomesso da qualcuno, le modifiche di questa PR non mi sembrano violare alcuna norma. L'applicazione continuerà a non salvare alcun dato durante la fase di verifica e quello che avviene esternamente non può essere di sua responsabilità. Se invece consideriamo il caso di un operatore malintenzionato o di un dispositivo manomesso, anche l'attuale soluzione non potrà garantire che il contenuto del QR Code non venga recuperato. Non basta impedire gli screenshot, ci sono modi per salvare direttamente i frame della camera per decodificarli in seguito o più semplicemente si può sostituire l'applicazione con una versione modificata.

Per questi motivi ritengo che la modifica proposta da questa PR non influirebbe sulla sicurezza dell'applicazione.

NicholasBrunetto commented 3 years ago

Buon giorno. Ci sono news sulla review della PR? Grazie

Non per soffocare gli entusiasmi, ma mi sembra che accettare una PR del genere violerebbe la normativa vigente che impone l'uso esclusivo della app di Stato per condurre tutto il processo di verifica. La stringa del qr-code non deve passare da una mano all'altra o da un sistema all'altro. I dati sanitari del titolare del qr-code sono a portata di tre o quattro decodifiche (se non erro senza nemmeno bisogno di una chiave pubblica, che serve solo per validare la firma). Non è che basti inserire la app in una catena per legittimare il tutto. Poi posso sbagliarmi, eh...

In che modo la PR violerebbe la normativa vigente? Quello che fa è soltanto permettere di ricevere il contenuto di un QR Code senza passare dalla lettura del QR Code con l'app. La parte di verifica è effettuata dall'applicazione come al solito e non vengono inviati dati ad applicazioni esterne. Lo scopo è principalmente consentire all'app di funzionare con degli scanner di codici a barre che consentono l'invio del contenuto di un QR Code attraverso intent ed hanno il vantaggio di essere molto più rapidi nell'utilizzo. Forse l'issue associata ha creato un po' di confusione perché sembra suggerire una possibile validazione da app esterna, ma non è il caso di questa PR.

Ciao @NicholasBrunetto con questo intent sarà quindi possibile:

* leggere il QR code da un'altra app o da uno scanner esterno

* lanciare VerificaC19 e il suo processo di validazione del certificato passando la stringa letta nel QR code

Il tutto senza ottenere indietro (nell'app che ha lanciato VerifcaC19) il risultato della verifica ne altri dati. Giusto? Grazie

L'applicazione VerificaC19 dovrà essere già lanciata ed essere nella pagina iniziale, da lì accetterà di ricevere la stringa da applicazioni che girano in background, com'è il caso tipicamente di dispositivi con scanner integrato. Il resto dei passaggi è identico al caso attuale di decodifica da camera, perciò si aprirà la pagina di verifica ma nessun risultato verrà spedito indietro, sarà soltanto visibile a schermo.

franthemanIT commented 3 years ago

Non ho molto da aggiungere. 1, Sulle soluzioni in vendita di verifica del GP: si', certo, usarle oggi è, evidentemente, illegittimo. Venderle no, del resto la responsabilità ricade su chi usa lo strumento.

  1. Incastonare l'app VerificaC19 in un processo piu' ampio non rende ques'ultimo legittimo. Se aggiungi qualcosa prima dell'app (per catturare il qr-code e decodificarlo in stringa) e dopo (evento scatenato da esito della verifica), alla fine usi la app solo per una parte minima delle sue funzioni. Una parte che penso puoi sbrigare in poche righe di codice: dalla stringa devi fare 4 o 5 decodifiche (da Base65 a bzip, da bzip a CBOR, da CBOR a JSON - con forse un'altra decodifica prima di quest'ultima) e poi verificare la firma del JSON. A complemento ogni giorno ti scarichi le chiavi pubbliche autorevoli, quelle revocate e le regole di validità. A che pro appoggiarsi su una app e non sviluppare tutto ex novo, se non per poter spacciare una procedura di verifica illegittima come legittima, facendosi scudo dell'uso di VerificaC19?
  2. Sul fatto che la garanzia totale non c'è quando si usa uno strumento informatico (che sempre una parte di blackbox ha) non ci piove, ma ciò non deve essere la scusante per fare come si crede. Se usi a mia insaputa una app VerificaC19 moddata in proprio per acquisire i miei dati sanitari è un conto con certi profili di responsabilità, se mi fai passare il qr-code sotto una macchina strana un po' il sospetto che qualcosa non va mi viene....
lleoncavallo commented 3 years ago

Se non fossi una testa calda non ti risponderei nemmeno. Non vedi problemi a distribuire prodotti illegali perchè la responsabilità è di chi li usa e trascuri il fatto che il ministero non fa nulla per informare su giornali e TV del fatto che prodotti del genere non si possano adottare. Questo non è un problema noo... Poi non è un problema scrivere da zero il codice di verifica senza alcun controllo da parte di alcun ente. Tale codice è una banalità, lo sanno scrivere tutti. Poco importa se poi il codice può dichiarare valido un green pass non valido. Questo non è un problema. IL VERO PROBLEMA E' CHE UNA LIBRERIA INTEGRATA SU UN DEVICE GENERAL PURPOSE DECODIFICHI IL QR CODE E LO PASSI CON UN INTENTO DEFINITO A DESIGN COME FEATURE DI SDK ALLA APP VerificaC19. A giudicare dai tuoi commenti potresti anche essere un collaboratore del ministro Speranza, il QI mi pare allo stesso livello.


Da: Francesco Del Castillo @.> Inviato: mercoledì 29 settembre 2021 19:14 A: ministero-salute/it-dgc-verificaC19-android @.> Cc: Leoncavallo, Lamberto @.>; Mention @.> Oggetto: Re: [ministero-salute/it-dgc-verificaC19-android] feat: implemented verification of a QR Code coming from a broadcast intent (#133)

Non ho molto da aggiungere. 1, Sulle soluzioni in vendita di verifica del GP: si', certo, usarle oggi è, evidentemente, illegittimo. Venderle no, del resto la responsabilità ricade su chi usa lo strumento.

  1. Incastonare l'app VerificaC19 in un processo piu' ampio non rende ques'ultimo legittimo. Se aggiungi qualcosa prima dell'app (per catturare il qr-code e decodificarlo in stringa) e dopo (evento scatenato da esito della verifica), alla fine usi la app solo per una parte minima delle sue funzioni. Una parte che penso puoi sbrigare in poche righe di codice: dalla stringa devi fare 4 o 5 decodifiche (da Base65 a bzip, da bzip a CBOR, da CBOR a JSON - con forse un'altra decodifica prima di quest'ultima) e poi verificare la firma del JSON. A complemento ogni giorni ti scarichi le chiavi pubbliche autorevoli, quelle revocate e le regole di validità. A che pro appoggiarsi su una app e non sviluppare tutto ex novo, se non per far spacciare una procedura di verifica illegittima come legittima, facendosi scudo dell'uso di VerificaC19?
  2. Sul fatto che la garanzia totale non c'è quando si usa uno strumento informatico (che sempre una parte di blackbox ha) non ci piove, ma ciò non deve essere la scusante per fare come si crede. Se usi a mia insaputa una app VerificaC19 moddata in proprio per acquisire i miei dati sanitari è un conto con certi profili di responsabilità, se mi fai passare il qr-code sotto una macchina strana un po' il sospetto che qualcosa non va mi viene....

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHubhttps://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fministero-salute%2Fit-dgc-verificaC19-android%2Fpull%2F133%23issuecomment-930372137&data=04%7C01%7CLamberto.Leoncavallo%40datalogic.com%7C9457c39adb6d4b6a5aec08d9836c9b3f%7Cfa92fa5ade6c4cafa2aef13cb9d1c40a%7C0%7C0%7C637685324745271533%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=XFYZWTMPonYR2BlCzXYeH9gnC%2F%2FGsHgwHvlxu5LQy%2Bw%3D&reserved=0, or unsubscribehttps://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FADVTLBF6Z6KAVSUOR6WAR63UENCOZANCNFSM5DWT7UIQ&data=04%7C01%7CLamberto.Leoncavallo%40datalogic.com%7C9457c39adb6d4b6a5aec08d9836c9b3f%7Cfa92fa5ade6c4cafa2aef13cb9d1c40a%7C0%7C0%7C637685324745281526%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=z93xbAWTaqtOqgTHuaccbZoulZRMjxsuRoXKbc68OFk%3D&reserved=0. Triage notifications on the go with GitHub Mobile for iOShttps://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fapps.apple.com%2Fapp%2Fapple-store%2Fid1477376905%3Fct%3Dnotification-email%26mt%3D8%26pt%3D524675&data=04%7C01%7CLamberto.Leoncavallo%40datalogic.com%7C9457c39adb6d4b6a5aec08d9836c9b3f%7Cfa92fa5ade6c4cafa2aef13cb9d1c40a%7C0%7C0%7C637685324745291517%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=h2muYUnn9GFzoTXeB11YnoLqdyvQTln5U0g1auQfx1o%3D&reserved=0 or Androidhttps://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fplay.google.com%2Fstore%2Fapps%2Fdetails%3Fid%3Dcom.github.android%26referrer%3Dutm_campaign%253Dnotification-email%2526utm_medium%253Demail%2526utm_source%253Dgithub&data=04%7C01%7CLamberto.Leoncavallo%40datalogic.com%7C9457c39adb6d4b6a5aec08d9836c9b3f%7Cfa92fa5ade6c4cafa2aef13cb9d1c40a%7C0%7C0%7C637685324745291517%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=P6BEyQpJLwejvRQuwO8TcLFDiEFblZk%2FQdAEkgY7QpE%3D&reserved=0.

INTERNAL Datalogic Confidential

CONFIDENTIALITY NOTICE. This message is for the sole use of the intended recipient(s) and may contain confidential and/or privileged information. Any unauthorised review, use, disclosure, or distribution is prohibited. If you are not the intended recipient, please destroy all copies of the original message, including any and all attachments, and notify the sender immediately.

ivanoalonzi commented 3 years ago

@franthemanIT, le tue osservazioni sono semplicemente ridicole.

acaliaro commented 3 years ago

Chiedo venia, non mi è chiaro lo scopo della pr. l'obiettivo è verificare il gp senza passare da un dispositivo mobile? Il mi problema è: se ho 1000 dipendenti, come faccio a controllare tutti i qr code tutti i giorni? Sopratutto nell'ipotesi che tali dipendenti non si trovino tutti nella sede centrale e quindi mi è proprio impossibile controllarli. Inoltre, per dimostrare di aver effettuato i controlli devo logicamente avere un registro. Quindi io avrei bisogno di passare al sw i qr code senza scansionarli e, in output, la lista della risposte di validazione. È possibile fare ciò? È questo lo scopo della pr?

Lo scopo della pr mi sembra ben descritto nel primo post. Attualmente l'app di verifica legge i qrcode esclusivamente tramite camera. Questa pr permette di poter leggere i qrcode anche tramite scanner integrati all'interno di device industriali. Solitamente i device industriali utilizzano, per inviare il barcode letto alle app, degli intent: la pr implementa questa gestione ad intent. Per la tua richiesta sui 1000 dipendenti, non mi sembra pertinente con la PR e neppure con l'app VerificaC19 in generale.

DSFrancesco commented 3 years ago

Chiedo venia, non mi è chiaro lo scopo della pr. l'obiettivo è verificare il gp senza passare da un dispositivo mobile? Il mi problema è: se ho 1000 dipendenti, come faccio a controllare tutti i qr code tutti i giorni? Sopratutto nell'ipotesi che tali dipendenti non si trovino tutti nella sede centrale e quindi mi è proprio impossibile controllarli. Inoltre, per dimostrare di aver effettuato i controlli devo logicamente avere un registro. Quindi io avrei bisogno di passare al sw i qr code senza scansionarli e, in output, la lista della risposte di validazione. È possibile fare ciò? È questo lo scopo della pr?

Lo scopo della pr mi sembra ben descritto nel primo post.

Attualmente l'app di verifica legge i qrcode esclusivamente tramite camera.

Questa pr permette di poter leggere i qrcode anche tramite scanner integrati all'interno di device industriali. Solitamente i device industriali utilizzano, per inviare il barcode letto alle app, degli intent: la pr implementa questa gestione ad intent.

Per la tua richiesta sui 1000 dipendenti, non mi sembra pertinente con la PR e neppure con l'app VerificaC19 in generale.

Chiedo scusa, avevo sperato invece di leggere attentamente. Ho cancellato la domanda per non creare confusione quindi se vuoi cancella anche la risposta. Ad ogni modo grazie della risposta. Posso chiederti perché dici che non sia inerente con l'app? Mi sapresti aiutare a capire come risolvere il mio problema? (Cancellerò anche questa domanda sempre per non intasare)

lleoncavallo commented 3 years ago

Chiedo venia, non mi è chiaro lo scopo della pr. l'obiettivo è verificare il gp senza passare da un dispositivo mobile? Il mi problema è: se ho 1000 dipendenti, come faccio a controllare tutti i qr code tutti i giorni? Sopratutto nell'ipotesi che tali dipendenti non si trovino tutti nella sede centrale e quindi mi è proprio impossibile controllarli. Inoltre, per dimostrare di aver effettuato i controlli devo logicamente avere un registro. Quindi io avrei bisogno di passare al sw i qr code senza scansionarli e, in output, la lista della risposte di validazione. È possibile fare ciò? È questo lo scopo della pr?

Lo scopo della pr mi sembra ben descritto nel primo post. Attualmente l'app di verifica legge i qrcode esclusivamente tramite camera. Questa pr permette di poter leggere i qrcode anche tramite scanner integrati all'interno di device industriali. Solitamente i device industriali utilizzano, per inviare il barcode letto alle app, degli intent: la pr implementa questa gestione ad intent. Per la tua richiesta sui 1000 dipendenti, non mi sembra pertinente con la PR e neppure con l'app VerificaC19 in generale.

Chiedo scusa, avevo sperato invece di leggere attentamente. Ho cancellato la domanda per non creare confusione quindi se vuoi cancella anche la risposta. Ad ogni modo grazie della risposta. Posso chiederti perché dici che non sia inerente con l'app? Mi sapresti aiutare a capire come risolvere il mio problema? (Cancellerò anche questa domanda sempre per non intasare)

Ciao, la tua domanda è ben posta ma sembra che il Ministero della Salute che da quello che capisco è il referente anche per quanto riguarda la gestione della soluzione unica di validazione non sia particolarmente interessato a semplificare la vita delle aziende italiane. Cmq se desideri puoi contattare il Ministero come ho fatto io, ma immagino che non otterrai alcuna risposta come non la ho ottenuta io. So che per le scuole di stato stanno implementando una soluzione ad-hoc che verifica i green pass in modo automatico a partire da una lista di nominativi ma questo lo fanno per le aziende di stato appunto. I privati cittadini non sembra che abbiano diritto ad alcuna semplificazione per cui dovranno validare il green pass uno a uno con un bello smartphone smadonnando di quando in quando oppure,molto più probabile, le aziende non verificheranno un piffero in quanto non solo non sono tenute ma non possono neppure per legge registrare alcunchè in modo automatico con la app di verifica. Il problema si porrebbe solo in seguito a controlli delle forze dell'ordine che immagino non si verificheranno mai. Immagino che le aziende più attente controlleranno i dipendenti i primi giorni e poi andranno sulla fiducia. E' già un ottimo compromesso visto che molti non controllano nulla soprattutto nei ristoranti.

acaliaro commented 3 years ago

Chiedo venia, non mi è chiaro lo scopo della pr. l'obiettivo è verificare il gp senza passare da un dispositivo mobile? Il mi problema è: se ho 1000 dipendenti, come faccio a controllare tutti i qr code tutti i giorni? Sopratutto nell'ipotesi che tali dipendenti non si trovino tutti nella sede centrale e quindi mi è proprio impossibile controllarli. Inoltre, per dimostrare di aver effettuato i controlli devo logicamente avere un registro. Quindi io avrei bisogno di passare al sw i qr code senza scansionarli e, in output, la lista della risposte di validazione. È possibile fare ciò? È questo lo scopo della pr?

Lo scopo della pr mi sembra ben descritto nel primo post. Attualmente l'app di verifica legge i qrcode esclusivamente tramite camera. Questa pr permette di poter leggere i qrcode anche tramite scanner integrati all'interno di device industriali. Solitamente i device industriali utilizzano, per inviare il barcode letto alle app, degli intent: la pr implementa questa gestione ad intent. Per la tua richiesta sui 1000 dipendenti, non mi sembra pertinente con la PR e neppure con l'app VerificaC19 in generale.

Chiedo scusa, avevo sperato invece di leggere attentamente. Ho cancellato la domanda per non creare confusione quindi se vuoi cancella anche la risposta. Ad ogni modo grazie della risposta. Posso chiederti perché dici che non sia inerente con l'app? Mi sapresti aiutare a capire come risolvere il mio problema? (Cancellerò anche questa domanda sempre per non intasare)

Credo ti abbiano ascoltato:

https://www.corriere.it/economia/lavoro/21_ottobre_08/green-pass-app-le-aziende-cosi-15-ottobre-controlli-ufficio-dfc29e44-2797-11ec-8e22-571cfe84393b.shtml

lleoncavallo commented 3 years ago

Interessante! Ho letto questo articolo:

https://www.corriere.it/economia/lavoro/21_ottobre_08/green-pass-app-le-aziende-cosi-15-ottobre-controlli-ufficio-dfc29e44-2797-11ec-8e22-571cfe84393b.shtml

Apprezzo che come al solito in Italia si pensi a risolvere i problemi 7 gg prima, e peraltro non sono ancora risolti. La mossa dei controlli a campione del 20% del personale è una ganzata che rende perfettamente inutile il controllo senza una legge che preveda come deve essere fatto (servirebbe una tracciatura di tutte le persone controllate almeno ma se nessuno obbliga a tale registrazione...). La finezza è questa:

Non è un caso che il ministero della Salute, rileva la bozza di Dpcm, abbia costruito un pacchetto di applicazioni con licenza open source (ad accesso libero), che «consente di integrare nei sistemi di controllo di accesso le funzionalità di verifica della Certificazione verde mediante la lettura del QrCode».

Mi sembra voglia dire che chiunque può farsi la sua soluzione a partire dal progetto Open Source. Avete altre interpretazioni? Sarebbe utile sapere chi ha detto questo, ma nell'articolo non sta scritto.

Ulteriore conferma che siamo in un paese dove regna il ridicolo soprattutto tra chi ci governa. Del resto se mezzo mondo ci ride dietro ci deve essere una ragione.

lleoncavallo commented 3 years ago

Pensavo che il link fosse diverso perchè aprendo il tuo link non mi si apriva la pagina. Ovviamente lo ho letto su tuo spunto!!! Grazie mille dell'informazione!!! Il mio era solo un commento all'articolo.

lleoncavallo commented 3 years ago

In rete si trovano vari link con il pdf della bozza delle linee guida per la verifica nella p.a. che trattano anche di "nuovi" strumenti" ("bozza linee guida green pass p.a." in un motore di ricerca dovrebbe funzionare). SI rivolge al mondo p.a. ma il tenore di strumenti messi a disposizione del mondo privato non dovrebbe essere diverso.

La frase estratta dall'articolo del Corriere sembra comunque essere contraddetta dalla successiva. Meglio andare alla fonte.

Qui: https://i2.res.24o.it/pdf2010/Editrice/ILSOLE24ORE/QUOTIDIANI_VERTICALI/Online/_Oggetti_Embedded/Documenti/2021/10/07/linee_gp.pdf

Si trova scritta un'altra frase piuttosto dubbia:

"In questi casi la rilevazione del green pass potrà avvenire anche manualmente attraverso l’utilizzo dell’app “VerificaC19”, già disponibile negli store, ovvero attraverso l’integrazione dei sistemi informatici utilizzati per il termoscanner, badge. "

Mi pare chiaro che su questo tema non si vuole definire regole rigide e si lascia grosso margine alla libera interpretazione. Stante la normativa vedo molto difficile che possano essere fatti controlli e colpite aziende "fuori norma", posto che la norma è fumosa.

lleoncavallo commented 3 years ago

Adesso sembra che ci sia un liberi tutti. Ognuno può utilizzare l'app che desidera:

https://www.ilgiorno.it/cronaca/green-pass-lavoro-controlli-sanzioni-decreto-1.6909711

Evito commenti,

Lamberto


Da: Alessandro Caliaro @.> Inviato: venerdì 8 ottobre 2021 10:53 A: ministero-salute/it-dgc-verificaC19-android @.> Cc: Leoncavallo, Lamberto @.>; Mention @.> Oggetto: Re: [ministero-salute/it-dgc-verificaC19-android] feat: implemented verification of a QR Code coming from a broadcast intent (#133)

Chiedo venia, non mi è chiaro lo scopo della pr. l'obiettivo è verificare il gp senza passare da un dispositivo mobile? Il mi problema è: se ho 1000 dipendenti, come faccio a controllare tutti i qr code tutti i giorni? Sopratutto nell'ipotesi che tali dipendenti non si trovino tutti nella sede centrale e quindi mi è proprio impossibile controllarli. Inoltre, per dimostrare di aver effettuato i controlli devo logicamente avere un registro. Quindi io avrei bisogno di passare al sw i qr code senza scansionarli e, in output, la lista della risposte di validazione. È possibile fare ciò? È questo lo scopo della pr?

Lo scopo della pr mi sembra ben descritto nel primo post. Attualmente l'app di verifica legge i qrcode esclusivamente tramite camera. Questa pr permette di poter leggere i qrcode anche tramite scanner integrati all'interno di device industriali. Solitamente i device industriali utilizzano, per inviare il barcode letto alle app, degli intent: la pr implementa questa gestione ad intent. Per la tua richiesta sui 1000 dipendenti, non mi sembra pertinente con la PR e neppure con l'app VerificaC19 in generale.

Chiedo scusa, avevo sperato invece di leggere attentamente. Ho cancellato la domanda per non creare confusione quindi se vuoi cancella anche la risposta. Ad ogni modo grazie della risposta. Posso chiederti perché dici che non sia inerente con l'app? Mi sapresti aiutare a capire come risolvere il mio problema? (Cancellerò anche questa domanda sempre per non intasare)

Credo ti abbiano ascoltato:

https://www.corriere.it/economia/lavoro/21_ottobre_08/green-pass-app-le-aziende-cosi-15-ottobre-controlli-ufficio-dfc29e44-2797-11ec-8e22-571cfe84393b.shtmlhttps://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww.corriere.it%2Feconomia%2Flavoro%2F21_ottobre_08%2Fgreen-pass-app-le-aziende-cosi-15-ottobre-controlli-ufficio-dfc29e44-2797-11ec-8e22-571cfe84393b.shtml&data=04%7C01%7CLamberto.Leoncavallo%40datalogic.com%7Cf7720ae264ca452a913008d98a392a1e%7Cfa92fa5ade6c4cafa2aef13cb9d1c40a%7C0%7C0%7C637692800403849328%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=be0%2BDaa%2FwiBS0PeOhAYb1qGwzqtwgj66edzCzPCRK8A%3D&reserved=0

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHubhttps://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fministero-salute%2Fit-dgc-verificaC19-android%2Fpull%2F133%23issuecomment-938468033&data=04%7C01%7CLamberto.Leoncavallo%40datalogic.com%7Cf7720ae264ca452a913008d98a392a1e%7Cfa92fa5ade6c4cafa2aef13cb9d1c40a%7C0%7C0%7C637692800403849328%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=4Pkt0gYJFwIx1DnlBe91imd0DuwWYKZKjfW1A4iyxSE%3D&reserved=0, or unsubscribehttps://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FADVTLBHG7E63BTFYGVPSNYDUF2WR3ANCNFSM5DWT7UIQ&data=04%7C01%7CLamberto.Leoncavallo%40datalogic.com%7Cf7720ae264ca452a913008d98a392a1e%7Cfa92fa5ade6c4cafa2aef13cb9d1c40a%7C0%7C0%7C637692800403859320%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=l2l8Pg7XKugB0qq%2B5CP0YJ32qRZ4CyV3Pm7tkROiZd4%3D&reserved=0. Triage notifications on the go with GitHub Mobile for iOShttps://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fapps.apple.com%2Fapp%2Fapple-store%2Fid1477376905%3Fct%3Dnotification-email%26mt%3D8%26pt%3D524675&data=04%7C01%7CLamberto.Leoncavallo%40datalogic.com%7Cf7720ae264ca452a913008d98a392a1e%7Cfa92fa5ade6c4cafa2aef13cb9d1c40a%7C0%7C0%7C637692800403869316%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=0vpg7JwCECUpgY8HO%2B6CDggTBMuz6TTbdSw2qwaaZ7k%3D&reserved=0 or Androidhttps://eur03.safelinks.protection.outlook.com/?url=https%3A%2F%2Fplay.google.com%2Fstore%2Fapps%2Fdetails%3Fid%3Dcom.github.android%26referrer%3Dutm_campaign%253Dnotification-email%2526utm_medium%253Demail%2526utm_source%253Dgithub&data=04%7C01%7CLamberto.Leoncavallo%40datalogic.com%7Cf7720ae264ca452a913008d98a392a1e%7Cfa92fa5ade6c4cafa2aef13cb9d1c40a%7C0%7C0%7C637692800403869316%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=cT2v6RC2tvbCwWmkERMM5fXJT5D1%2B%2FFve4E7ZcAGtV0%3D&reserved=0.

INTERNAL Datalogic Confidential

CONFIDENTIALITY NOTICE. This message is for the sole use of the intended recipient(s) and may contain confidential and/or privileged information. Any unauthorised review, use, disclosure, or distribution is prohibited. If you are not the intended recipient, please destroy all copies of the original message, including any and all attachments, and notify the sender immediately.

PeppeDotNet commented 3 years ago

Ma questo SDK di cui si parla nelle linee guida è stato pubblicato?

ghost commented 3 years ago

Ma questo SDK di cui si parla nelle linee guida è stato pubblicato?

Il documento dice così

La componente SDK viene resa disponibile attraverso la pubblicazione del codice sorgente in modalità open source sul repository Github del Ministero della Salute (https://github.com/ministero-salute/it-dgc-verificac19-sdk-android) insieme alla documentazione tecnica necessaria per garantire il corretto utilizzo della componente stessa e le opportune raccomandazioni che l’utilizzatore deve applicare nella realizzazione della propria soluzione. La modalità open source non prevede la registrazione o il tracciamento dell’utilizzatore finale della componente SDK. È possibile ottenere ulteriori informazioni nel file README (https://github.com/ministero-salute/it-dgc-verificac19-sdkandroid/blob/master/README.md).

stale[bot] commented 1 year ago

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.