-
Notifications
You must be signed in to change notification settings - Fork 11
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
CryptoUpcalls: Exception while decrypting message with RSA private key using RSA/ECB/PKCS1Padding #15
Comments
Grazie @etmatrix poiché utilizziamo anche noi questa libreria, puoi dirci con quale modello di dispositivo android hai rilevato il problema? grazie ancora |
@pasqualedevita è un nokia 5.4 |
@pasqualedevita voi sapete in quale parte ricevete quell'errore? |
Aggiungo delle informazioni che potrebbero essere utili.
la CIE risponde correttamente, sia nel primo che nel secondo APDU con 9000 |
Ho trovato la causa, solo che ora ho delle difficoltà a trovare una soluzione elegante per risolvere il problema.
poi subito dopo aver avviato la comunicazione con NetworkClient c'è una cosa del genere:
Al momento è inguardabile, però sono riuscito ad autenticarmi sul sito inps. |
Ho creato un fix nel mio fork. Ho fatto un bel po' di test e non ho mai avuto un problema, sempre riuscito ad autenticarmi sul sito inps, nonostante oggi risulta un po' lento. |
Ripensando a vecchie applicazioni mi è tornato in mente che ho avuto un problema simile con una smartcard a contatto, una volta aperto il canale sicuro con autenticazione, questo si chiudeva in automatico dopo un tempo predefinito se non venivano mandati i comandi APDU, anche se la smartcard rimaneva alimentata.
Spero che chi ha realizzato il software possa fare dei test e migliorare l'sdk ma soprattutto migliorare l'app CieID che è basato sullo stesso meccanismo. |
Keepalive workaround per evitare chiusura anticipata del canale di sicurezza. RiferimentI : - italia#15 (comment) - italia@f765088
Ho un android 10 dove l'app CieID fallisce l'autenticazione, così ho provato questa libreria che usa lo stesso codice dell'app.
Sto provando l'autenticazione su sito inps flusso interno, quindi niente app cieid. L'url configurata è questa https://www.inps.it/myinps/default.aspx?accessoinps=1
Ho disabilitato il Pinning dei certificati per evitare problemi, ma comunque non è li l'errore. Quando viene richiesto di fare il sign dei byte ricevuti dal sito idserver.servizicie.interno.gov.it, la CIE risponde con un 6882 (Secure messaging not supported).
L'autenticazione alla carta va a buon fine, perchè riesco a leggere e salvare il certificato pubblico in formato BER.
Di seguito l'eccezione:
Tutte le richieste fatte alla CIE prima di queste vanno a buon fine con 90 00, oppure un trascurabile codice 6B 00 quando viene letto il certificato.
Questa non è la prima richiesta in SM alla Cie, quindi è strano che proprio questa fallisca.
L'errore si trova nella funzione respSM di Ias.kt perchè da per scontato che dalla risposta della smartcard ci siano dei dati, ma essendo l'array resp vuoto genera l'eccezione ArrayIndexOutOfBoundsException.
Inizialmente pensavo fosse il CieProvider il problema perchè con Android 10 viene usato Cipher.RSA/ECB/PKCS1Padding e non Signature.NONEwithRSA, ma poi ho visto che i dati inviati dal sito verrebbero inviati nel secondo APDU, qui fallisce il primo APDU dentro la funzione sign.
Sono disposto a fare test per risolvere il problema.
The text was updated successfully, but these errors were encountered: