cie-mrtd-dotnet-sdk
cie-mrtd-dotnet-sdk copied to clipboard
Errore nel protocollo PACE:General Authenticate 1 - 27013
Ho provato il progetto suggeritomi, ho sostituito il numero CAN ( a 6 cifre riportato davanti in basso a dx della CIE) alla riga della chiamata PACE(), ma il programma s’interrompe con l’errore : {“Errore nel protocollo PACE:General Authenticate 1 - 27013”} System.Exception.
ho aggiunto dopo sc.Connect
sc.Reconnect(Share.SCARD_SHARE_EXCLUSIVE, Protocol.SCARD_PROTOCOL_T1, Disposition.SCARD_UNPOWER_CARD) ma non è cambiato.
Suggerimenti ?
Grazie Andrea
Riprendo dall'errore 8010000b, segnalato in https://forum.italia.it/t/errore-in-connessione-8010000b/2541 E' un errore di condivisione del lettore, probabilmente ci sono altre applicazioni, anche di sistema, che cercano di accedere alla smart card. Vedo dal forum che hai risolto avviando con la smart card sopra il lettore, ma hai ancora errori nell'autenticazione. Se l'errore si è spostato al comando successivo del protocollo PACE sono abbastanza sicuro che sia un problema di altre applicazioni che "rubano" la sessione. Prova a usare una transazione sulla smart card: cambia il comando di Reconnect con questo:
sc.Reconnect(Share.SCARD_SHARE_SHARED, Protocol.SCARD_PROTOCOL_T1, Disposition.SCARD_UNPOWER_CARD)
e subito dopo aggiungi sc.BeginTransaction()
e chiama PACE(CAN).
Eventualmente disabilita il servizio di propagazione automatica dei certificati. Fabio
Dunque, sono convinto anche io che qualche applicazione stia interferendo, ma non ho idea quale sia e come trovarla.
ho provato le modifiche ma nulla è cambiato.
Ovviamente il tenere la CIE sopra al lettore all'avvio è solo un pagliativo. Come si disabilita la propagazione automatica ? Ho Windows 10 home e stò usando VS 2017.
Ho a disposizione 2 tipi di lettori ed al momento con solo 1 riesco ad arrivare al PACE, ecc Grazie Andrea
E' davvero strano che anche con un BeginTransaction non funzioni. Vedi se la chiamata in PInvoke al metodo nativo SCardBeginTransaction restituisce OK o un codice di errore. "Propagazione certificati" è uno dei servizi di windows, lo disattivi da Gestione Computer -> Servizi e applicazioni. Fermalo e mettilo in attivazione manuale.
Fabio
La SCardBeginTransaction risponde 0. La propagazione certificati ha risolto il famoso 0x801.....
ma ora siamo fermi di nuovo sulla prima chiamata di Authenticate senza però dare risposta ....
APDU:10-86-00-00-02-7C-00-00 Response: 'Test.exe' (CLR v4.0.30319: Test.exe): caricamento di .......... Eccezione generata: 'System.OverflowException' in CIE.MRTD.SDK.dll Eccezione generata: 'System.Exception' in CIE.MRTD.SDK.dll
Aggiungo: col secondo lettore secondo risponde il solito 6985
Ok... puoi andare in debug nel codice dell'SDK e verificare qual'è il motivo per cui viene sollevata l'eccezione OverflowException? Non è normale, non dovrebbe esserci. Probabilmente la CIE ha riposto correttamente, ma c'è un bug nell'SDK.
Per quanto riguarda l'errore 6985 con l'altro lettore è ancora più strano. Puoi mandarmi il modello di entrambi i lettori? Usano il driver CCID o un driver specifico?
Allora ho fatto delle prove con due lettori : :
-
REINER SCT (sarebbe quello ufficiale) con driver specifico
-
ACS NFC (l'ho preso per prova alternativa) con driver configurato in automatico
Io ho notato che non c'è una ripetitività precisa su ciascun lettore, nel senso che a volte si scambiano i risultati di uno con l'altro.
E cambiando uno con l'altro devo riattivare temporaneamente la Propagazione dei Certificati ...... per farlo riconoscere, dato che ne tengo solo uno collegato alla volta ....... va beh
.
Al momento ho il REINER collegato che impeccabilmente si ferma al 6985, posso fare qualche controllo ?
Il 26 febbraio 2018 alle 19.56 Fabio Ottavi [email protected] ha scritto:
Ok... puoi andare in debug nel codice dell'SDK e verificare qual'è il motivo per cui viene sollevata l'eccezione OverflowException? Non è normale, non dovrebbe esserci. Probabilmente la CIE ha riposto correttamente, ma c'è un bug nell'SDK. Per quanto riguarda l'errore 6985 con l'altro lettore è ancora più strano. Puoi mandarmi il modello di entrambi i lettori? Usano il driver CCID o un driver specifico? — You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/italia/cie-mrtd-sdk/issues/8#issuecomment-368609178 , or mute the thread https://github.com/notifications/unsubscribe-auth/AjB89Bos-1D2OwHzw1HVrfH96OtaqtZ-ks5tYv5ogaJpZM4SPM0Q .
La situazione non è cambiata, posso eseguire qualche controllo specifico per capire meglio il problema ?
Sei riuscito a riprodurre il caso in cui hai ottenuto System.OverflowException e a capire da cosa è causata? Potrebbe dareci qualche indicazione.
No quell'errore non è più comparso. Oggi riprovando il lettore (ACS NFC) che aveva dato quel problema, mi ritrovo l'Authenticate 1 con 9000 (quindi ok) e Authenticate 2 con 6985, ovviamente poi si ferma. Io sono molto perplesso per questi continui cambi di comportamento quasi alla giornata ..... io continuo a sostenere che vi sia qualcosa che disturba la comunicazione .... a volte ricompare anche l'errore 8010000B .... Se serve posso allegare l'output in debug dell'apdu.
Allega l'output del debug, forse può servire
ListingReadersMonitoringThread:readersLen:1APDU:00-A4-02-0C-02-01-1C Response:90-00 APDU:00-B0-00-00-06 Response:31-14-30-12-06-0A-90-00 APDU:00-B0-00-00-16 Response:31-14-30-12-06-0A-04-00-7F-00-07-02-02-04-01-01-02-01-02-02-01-02-90-00 Test.exe Information: 0 : CardAccess letto correttamente; il chip è SAC APDU:00-22-C1-A4-0F-80-0A-04-00-7F-00-07-02-02-04-01-01-83-01-02 Response:90-00 APDU:10-86-00-00-02-7C-00-00 Response:7C-12-80-10-7A-12-9D-7C-6B-C5-2F-9B-92-27-68-6D-29-79-24-47-90-00 General Authenticate 1: 9000 'Test.exe' (CLR v4.0.30319: Test.exe): caricamento di 'C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\System.Numerics\v4.0_4.0.0.0__b77a5c561934e089\System.Numerics.dll' completato. Caricamento dei simboli ignorato. Il modulo è ottimizzato e l'opzione del debugger 'Solo codice utente' è abilitata. APDU:10-86-00-00-00-01-08-7C-82-01-04-81-82-01-00-4B-F8-32-31-02-58-71-ED-78-FB-30-1A-D2-18-38-40-12-8A-F8-57-B9-1A-03-E3-32-09-1E-49-17-8A-F2-A6-F9-D5-E8-1E-FB-25-D0-38-A9-E1-FA-B9-6A-1E-01-E3-33-3F-73-3B-5A-63-7D-DB-57-75-D1-9F-C2-C4-E5-92-8F-6B-0E-5A-78-B4-90-3D-91-BC-9A-60-D0-48-CC-4B-7C-87-83-A3-31-D0-6A-98-10-CD-DC-95-2B-F5-6C-01-2E-34-67-2F-7A-06-34-AF-5B-44-3A-A4-81-51-13-59-CF-F7-7E-B8-58-AE-00-67-4A-B6-80-3B-65-06-FE-E2-31-BF-BA-2C-87-84-3C-6D-86-03-67-68-4B-68-D0-26-14-E8-0B-37-F8-7E-71-5F-B9-CE-43-D8-55-10-93-2B-EF-8E-05-EA-3A-A1-E2-A3-AD-1C-CE-AE-3B-07-48-A6-01-1F-1E-30-EC-8C-41-A7-F9-4F-43-AE-F4-E6-54-5F-52-93-AB-EC-D9-DB-C2-40-F5-59-C9-C6-9C-A6-54-01-80-56-5C-CD-C2-E6-E6-51-C0-10-0C-C8-29-88-AB-E8-4A-05-B6-06-B7-C0-C3-98-CC-63-D9-33-AA-0A-ED-1E-02-86-86-8E-EE-91-71-DC-A2-D0-B2-2C-85-90-28-05-00-00 Response:69-85 General Authenticate 2: 6985 Eccezione generata: 'System.Exception' in CIE.MRTD.SDK.dll Eccezione generata: 'System.Exception' in CIE.MRTD.SDK.dll MonitoringThread:readersLen:1
Per conferma il codice PACE è di 6 cifre ed appare in basso a dx sul lato fronte della CIE giusto ?
Vorrei sapere cosa posso fare per risolvere questo problema. Ho un progetto che si basa su questa lettura .... ho urgenza altrimenti salta tutto. Help me.
Salve, qualcuno ha risolto?
Ciao, smanettando con la mia CIE ho notato che inviando la General Authentication (APDU:10-86-00-00-02-7C-00-00) per il protocollo PACE senza dar seguito all'handshake dopo un po di volte la CIE si blocca. La mia carta invece di rispondere con 0x7C risponde con un messaggio (probabilmente di errore) "01 01 00 04 20 04 08 31 f2 0c 14 78 77 95 02 80 31 80 65 b0 85 03 00 ef 12 0f ff 82" che non ho saputo interpretare (il primo byte probabilmente non fa parte del payload). Immagino ci sia qualche meccanismo che blocca il sistema di autenticazione dopo un certo numero di tentativi andati a vuoto. Ho bloccato sia il PACE per MRZ e CAN, la carta ha risposto con 0x7C per un po di volte con entrambi i sistemi poi più nulla (testato con 2 CIE). Ho provato a leggere la carta con il BAC e funziona senza problemi. Qualcuno mi sa dire come sbloccare la carta? Grazie!
Edit: la carta non è bloccata, risponde con un delay pazzesco.
Non è previsto che le chiavi PACE (sia MRZ che CAN) si blocchino dopo dei tentativi di autenticazione errata. Alcune implementazioni di MRTD effettivamente aumentano il delay della risposta dopo un certo numero di errori (per evitare attacchi di forza bruta), ma nella CIE non ci sono implementazioni di questo tipo in campo. Non so dirle esattamente il motivo del problema quindi, ma vedo qualcosa di molto strano nella risposta che ha ottenuto: la stringa 78 77 95 02 80 31 80 65 b0 85 03 00 ef 12 0f ff 82 corrisponde ad un pezzo dell'ATS del chip, e non è assolutamente normale che si trovi nella risposta ad una APDU. Posso ipotizzare che, per quanto veramente bizzarro, succeda una cosa di questo tipo: dopo l'invio del comando APDU, viene inviato un reset; il chip si riconnette e parte il protocollo di anticollisione, che inizia proprio con l'ATS. Il lettore non gestisce correttamente l'evento e interpreta l'ATS come parte della risposta all'APDU. E' possibile che il lettore abbia problemi nel gestire le APDU in chaining che compongono il protocollo PACE. Stiamo osservando che alcuni lettori, purtroppo abbastanza diffusi, non implementano correttamente l'ISO 14443/A e quindi hanno problemi con la CIE.
Ciao, io ho lo stesso identico problema di arcade98, cioè ottengo l'errore "Errore nel protocollo PACE: General Authenticate 2" ed in console ho la risposta 69-85. Qualcuno può darmi supporto ?
Sto provando anche io questa app di test e purtroppo ho lo stesso problema, "Errore nel protocollo PACE:General Authenticate 2 - 27013", qualcuno è riuscito a capire e risolvere il problema?