Autenticazione CIE si blocca a metà

Salve, è da un po’ di tempo che l’app CIE ID per Android non mi permette di utilizzare l’autenticazione di 3° livello con la scansione NFC della carta.
La memorizzazione della carta all’interno dell’app funziona senza problemi. Quando invece appoggio la carta al telefono per eseguire l’autenticazione di 3° livello, l’app dopo qualche secondo restituisce un errore generico di lettura (“Errore durante la lettura”) e si blocca. Lo stesso problema si presenta anche nell’app IO.

Telefono: Redmi 9 (lancelot) con Android 13 stock
Versione app: 1.7.7 (147)

Se c’è bisogno di log particolari o altre informazioni resto a completa disposizione.

Grazie,
Giosuè

Ciao Giosuè, benvenuto in Forum Italia.
Prova ad eseguire i seguenti passaggi:

  • Disinstalla e reinstalla L’app Cie (Assicurati di installare l’ultima versione da google play);
  • Autorizza tutti i consensi del dispositivo per l’APP (ad esempio fotocamera, microfono, foto, etc.);
  • Assicurati di avere un dispositivo sempre aggiornato;

Fatti questi passaggi effettua le seguenti verifiche:
Verifica che la carta in tuo possesso non presenti problemi. E’ possibile verificare la carta accedendo al servizio di verifica messo a disposizione dal Ministero.

Fatti questi passaggi, se il problema è legato alla Carta Cie, contattare l’assistenza ai seguenti recapiti:

e-mail: cie.cittadini@interno.it
Telefono: 06 42985699
Per richieste di revoca CIE: 800098558;

Se il problema invece è legato al tuo smartphone ti consiglio di provare ad installare l’APP Cie ID su altro dispositivo assicurandoti di disinstallare l’app su quello precedente.
Prova inoltre, qualora sussistano le condizioni, a revocare tutte le installazioni fatte anche su precedenti dispositivi. Devi assicurarti che questa funzione sia presente nella pagina ufficiale CIE nella sezione sicurezza. (Se la funzione è disponibile, ti troverai la lista dei dispositivi attualmente connessi al tuo Cie ID).

Buona giornata.

Ciao Cristian, grazie per i suggerimenti.
Ho provato tutte le operazioni che mi hai elencato ma la situazione non cambia. Dalla verifica sul sito del Ministero la carta non risulta avere problemi. Ho provato ad utilizzare l’app per autenticarmi da un altro cellulare identico (Redmi 9) ma con Android 12 e tutto funziona perfettamente, sia l’app CIE ID sia l’autenticazione con CIE sull’app IO.

A quanto pare hai installato una ROM sul dispositivo? Se si, fai attenzione a queste procedure poiché lascia gli smartphone aperti ma soprattutto impossibilitati agli aggiornamenti di google play. Assicurati inoltre che l’ultimo aggiornamento di Google play è quello di settembre, se riscontri un aggiornamento inferiore (per esempio marzo/aprile) è probabile che Google Play Services possa non funzionare correttamente.

In ogni caso ti consiglio, qualora avessi cambiato ROM, di chiudere il MIUI e ritornare allo status precedente.

Saluti.

Sì, c’è installata una ROM ma i Play Services funzionano correttamente, infatti la versione che ho è quella del 18 settembre. Safety Net check e RootBeer passano completamente e i pagamenti contactless funzionano.
Parte del problema è chiaramente la ROM custom perché con la MIUI originale (con o senza root) l’app funziona senza problemi. Il punto è capire il perché. Ci sono dei log che l’app lascia da poter analizzare?

Grazie

Mi dispiace, su questa domanda non ho soluzioni. Ti conviene chiedere in altri forum (tipo androidiani) se hanno soluzioni al tuo problema, oppure attendere che qualche altro utente ti fornisca ulteriore riscontro.

Buona serata

1 Mi Piace

questa è piena disinformazione

2 Mi Piace

Anche io riscontro lo stesso problema non riconosce la carta di identità elettronica non funziona proprio meglio lo Spid

2 Mi Piace

Io ho esattamente il medesimo problema. Il bello (?) è che fino a qualche mese fa funzionava: sullo stesso apparecchio e nelle medesime condizioni. Il vero problema è che chi risponde a queste domande per cultura non è orientato al cliente, cioè parte sempre da un presupposto: ciò che faccio e dico è certamente corretto, dunque se qualcosa non funziona la responsabilità è certamente dell’utente (idiota) o del suo dispositivo (rotto, vetusto, non standard, poco collaborativo, antipatico, ecc.). Perciò, non si sforza di capire e correggere il problema, ma di correggere e istruire l’interlocutore.

Anche a me funzionava perfettamente fino a qualche mese fa e adesso niente.

In parte sono d’accordo con gli sviluppatori che spesso hanno a che fare con utenti che usano in modo non del tutto corretto la tecnologia, però quando non è questo il caso vale la pena collaborare per cercare di risolvere il problema. Proprio per questo motivo, avevo chiesto se ci fosse qualche modo per attivare dei log di debug dell’applicazione: credo sia costruttivo per entrambe le parti fornire degli strumenti per permettere a chi ha tempo e pazienza di investigare su questo problema.

Buonasera, forse ho trovato qualcosa nei log che potrebbe farci capire quale sia il problema. Questo è quello che compare quando l’autenticazione si blocca:

W CryptoUpcalls: Exception while decrypting message with RSA private key using RSA/ECB/PKCS1Padding:
W CryptoUpcalls: java.lang.ArrayIndexOutOfBoundsException: length=0; index=0
W CryptoUpcalls:         at it.ipzs.cieidsdk.nfc.Ias.r(SourceFile:32)
W CryptoUpcalls:         at it.ipzs.cieidsdk.nfc.Ias.i(SourceFile:183)
W CryptoUpcalls:         at it.ipzs.cieidsdk.nfc.Ias.v(SourceFile:48)
W CryptoUpcalls:         at it.ipzs.cieidsdk.nfc.Ias.x(SourceFile:51)
W CryptoUpcalls:         at oa.e.engineDoFinal(SourceFile:1)
W CryptoUpcalls:         at javax.crypto.Cipher.doFinal(Cipher.java:2056)
W CryptoUpcalls:         at com.google.android.gms.org.conscrypt.CryptoUpcalls.rsaOpWithPrivateKey(:com.google.android.gms@234313038@23.43.13 (190400-577232161):165)
W CryptoUpcalls:         at com.google.android.gms.org.conscrypt.CryptoUpcalls.rsaSignDigestWithPrivateKey(:com.google.android.gms@234313038@23.43.13 (190400-577232161):2)
W CryptoUpcalls:         at com.google.android.gms.org.conscrypt.NativeCrypto.SSL_do_handshake(Native Method)
W CryptoUpcalls:         at com.google.android.gms.org.conscrypt.NativeSsl.doHandshake(:com.google.android.gms@234313038@23.43.13 (190400-577232161):11)
W CryptoUpcalls:         at com.google.android.gms.org.conscrypt.ConscryptFileDescriptorSocket.startHandshake(:com.google.android.gms@234313038@23.43.13 (190400-577232161):127)
W CryptoUpcalls:         at okhttp3.internal.connection.RealConnection.connectTls(SourceFile:73)
W CryptoUpcalls:         at okhttp3.internal.connection.RealConnection.establishProtocol(SourceFile:53)
W CryptoUpcalls:         at okhttp3.internal.connection.RealConnection.connect(SourceFile:197)
W CryptoUpcalls:         at okhttp3.internal.connection.ExchangeFinder.findConnection(SourceFile:275)
W CryptoUpcalls:         at okhttp3.internal.connection.ExchangeFinder.findHealthyConnection(SourceFile:1)
W CryptoUpcalls:         at okhttp3.internal.connection.ExchangeFinder.find(SourceFile:52)
W CryptoUpcalls:         at okhttp3.internal.connection.RealCall.initExchange$okhttp(SourceFile:32)
W CryptoUpcalls:         at okhttp3.internal.connection.ConnectInterceptor.intercept(SourceFile:12)
W CryptoUpcalls:         at okhttp3.internal.http.RealInterceptorChain.proceed(SourceFile:163)
W CryptoUpcalls:         at okhttp3.internal.cache.CacheInterceptor.intercept(SourceFile:195)
W CryptoUpcalls:         at okhttp3.internal.http.RealInterceptorChain.proceed(SourceFile:163)
W CryptoUpcalls:         at okhttp3.internal.http.BridgeInterceptor.intercept(SourceFile:168)
W CryptoUpcalls:         at okhttp3.internal.http.RealInterceptorChain.proceed(SourceFile:163)
W CryptoUpcalls:         at okhttp3.internal.http.RetryAndFollowUpInterceptor.intercept(SourceFile:35)
W CryptoUpcalls:         at okhttp3.internal.http.RealInterceptorChain.proceed(SourceFile:163)
W CryptoUpcalls:         at okhttp3.logging.HttpLoggingInterceptor.intercept(SourceFile:20)
W CryptoUpcalls:         at okhttp3.internal.http.RealInterceptorChain.proceed(SourceFile:163)
W CryptoUpcalls:         at okhttp3.internal.connection.RealCall.getResponseWithInterceptorChain$okhttp(SourceFile:114)
W CryptoUpcalls:         at okhttp3.internal.connection.RealCall.execute(SourceFile:28)
W CryptoUpcalls:         at li.m.execute(SourceFile:21)
W CryptoUpcalls:         at mi.c.h(SourceFile:24)
W CryptoUpcalls:         at e8.e.a(SourceFile:15)
W CryptoUpcalls:         at p8.e.c(Unknown Source:9)
W CryptoUpcalls:         at e8.i.a(SourceFile:15)
W CryptoUpcalls:         at q8.b$a.run(Unknown Source:2)
W CryptoUpcalls:         at e8.h$a.run(SourceFile:10)
W CryptoUpcalls:         at s8.h.run(SourceFile:14)
W CryptoUpcalls:         at s8.h.call(Unknown Source:0)
W CryptoUpcalls:         at java.util.concurrent.FutureTask.run(FutureTask.java:264)
W CryptoUpcalls:         at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:307)
W CryptoUpcalls:         at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1137)
W CryptoUpcalls:         at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:637)
W CryptoUpcalls:         at java.lang.Thread.run(Thread.java:1012)
V NativeCrypto: SSL handshake aborted: ssl=0xb400007d83b8e2c8: Failure in SSL library, usually a protocol error
V NativeCrypto: error:04000044:RSA routines:OPENSSL_internal:internal error (third_party/java_src/conscrypt/common/src/jni/main/cpp/conscrypt/native_crypto.cc:686 0x7d13a99c7b:0x00000000)

Penso si riferisca a questa riga https://github.com/italia/cieid-android-sdk/blob/884e8cb076e63b1f6a741a3d7a3d495d148184ab/cieidsdk/src/main/java/it/ipzs/cieidsdk/nfc/Ias.kt#L1523C61-L1523C61 ma non saprei come risolvere il problema.