Windows KSP e PKCS#11 con PKI Proxy¶
Questo documento spiega l’uso di PKI Proxy con NetHSM. PKI Proxy consente l’utilizzo di NetHSM attraverso le API native di Microsoft Windows. A tale scopo, PKI Proxy include un KSP (Key Storage Provider) che ne consente l’uso tramite l’interfaccia CNG (Cryptography API: Next Generation). Inoltre fornisce l’accesso PKCS#11 al NetHSM, ma questo dovrebbe essere usato solo se la vostra configurazione lo richiede, ad esempio se avete bisogno delle funzioni di autenticazione aggiuntive di PKI Proxy, o se volete usare PKI Proxy come gateway per evitare di esporre direttamente il NetHSM ai clienti. In tutti gli altri casi, utilizzare direttamente il driver NetHSM PKCS#11.
La distribuzione di NetHSM con PKI Proxy si presenta come segue.
NetHSM fornisce l’API REST utilizzata dal driver NetHSM PKCS#11. Il PKI Proxy utilizza questo driver per connettersi al NetHSM e accedere alle sue chiavi e ai suoi certificati. I client del PKI Proxy utilizzano l’API REST del server PKI Proxy per accedere alle chiavi e ai certificati. Le applicazioni sul client possono utilizzare l’API nativa di Windows o un driver PKCS#11. La comunicazione tra il server NetHSM e PKI Proxy e i client PKI Proxy è crittografata. Il server PKI Proxy e il client possono essere eseguiti sullo stesso computer.
I possibili casi d’uso di questa configurazione sono:
Code signing
Document signing
Suggerimento
Per ulteriori informazioni, consultare la documentazione ufficiale di PKI Proxy.
Prerequisits¶
NetHSM (hardware o containerizzato) - Provisionato - L’indirizzo IP del NetHSM deve essere noto e la porta HTTPS deve essere raggiungibile.
Macchina Windows - Driver NetHSM PKCS#11 installato e configurato (necessario solo sul PKI Proxy Server).
Importante
Su alcuni computer il PKI Proxy Server può bloccarsi durante la procedura di scarico del modulo PKCS#11 di NetHSM. Si tratta di un bug in una dipendenza del modulo, rintracciato in questo problema di GitHub. Se si riscontra questo bug, impostare l’opzione di configurazione disable_thread_pool a true nel file di configurazione di NetHSM PKCS#11. Fare riferimento al file di configurazione di esempio ` <https://github.com/Nitrokey/nethsm-pkcs11/blob/main/p11nethsm.example.conf>` __ per capire meglio come configurarlo.
Proxy PKI - Server¶
Il server PKI Proxy condivide le chiavi e i certificati di un NetHSM per diversi utenti.
Installazione¶
Download the PKI Proxy 2024 installer from the /n software website.
Aprire il programma di installazione e seguire la procedura guidata.
Aprire PKI Proxy dal menu Start. Se è stato installato nella posizione predefinita, è anche possibile eseguirlo con il seguente comando dalla finestra di dialogo Run o da PowerShell.
C:\Program Files\PKI Proxy 2024\PKIProxy.exeNota
PKI Proxy si riduce a icona nella barra delle applicazioni, anche se la finestra principale è chiusa.
Service Configuration¶
Le istruzioni seguenti configurano il PKI Proxy.
Open the PKI Proxy main window.
Change to the Settings tab.
Assicurarsi che la casella di controllo Enable TLS sia selezionata e che venga utilizzato un certificato appropriato.
Change to the Users tab.
Creare un nuovo utente facendo clic sul pulsante New…. Scegliere un tipo di autenticazione supportato da tutti i client.
Nella barra dei menu della finestra principale, fare clic sul pulsante Start per avviare il servizio PKI Proxy.
Publish Certificates from the NetHSM¶
Di seguito configuriamo quali certificati del NetHSM sono resi disponibili tramite PKI Proxy.
Assicurarsi che la finestra principale di PKI Proxy sia aperta.
Change to the Certificates tab.
Fare clic sul pulsante Nuovo…. Si aprirà la finestra Share Certificate.
Fare clic sul pulsante Select Certificate or Key…, nel riquadro Certificate della finestra. Si aprirà la finestra Seleziona una chiave privata.
Passare alla scheda Security Key.
Fare clic sul pulsante Browse… e selezionare il file di libreria del driver PKCS#11 di NetHSM. Il campo di testo PKCS#11 Library mostra ora il percorso del file di libreria.
Dal menu a discesa Chiave di sicurezza (PKCS#11) scegliere lo slot che contiene il certificato. Gli slot elencati dipendono dalla configurazione del modulo PKCS#11.
Click the Open button.
L’elenco di testo sotto Certificates mostra ora un elenco dei certificati e delle chiavi generiche disponibili su NetHSM. Selezionare il certificato o la chiave generica che si desidera condividere con PKI Proxy.
Fare clic sul pulsante OK per confermare la selezione. In questo modo si tornerà alla finestra Certificato azionario. La finestra mostrerà ora i dettagli del certificato selezionato.
Fate clic sul pulsante Add…, nel riquadro Access and Permissions della finestra. Si aprirà la finestra Selezionare l’utente.
Selezionate un utente esistente dal menu a discesa, oppure createne uno nuovo scegliendo Create New User…. Fare clic sul pulsante OK per confermare la selezione. Se si sceglie di creare un nuovo utente, verrà visualizzata la finestra New User.
Nella finestra Share Certificate assicurarsi di consentire solo le operazioni richieste per il certificato o la chiave generica. Questo può essere modificato con le caselle di controllo in fondo al riquadro Access and Permissions.
Fare clic sul pulsante OK per pubblicare il certificato. Si torna così alla finestra principale di PKI Proxy.
L’elenco di testo sotto Gestione certificati mostra ora il certificato pubblicato.
Importante
Assicurarsi che i meccanismi della chiave condivisa sul NetHSM consentano l’uso previsto in PKI Proxy.
Proxy PKI - Cliente¶
Gli strumenti client di PKI Proxy offrono diversi modi per accedere alle chiavi condivise e ai certificati di un server PKI Proxy.
Suggerimento
Il server PKI Proxy contiene gli strumenti client. Pertanto, la macchina che esegue il server può essere anche un client per se stessa.
Installazione¶
Scaricare PKI Proxy 2024 - Client Tools dal sito /n del software.
Aprire il programma di installazione e seguire la procedura guidata.
KSP (Key Storage Provider)¶
PKI Proxy fornisce un KSP per interfacciarsi con il server PKI Proxy. Il KSP consente di utilizzare le API native di Windows con le applicazioni, attraverso l’interfaccia CNG (Cryptography API: Next Generation). Per ulteriori informazioni, consultare la documentazione di PKI Proxy.
PKCS#11¶
PKI Proxy fornisce un modulo PKCS#11 per interfacciarsi con il server PKI Proxy. Per ulteriori informazioni, consultare la documentazione di PKI Proxy.