/cie-middleware

Middleware della CIE (Carta di identità elettronica)

Primary LanguageCBSD 3-Clause "New" or "Revised" LicenseBSD-3-Clause

MIDDLEWARE CSP-PKCS11 PER LA CIE 3.0

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++ su Visual Studio 2013; per compilare il modulo di installazione (progetto Setup) è inoltre necessaria l'estensione Visual Studio 2013 Installer Projects. 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. Il progetto CSP ha un’unica dipendenza esterna: OpenSSL, versione 1.0.2k (LTS), a 32 e 64 bit. La libreria viene linkata staticamente, quindi non è necessaria la presenza delle librerie a runtime.

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 dell'estensione Visual Studio 2013 Installer Projects. 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.