{"id":16562240,"url":"https://github.com/afilini/cie-mrtd-python-sdk","last_synced_at":"2026-05-15T22:33:45.126Z","repository":{"id":43276199,"uuid":"106096560","full_name":"afilini/cie-mrtd-python-sdk","owner":"afilini","description":"Libreria leggera e portabile in Python per l'estrazione delle informazioni contenute nella CIE 3.0, con e senza autenticazione EAC.","archived":false,"fork":false,"pushed_at":"2018-11-30T14:38:06.000Z","size":72,"stargazers_count":3,"open_issues_count":0,"forks_count":1,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-07-11T04:40:39.629Z","etag":null,"topics":["cie","hackathon","hackdev17","italia","mrz","nfc","opencv","python"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/afilini.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2017-10-07T12:34:46.000Z","updated_at":"2022-08-03T15:49:59.000Z","dependencies_parsed_at":"2022-09-01T07:00:16.646Z","dependency_job_id":null,"html_url":"https://github.com/afilini/cie-mrtd-python-sdk","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/afilini/cie-mrtd-python-sdk","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/afilini%2Fcie-mrtd-python-sdk","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/afilini%2Fcie-mrtd-python-sdk/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/afilini%2Fcie-mrtd-python-sdk/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/afilini%2Fcie-mrtd-python-sdk/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/afilini","download_url":"https://codeload.github.com/afilini/cie-mrtd-python-sdk/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/afilini%2Fcie-mrtd-python-sdk/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":276929648,"owners_count":25730216,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-25T02:00:09.612Z","response_time":80,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cie","hackathon","hackdev17","italia","mrz","nfc","opencv","python"],"created_at":"2024-10-11T20:35:29.902Z","updated_at":"2025-09-25T14:10:37.891Z","avatar_url":"https://github.com/afilini.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Python CIE3 SDK   [![Build Status](https://travis-ci.org/afilini/cie-mrtd-python-sdk.svg?branch=master)](https://travis-ci.org/afilini/cie-mrtd-python-sdk)\n\nLibreria leggera e portabile in Python per l'estrazione delle informazioni contenute nella CIE 3.0, con e senza autenticazione EAC.\n\n\n## Installazione\n\nPer iniziare installa tutte le dipendenze tramite il gestore di pacchetti `pip`, con il comando:\n\n```\npip install -r requirements.txt\n```\n\n## Esempio\n\nIl file `main.py` contiene un brevissimo esempio che mostra l'estrazione dei dati dalla CIE tramite autenticazione EAC.\n\n## Struttura\n\nL'intera libreria è strutturata attorno alla classe `CIEInterface` che espone molti metodi utili per inviare comandi alla CIE.\n\nAl momento della creazione di un'istanza di `CIEInterface`, il costruttore tenterà di aprire una connessione con un lettore NFC compatibile e si metterà in attesa di rilevare una carta. Il massimo tempo di attesa è attualmente di 3 secondi.\n\nUna volta rilevata la carta il costruttore termina l'esecuzione.\n\nI metodi a disposizione dell'utilizzatore sono i seguenti:\n\n* `CIEInterface.readNIS()`: Legge la sezione `EF.ID_Servizi` della carta, ovvero l'id univoco della carta.\n* `CIEInterface.randomNumber()`: Invia un APDU alla carta chiedendo al microprocessore di generare un numero casuale.\n* `CIEInterface.mrtdAuth(birthStr, expireStr, pnStr)`: esegue l'autenticazione tramite i dati contenuti nell'MRZ, per poter accedere alle informazioni aggiuntive presenti sulla carta. I parametri sono stringhe, nel caso delle date in formato `YYMMDD`, mentre `pnStr` è semplicemente il numero della CIE.\n* `CIEInterface.extractData()`: estrae i dati aggiuntivi disponibili dopo l'unlock della carta. A secodna delle informazioni disponibili vengono estratti:\n\t* `mrz`: Stringa identica all'`MRZ` stampato sulla carta\n\t* `additional_details`: Informazioni aggiuntive sul cittadino, come ad esempio l'indirizzo di residenza\n\t* `photo`: `bytearray` contenete l'immagine in formato JPEG2000. Per comodità l'immagine viene anche salvata su disco nel file `img.jpeg`.\n\n## Supporto\n\nLa libreria è stata testata con successo su Python `2.7.14` su sistema `macOS`, ma vista la semplicità è molto probabile che funzioni nativamente anche su altre versioni.\t\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fafilini%2Fcie-mrtd-python-sdk","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fafilini%2Fcie-mrtd-python-sdk","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fafilini%2Fcie-mrtd-python-sdk/lists"}