Come ottenere una CIE funzionante su Fedora 34
Tags: blog, security
Published: 2022-01-09 10:54:45

---
title: Come ottenere una CIE funzionante su Fedora 34
published: true
date: 2021-08-09 21:37:11 UTC
tags: Blog,Security
canonical_url: https://www.dontesta.it/2021/08/09/come-ottenere-una-cie-funzionante-su-fedora-34/
---

Finalmente il 26 luglio 2021 ho ottenuto la mia [**CIE (Carta d’Identità Elettronica)**](https://developers.italia.it/it/cie/) rilasciata dal Comune di Marino (RM). Appena arrivato a casa non ho perso un attimo e ho collegato il mio lettore [**miniLector CIE**](https://shop.bit4id.com/prodotto/minilector-cie/?utm_source=ref_blog&utm_medium=post&utm_campaign=ref_dontesta&utm_content=v1) di [Bit4id](https://www.bit4id.com/it/) alla mia [Workstation da Smart Worker](https://www.dontesta.it/2021/05/23/la-mia-workstation-di-sviluppo-da-smart-worker/) iniziando a fare i primi test.

In questo articolo vedremo come eseguire il setup del software necessario al corretto funzionamento della CIE su sistema operativo [Fedora 34](https://getfedora.org/it/workstation/download/).

Affinché sia possibile utilizzare la CIE, indipendentemente dal fatto che la usiate per accedere ai servizi della Pubblica Amministrazione, è necessario disporre di un lettore di Smart Card compatibile e del software d’interfaccia tra l’hardware e il sistema operativo. Nel mio caso dispongo dei seguenti “pezzi”:

- lettore di Smart Card [**miniLector CIE**](https://shop.bit4id.com/prodotto/minilector-cie/?utm_source=ref_blog&utm_medium=post&utm_campaign=ref_dontesta&utm_content=v1) di [Bit4id](https://www.bit4id.com/it/);
- sistema operativo Fedora 34.

Per quel che concerne il lettore di Smart Card, non sono richieste caratteristiche specifiche, è sufficiente che sia conforme allo standard internazionale [**PC/SC**](https://it.wikipedia.org/wiki/PC/SC) **(Personal Computer/Smart Card)** e alla norma **[ISO 7816-3](https://it.wikipedia.org/wiki/ISO/IEC_7816)**, e che sia compatibile con i più comuni sistemi operativi come Windows, Mac OS e Linux/Unix. La **caratteristica**  **fondamentale da prendere in considerazione**  è il supporto per il protocollo standard **[CCID](https://en.wikipedia.org/wiki/CCID_(protocol)) (Chip Card Interface Device)**. Il lettore in mio possesso è compatibile con lo standard CCID, non sarà quindi necessario installare i driver proprietari del lettore; i driver generici CCID sono in grado di far funzionare correttamente il lettore.

 

## 1. Verifica e installazione del software

La prima di verifica da eseguire consiste nell’accertarsi che il lettore di Smart Card sia correttamente visto dal sistema operativo. Fare questo tipo di controllo è abbastanza semplice, basta eseguire da terminale il comando `lsusb`. Dall’output del comando dovremmo essere in grado d’identificare il nostro lettore di Smart Card. La figura a seguire mostra l’esempio del mio lettore collegato alla mia workstation Fedora 34. Il nome “tecnico” del lettore Smart Card in uso è **BIT4I miniLector AIR NFC v3**.

 

[![Figura 1 - Controllo che il lettore Smart Card sia visibile a livello di Sistema Operativo](https://www.dontesta.it/wp-content/uploads/2021/08/linux_fedora_smart_card_cie_lsusb.png)](https://www.dontesta.it/wp-content/uploads/2021/08/linux_fedora_smart_card_cie_lsusb.png)

Figura 1 – Controllo che il lettore Smart Card sia visibile a livello di Sistema Operativo

 

Se volessimo ottenere più informazioni riguardo il nostro lettore, potremmo usare il comando lsusb in questa forma: `lsusb -v -s 3:6`. Lo switch _-s_ del comando, consente di specificare il dispositivo identificato tramite il bus e il device id, in questo caso rispettivamente 3 e 6. La figura a seguire mostra un estratto del comando precedente.

 

[![Figura 2 - Dettagli hardware sul lettore Smart Card connesso](https://www.dontesta.it/wp-content/uploads/2021/08/linux_fedora_smart_card_cie_lsusb_verbos.png)](https://www.dontesta.it/wp-content/uploads/2021/08/linux_fedora_smart_card_cie_lsusb_verbos.png)

Figura 2 – Dettagli hardware sul lettore Smart Card connesso

 

Una volta sicuri del fatto che il nostro lettore sia visto correttamente dal sistema operativo, allora, sarà possibile procedere con l’installazione del software della CIE. Questo software o middleware, consente di utilizzare la Carta d’Identità Elettronica per l’accesso sicuro in rete ai servizi web erogati dalla Pubblica Amministrazione da un PC mediante lo schema d’identificazione **Entra con CIE** , i cui dettagli sono riportati sul sito del [Ministero dell’Interno](https://www.cartaidentita.interno.gov.it/identificazione-digitale/entra-con-cie/).

Il middleware CIE è una libreria software che implementa le interfacce crittografiche standard [**PKCS#11**](https://en.wikipedia.org/wiki/PKCS_11) e [**CSP**](https://docs.microsoft.com/en-us/windows/win32/seccrypto/microsoft-cryptographic-service-providers). Esso consente agli applicativi integranti di utilizzare il certificato di autenticazione e la relativa chiave privata memorizzati sul chip della CIE astraendo dalle modalità di comunicazione di basso livello.

L’ultima versione del middleware è la 1.4.1 di cui è possibile scaricare il file [RPM](https://github.com/italia/cie-middleware-linux/releases/download/1.4.1/cie-middleware-1.4.1.rpm) pronto per poter essere installato sulla nostra Fedora 34. L’installazione è davvero semplice, basta eseguire il comando: `sudo rpm -i cie-middleware-1.4.1.rpm`. La figura a seguire mostra i file che il comando precedente installa. Sono evidenziati in particolare il file che implementa le API dello standard PKCS#11 e il file dell’applicazione desktop. L’applicazione desktop consente di gestire la CIE in termini di PIN, PUK, associazioni CIE e funzionalità di **Firma Elettronica Avanzata (FEA)**. La firma elettronica calcolata con la Carta d’Identità Elettronica è a tutti gli effetti una Firma Elettronica Avanzata, disciplinata all’interno del DPCM 22/02/2013, articolo 61.

 

[![Figura 3 - Lista dei file installati via RPM del middleware CIE](https://www.dontesta.it/wp-content/uploads/2021/08/linux_fedora_smart_card_cie_install_rpm.png)](https://www.dontesta.it/wp-content/uploads/2021/08/linux_fedora_smart_card_cie_install_rpm.png)

Figura 3 – Lista dei file installati via RPM del middleware CIE

 

Una volta installato il middleware CIE, possiamo eseguire un semplice test di lettura della propria CIE utilizzando il comando che fa parte della suite PKCS#11. Appoggiate quindi la CIE sul lettore e lanciate questo comando: `pkcs11-tool --module /usr/local/lib/libcie-pkcs11.so -I -L`. Quello che il comando restituirà, saranno informazioni circa: il modulo PKCS#11, il lettore utilizzato e il token, che rappresenta la CIE vera e propria. La figura a seguire mostra l’output del comando che riguarda il mio lettore e CIE.

 

[![Figura 4 - Estrazione informazioni di dettaglio su lettore Smart Card e CIE via PCKS#11 tool](https://www.dontesta.it/wp-content/uploads/2021/08/linux_fedora_smart_card_cie_pkcs_11_test.png)](https://www.dontesta.it/wp-content/uploads/2021/08/linux_fedora_smart_card_cie_pkcs_11_test.png)

Figura 4 – Estrazione informazioni di dettaglio su lettore Smart Card e CIE via PCKS#11 tool

 

Arrivati a questo punto, manca davvero pochissimo per utilizzare la CIE come mezzo di accesso ai servizi della Pubblica Amministrazione. Il prossimo passo da seguire è quello che viene definito **abbinamento** e può essere portato a termine utilizzando l’applicazione **CIE ID**. Per l’esecuzione di questo passo di configurazione vi lascio alla lettura del capitolo [5. Primo utilizzo della CIE](https://github.com/italia/cie-middleware-linux/releases/download/1.4.0/CIE.3.0.-.Manuale.d.uso.del.middleware.Linux.pdf) del manuale software CIE per Linux. Portato a termine il passo di abbinamento, il passo finale è la configurazione del browser per fare in modo che sia in grado di poter accedere alla CIE attraverso il lettore. Nel mio caso ho configurato Firefox e sul sito del Ministero dell’Interno è possibile trovare la guida completa su [come configurare il lettore di Smart Card](https://idserver.servizicie.interno.gov.it/idp/tutorial/computer/lettoreusb/linux/tutorial_linux_firefox.jsp).

 

## 2. Come usare la CIE con il progetto CIE/CNS Apache Docker

**“**** L’utente normale”** utilizzerebbe la sua CIE per accedere ai servizi della Pubblica Amministrazione, gente come noi, oltre a questo vorrebbe sperimentare altro.

Tre anni or sono ho pubblicato come [Developers Italia](https://developers.italia.it/) il progetto [**CIE/CNS Apache Docker**](https://github.com/italia/cie-cns-apache-docker). L’obiettivo di questo progetto è quello di fornire un  **template**  pronto all’uso che realizza un sistema di autenticazione tramite la Smart Card  **TS-CNS**  (o CNS) e la  **CIE**  (Carta d’Identità Elettronica) basato su [Apache HTTP](http://httpd.apache.org/docs/2.4/). Si tratta di un progetto [docker](https://www.docker.com/) per la creazione di un container che implementa un sistema di  **mutua autenticazione o autenticazione bilaterale SSL/TLS**. Questo meccanismo di autenticazione richiede anche il certificato digitale da parte del client, certificato che in questo caso risiede all’interno della TS-CNS o della CIE. Questo progetto è nato ancor prima di quello che viene definito [**Entra con CIE**](https://www.cartaidentita.interno.gov.it/identificazione-digitale/entra-con-cie/) e basato su [SAML](https://it.wikipedia.org/wiki/Security_Assertion_Markup_Language).

La particolarità del sistema implementato (attraverso questo container) è quella di consentire l’autenticazione tramite:

1. la **TS-CNS (Tessera Sanitaria – Carta Nazionale Servizi)**, rilasciata dalla regione di appartenenza;
2. la **CIE (Carta d’Identità Elettronica)**, rilasciata dal comune di residenza.

Il progetto è stato costruito in modo che consenta l’accesso a certificati che sono riconducibili esclusivamente a TS-CNS o CIE, inoltre esegue il controllo di revoca sfruttando il protocollo [**OCSP**](https://it.wikipedia.org/wiki/Online_Certificate_Status_Protocol). Uno dei possibili utilizzi è come **Reverse Proxy di autenticazione** (classico scenario [SSO](https://it.wikipedia.org/wiki/Single_sign-on)); una volta avvenuta con successo l’autenticazione, le richieste posso essere passate all’applicazione di backend con l’informazione di quale sia l’identificativo dell’utente appena autenticato, che nel caso di TS-CNS e CIE è il codice fiscale. La figura a seguire mostra la pagina a cui si accede solo dopo essere stati autenticati, con evidenza i dati dell’utente presenti sulla CIE o TS-CNS (in questo caso CIE). Per maggiori informazioni consiglio la lettura del [README](https://github.com/italia/cie-cns-apache-docker/blob/master/README.markdown) di progetto.

 

 ![Figura 5 - Accesso via CIE con visualizzazione delle informazioni di dettaglio](https://github.com/italia/cie-cns-apache-docker/raw/master/images/accesso_via_cie_docker_1_4.png)

Figura 5 – Accesso via CIE con visualizzazione delle informazioni di dettaglio

 

Sul mio canale YouTube potreste approfondire l’argomento seguendo il tutorial [Cos’è il progetto CIE/CNS Apache Docker – Developers Italia](https://www.youtube.com/watch?v=TcAzn1POhsM) dove affronto:

1. Introduzione al progetto
2. Overview su TS-CNS e CIE
3. Cos’è la Trust Service Status List
4. Struttura del Dockerfile
5. Struttura del progetto
6. Esecuzione dell’immagine Docker

 

## 3. Conclusioni

In questo breve articolo vi ho voluto fare partecipi della mia prima esperienza con la mia CIE su Fedora 34. Confesso che per fare i test dei vari progetti CIE dove sono stato coinvolto, ho usato la CIE di mio nipote ![🙂](https://s.w.org/images/core/emoji/13.0.1/72x72/1f642.png)

I campi di applicazione della CIE possono essere innumerevoli; sicuramente il primo a cui mi dedicherò appena possibile sarà quello della realizzazione di un sistema di accesso sfruttando un Raspberry Pi, analogo a quello realizzato usando la TS-CNS.

A seguire vi lascio una serie di risorse a scopo di appronfondimento.

1. Cos’è il progetto CIE/CNS Apache Docker ([http://bit.ly/3aJ5Gbl](https://www.youtube.com/redirect?event=video_description&redir_token=QUFFLUhqbjhjNFJyby1XLUNHRVUtQ2MzLXRYX19EZWZvQXxBQ3Jtc0tsdW5QZE9aUjVXek0talVTaFZoYmYxYVc3bjZKbndhS3NaWmpXOE9Bb1JMTGhEdU5nRG9RRnVSbDJZelVJekJyQUoyQm9kNHNPS1pnQ3RKc0RxLTV2Tk1LUm1sLVJDdzVUaUZnUXVUSE8xQ0lYbnluQQ&q=http%3A%2F%2Fbit.ly%2F3aJ5Gbl))
2. CIE Carta d’Identità Elettronica ([https://developers.italia.it/it/cie/](https://www.youtube.com/redirect?event=video_description&redir_token=QUFFLUhqa0dHcUNvU2gtX2VSMHpKMVZZRzB4Zlh3dk5NUXxBQ3Jtc0trR2xsWFpSSWs3MlRCaENQUVdSZlB6ODNOWFg4dXVDMFllZ1NLOUhqelRWXzlJMTg4MXRvbUpsdnhqYktUUXdFZXA2a2kxQnRRaXRUd1pUUl9mck53d3RiUVFlbmx3N29HLWRCeG53YnVBZHNJUDYtSQ&q=https%3A%2F%2Fdevelopers.italia.it%2Fit%2Fcie%2F))
3. Carta Nazionale dei Servizi ([https://www.agid.gov.it/it/piattaform…](https://www.youtube.com/redirect?event=video_description&redir_token=QUFFLUhqbTlCS1FiT0pGejNZZGhmSkpnWDFxcVFmNlhCQXxBQ3Jtc0tsaGxOOFBiRXI1elhyUUFxa1lNUy1qUzlRTFFXQzRHZWp0Wnh5ZElfRklxaHJfU0R3LW4yMjBiZUkwNTI2a2V3LTlBcDB0OHFSaGxubV9GZnhGaVlITFhzNjRObXNicHJVbW5mYUE4dDdNTGRNTV9jcw&q=https%3A%2F%2Fwww.agid.gov.it%2Fit%2Fpiattaforme%2Fcarta-nazionale-servizi))
4. Raspberry Pi – Un esempio di applicazione della TS-CNS ([https://bit.ly/3hkJ8Aj](https://www.youtube.com/redirect?event=video_description&redir_token=QUFFLUhqbUdTRlhycC14dmF6dmpTQ0pZSGxPTklEY0ZZUXxBQ3Jtc0trTEYya25KaEFXdDZQQk1jcklHUzNKSTJVUTRCMkU2TXRBTWtsMmxXSmtmRWxCWVJnRW4wVlgzMzNndGpyQWFNbXdRQjRWY0F6MG1WQWpsYjFzczlJbWZJSWs3d3loQXl6TjVmeGdOWDJhZW1wR0J0SQ&q=https%3A%2F%2Fbit.ly%2F3hkJ8Aj))
5. [Raspberry Pi: Come installare il miniLector CIE su Ubuntu Server 20.04 LTS](https://www.dontesta.it/2020/11/04/raspberry-pi-come-installare-minilector-cie-ubuntu-server-20-04-lts/)
6. Pubblicare il servizio CIE/CNS Apache Docker su Azure Cloud ([http://bit.ly/3aPoq8V](https://www.youtube.com/redirect?event=video_description&redir_token=QUFFLUhqbTBPUUQxMEVLU0pmVl85UFJwdEtPNXAtVHdQQXxBQ3Jtc0tuVzl6VXNYYW1vQmRfM3NOZEF4NnVFZHdQX2JzTHZzN05YYnVaakdZdjdDdkFFcDdFZmlvMXJzVTJNZ1hsbHdMWmFwTG5KT2Z4Z2Y3c2NnWko1R2c3UjlXZzdLem1ZdTJCOGNtdmp3OG44ajhHYVF2MA&q=http%3A%2F%2Fbit.ly%2F3aPoq8V))
7. Come accedere al portale VETINFO tramite TS-CNS e Mac OS ([http://bit.ly/2VFMKq7](https://www.youtube.com/redirect?event=video_description&redir_token=QUFFLUhqa0FFOU1tRElqTHJCVUpKaFduekd1cGF3WjYxQXxBQ3Jtc0tsMTIyTllETUdEOXluemVtdWZZaHM3RE5uaEVxQWYzY1JPQmtrX2xpT3NDblBhMHhaZ1RLTXBhejdoTTE0TmotSTN1eG5abi1VYk02UmxDeWxvdURaY2lDLXRHenFSb0d3OFRLb19feElReW96c0lkTQ&q=http%3A%2F%2Fbit.ly%2F2VFMKq7))
8. [Carta d’Identità Elettronica: come accedere ai servizi online con la CIE](https://blog.bit4id.com/carta-didentita-elettronica-come-accedere-ai-servizi-online-con-la-cie-parte-1/?utm_source=blog&utm_medium=post&utm_campaign=ref_dontesta&utm_content=v1)
9. [CIEfacile](https://shop.bit4id.com/soluzioni-per-la-carta-didentita-elettronica/?utm_source=blog&utm_medium=post&utm_campaign=ref_dontesta&utm_content=v1)

 

L'articolo [Come ottenere una CIE funzionante su Fedora 34](https://www.dontesta.it/2021/08/09/come-ottenere-una-cie-funzionante-su-fedora-34/) sembra essere il primo su [Antonio Musarra's Blog](https://www.dontesta.it).

[![](http://feeds.feedburner.com/~ff/dontesta/blog?d=yIl2AUoC8zA)](http://feeds.feedburner.com/~ff/dontesta/blog?a=zL9cnySDlO0:KdKilj5fnvM:yIl2AUoC8zA) [![](http://feeds.feedburner.com/~ff/dontesta/blog?d=dnMXMwOfBR0)](http://feeds.feedburner.com/~ff/dontesta/blog?a=zL9cnySDlO0:KdKilj5fnvM:dnMXMwOfBR0) [![](http://feeds.feedburner.com/~ff/dontesta/blog?i=zL9cnySDlO0:KdKilj5fnvM:D7DqB2pKExk)](http://feeds.feedburner.com/~ff/dontesta/blog?a=zL9cnySDlO0:KdKilj5fnvM:D7DqB2pKExk) [![](http://feeds.feedburner.com/~ff/dontesta/blog?d=YwkR-u9nhCs)](http://feeds.feedburner.com/~ff/dontesta/blog?a=zL9cnySDlO0:KdKilj5fnvM:YwkR-u9nhCs) [![](http://feeds.feedburner.com/~ff/dontesta/blog?i=zL9cnySDlO0:KdKilj5fnvM:F7zBnMyn0Lo)](http://feeds.feedburner.com/~ff/dontesta/blog?a=zL9cnySDlO0:KdKilj5fnvM:F7zBnMyn0Lo) [![](http://feeds.feedburner.com/~ff/dontesta/blog?i=zL9cnySDlO0:KdKilj5fnvM:V_sGLiPBpWU)](http://feeds.feedburner.com/~ff/dontesta/blog?a=zL9cnySDlO0:KdKilj5fnvM:V_sGLiPBpWU) [![](http://feeds.feedburner.com/~ff/dontesta/blog?d=qj6IDK7rITs)](http://feeds.feedburner.com/~ff/dontesta/blog?a=zL9cnySDlO0:KdKilj5fnvM:qj6IDK7rITs) [![](http://feeds.feedburner.com/~ff/dontesta/blog?i=zL9cnySDlO0:KdKilj5fnvM:KwTdNBX3Jqk)](http://feeds.feedburner.com/~ff/dontesta/blog?a=zL9cnySDlO0:KdKilj5fnvM:KwTdNBX3Jqk) [![](http://feeds.feedburner.com/~ff/dontesta/blog?i=zL9cnySDlO0:KdKilj5fnvM:gIN9vFwOqvQ)](http://feeds.feedburner.com/~ff/dontesta/blog?a=zL9cnySDlO0:KdKilj5fnvM:gIN9vFwOqvQ)
 ![](http://feeds.feedburner.com/~r/dontesta/blog/~4/zL9cnySDlO0)