Skip to content
Middleware della CIE (Carta di Identità Elettronica) per Linux
C++ C Java Other
Branch: master
Clone or download
Latest commit 0124c49 Jul 2, 2019

README.md

Join the #cie-middleware channel Get invited CIE on forum.italia.it Build Status

Middleware della CIE (Carta di Identità Elettronica) per Windows e Linux

MIDDLEWARE CSP-PKCS11 PER LA CIE 3.0 Build status

VERSIONE BETA

Il middleware qui presente è in fase di sviluppo, ed è da considerarsi in versione beta. È possibile effettuare tutti gli sviluppi e i test, ma è per ora questa base di codice non è consigliabile per l'uso in produzione.

CASO D’USO

Il middleware CIE è una libreria software che implementa le interfacce crittografiche standard PKCS#11 e CSP. 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.

ARCHITETTURA

La libreria è sviluppata in C++ e supporta i sistemi oprativi Windows e Linux.

WINDOWS

La libreria è sviluppata in C++ su Visual Studio 15 2017 Community; per compilare il modulo di installazione (progetto Setup) è inoltre necessario NSIS 3.02.1. Allo stato attuale è utilizzabile esclusivamente in ambiente Windows. Entrambe le interfacce sono esposte della stessa libreria (CIEPKI.dll), che viene compilata dal progetto CSP. La libreria viene compilata sia in versione a 32 bit che a 64 bit. L’interfaccia CSP è conforme alla versione 7 delle specifiche dei Minidriver pubblicate da Microsoft a questo indirizzo. L’interfaccia PKCS11 è conforme alla specifica RSA 2.11.

CSP

Il Minidriver CIE gestisce la carta in modalità Read-Only, come previsto dalle specifiche §7.4, pertanto i comandi di creazione e cancellazione di oggetti non sono supportati. Si faccia riferimento alla specifica Microsoft per i dettagli su quali operazioni possono essere effettuate su una carta Read Only. Il modulo CSP implementa anche uno store provider per i certificati, in modo tale da non richiedere l’operazione di propagazione dei certificati nello store di sistema.

PKCS11

Allo stesso modo del CSP, anche il PKCS11 gestisce la carta in modalità read-only. Pertanto le operazioni di creazione, modifica e distruzione di qualsiasi oggetto restituiranno un errore.

Setup

Il modulo di installazione del Middleware si compila tramite il progetto Setup, che richiede l'installazione di NSIS 3.02.1. Il setup installa sia la versione a 32 che a 64 bit, ed effettua la registrazione del CSP e dello Store provider. Il modulo PKCS11 non richiede registrazione, ma il nome del modulo (CIEPKI.dll) deve essere noto alle applicazioni che lo utilizzano.

LINUX

Prerequisiti

Fare riferimento al packet manager della propria distribuzione:

  • demone pcscd. Di solito è già presente e viene lanciato come servizio automaticamente
  • pcsclite-dev per la comunicazione con la smartcard
  • per l'interfaccia grafica uno dei seguenti programmi eseguibili: zenity oppure kdialog (quest'ultimo con qdbus)
  • openssl-dev (contenente libcrypto)
  • cmake

Build

da terminale, spostarsi nella root del progetto e digitare:

mkdir build && cd build
cmake .. && make

alla fine della build saranno presenti i file libciepki.so e gli eseguibili di test e sblocco/cambio PIN.

You can’t perform that action at this time.