Lettura CIE tramite APDU

Sono riuscito a trovare una quadra grazie alla risposta di un utente su SLACK!
tramite l’SDK fatto in python presente su github Italia, sono riuscito a leggere i dati inserendo 3 dati presenti nell’MRZ. Ho letto che è anche possibile autenticarsi inserendo solamente il CAN ma devo scoprire come :smiley:

sdk non mantenuto su

risulta essere ancora funzionante sulle nuove cie con la seguente modifica:

sostituire
comTag.CheckTag(0x60).Child(0, new byte { 0x5f, 0x01 }).Verify(ASCIIEncoding.ASCII.GetBytes(“0107”));

con

            ASN1Tag comTag2 = ASN1Tag.Parse((byte[])efCOM, false);
            try
            {
                comTag.CheckTag(0x60).Child(0, new byte[] { 0x5f, 0x01 }).Verify(ASCIIEncoding.ASCII.GetBytes("0108"));
            }
            catch (Exception )
            {
                comTag2.CheckTag(0x60).Child(0, new byte[] { 0x5f, 0x01 }).Verify(ASCIIEncoding.ASCII.GetBytes("0107"));
                comTag = comTag2;
            }

permette di gestire le cie di nuova generazione: 0x01 0x08 indica la versione del LDS

image

Nel caso in cui sul pc è attivo CIEID, come consiglia Fabio Ottavi nel forum, mettere dopo la sc.connect la sc.Reconnect
sc.Reconnect(Share.SCARD_SHARE_EXCLUSIVE, Protocol.SCARD_PROTOCOL_T1, Disposition.SCARD_UNPOWER_CARD);

altrimenti i comandi di selezione file per esempio del cardaccess
00 A4 02 0C 02 01 1C
non funzionano, in quanto viene settato dal cieid aid_ias