CIE e Node.js

Ciao a tutti,
sto cercando di creare un’interfaccia in node.js che consenta di leggere i dati della CIE inserendo il CAN. Sapete se c’è già qualche libreria pronta?
Graezie.

1 Mi Piace

Per Python ho visto questo GitHub - italia/cie-nis-python-sdk: SDK for reading the NIS code from an Italian Electronic Identity Card (CIE) using Python che sembra un punto di partenza dal quale aggiungere cose. Si basa fondamentalmente su pyscard (GitHub - LudovicRousseau/pyscard: pyscard smartcard library for python).

Per quanto riguarda NodeJS ho dato un occhio veloce sul portale di NPM ma immagino avrai già guardato anche tu.

Una cosa che volevo far presente è che il middleware per la CIE di IPZS non implementa completamente le API dello standard PKCS #11. Tu chiedi di leggere i dati della CIE e probabilmente è fattibile con le API PKCS #11 che hanno implementato, ma se per esempio uno vuole firmare digitalmente un documento allora manca la funzionalità.
Mi baso su cose che ho letto ed esplorato in passato tra gli issue di Github e su questo forum e non sono riuscito ad andare molto lontano col poco tempo che avevo a disposizione.
Solo col programmino Java CieID che installi assieme al middleware riesci a fare questo tipo di operazioni.

Cosa intendi per CAN?

Ciao Tappoz,
ovviamente prima di scrivere ho girato su npm, sul portale della cie, qui sul forum ecc. ecc.
Mi interessa leggere i dati per inserirli in un gestionale già esistente e creato appunto in node.js. Leggendo tra la documentazione ho visto che si può accedere ai dati sensibili o tramite pin (che da mia esperiezna nessuno o quasi sa che esiste) o tramite CAN.
CAN è il numero in basso a destra riportato sulla CIE.
Per ora sono riuscito ad interfacciarmi con il lettore e fargli riconoscere se c’è una card appoggiata o no. Ho necessità di capire come interfacciarmi per estrarre i dati.

nessun suggerimento?

Card Access Number (CAN) è il numero della carta, previsto dal protocollo Password Authenticated Connection Establishment (PACE), in alternativa alla Machine Readable Zone (MRZ) stampata sul retro . Oltre a quello, il programma dimostrativo del Python CIE3 SDK che hai indicato richiede anche la data di nascita e la data di scadenza del documento — con ciò completa i dati presenti sull’MRZ.