{"id":254,"date":"2005-03-23T18:50:16","date_gmt":"2005-03-23T16:50:16","guid":{"rendered":"http:\/\/gnu.inter.it\/blogs\/fabu\/?p=254"},"modified":"2005-03-23T18:50:16","modified_gmt":"2005-03-23T16:50:16","slug":"smartcard-ok","status":"publish","type":"post","link":"https:\/\/fabioinvernizzi.com\/blog\/2005\/03\/23\/smartcard-ok\/","title":{"rendered":"SmartCard OK"},"content":{"rendered":"<p>Oggi mi \u00e8 tornata voglia di ri-metter mano alla smartcard di poste.it<\/p>\n<p>Qualche tempo fa&#8217; con l&#8217;aiuto di Antonio Iacono sono riuscito a far funzionare la smartcard. Il primo problema \u00e8 stato il riconoscimento della smart-card risolto passando alla versione cvs di opensc (che include una patch Antonio appunto).<\/p>\n<p>Altro problema \u00e8 stato l&#8217;autenticazione. Il PIN fornito insieme alla card \u00e8 infatti di 6 cifre mentre facendo un dump dell&#8217;interfaccia usb sotto windowz si vede che un PIN di 14 cifre! Purtroppo non sappiamo da dove arrivino le cifre aggiuntive. Sappiamo che non cambiano modificando PIN e che sono diversi da una card all&#8217;altra (almeno tra la card di infocamere di antonio e la mia di poste.it). Quindi o sono precablati (in base al produttore) o sono calcolati in base a qualche parametro indipendente dal pin&#8230; in ogni caso sono info *segrete*&#8230; security through obscurity.<\/p>\n<p>Per aggirare il problema una piccola patch (sempre di Antonio, con i dati ricavati dal mio dump) in opensc, nel file src\/libopensc\/iso7816.c dopo:<br \/>\n<code>static int iso7816_build_pin_apdu dopo: sc_format_apdu(card, apdu, SC_APDU_CASE_3_SHORT, ins, p1, data-&gt;pin_reference);<\/code> <\/p>\n<p>ho aggiunto:<br \/>\n<code>        if (len == 14) {<br \/>\n                sbuf[6]= 0x27;<br \/>\n                sbuf[7]= 0x37;<br \/>\n                sbuf[8]= 0x17;<br \/>\n                sbuf[9]= 0x80;<br \/>\n                sbuf[10]= 0xf0;<br \/>\n                sbuf[11]= 0xd1;<br \/>\n                sbuf[12]= 0x80;<br \/>\n                sbuf[13]= 0x06;<br \/>\n        }<br \/>\n<\/code><\/p>\n<p>BTW, ho provato a decompilare il sw java per windows ma mi sono perso nelle centinaia di file che compongono il sw e no ho ancora trovato nulla. Non aiutano il fatto la mia scarsa conoscenza di java e il fatto che abbiano usato qualche tool per rendere un po&#8217; pi\u00f9 ostica la decifratura :-\/<\/p>\n<p>Cmq, tornando ad oggi con opensc funzionante ho configurato thunderbird per usare la smartcard: \u00e8 stato sufficiente aggiungere il dispositivo specificando il modulo<br \/>\n<code>\/usr\/local\/lib\/pkcs11\/opensc-pkcs11.so<\/code><\/p>\n<p>Ora bisognerebbe solo capire come cavolo vengono calcolate quegli 8 caratteri in pi\u00f9 in modo da rendere la libreria funzionante con qualsiasi smart-card&#8230; e non solo con la mia :-\/<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Oggi mi \u00e8 tornata voglia di ri-metter mano alla smartcard di poste.it Qualche tempo fa&#8217; con l&#8217;aiuto di Antonio Iacono sono riuscito a far funzionare la smartcard. Il primo problema \u00e8 stato il riconoscimento della smart-card risolto passando alla versione cvs di opensc (che include una patch Antonio appunto). Altro problema \u00e8 stato l&#8217;autenticazione. Il &hellip; <a href=\"https:\/\/fabioinvernizzi.com\/blog\/2005\/03\/23\/smartcard-ok\/\" class=\"more-link\">Continue reading <span class=\"screen-reader-text\">SmartCard OK<\/span> <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"ngg_post_thumbnail":0,"footnotes":""},"categories":[2],"tags":[3],"class_list":["post-254","post","type-post","status-publish","format-standard","hentry","category-me","tag-hacking"],"_links":{"self":[{"href":"https:\/\/fabioinvernizzi.com\/blog\/wp-json\/wp\/v2\/posts\/254"}],"collection":[{"href":"https:\/\/fabioinvernizzi.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fabioinvernizzi.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/fabioinvernizzi.com\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/fabioinvernizzi.com\/blog\/wp-json\/wp\/v2\/comments?post=254"}],"version-history":[{"count":0,"href":"https:\/\/fabioinvernizzi.com\/blog\/wp-json\/wp\/v2\/posts\/254\/revisions"}],"wp:attachment":[{"href":"https:\/\/fabioinvernizzi.com\/blog\/wp-json\/wp\/v2\/media?parent=254"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fabioinvernizzi.com\/blog\/wp-json\/wp\/v2\/categories?post=254"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fabioinvernizzi.com\/blog\/wp-json\/wp\/v2\/tags?post=254"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}