Windows KSP en PKCS#11 met PKI Proxy¶
Dit document legt het gebruik uit van PKI Proxy met NetHSM. PKI Proxy maakt het gebruik van NetHSM mogelijk via de native Microsoft Windows API’s. Voor dit doel bevat PKI Proxy een KSP (Key Storage Provider) die het gebruik via de CNG (Cryptography API: Next Generation) interface mogelijk maakt. Daarnaast biedt het PKCS#11 toegang tot de NetHSM, maar dit moet alleen worden gebruikt als je opstelling dit vereist, bijvoorbeeld als je de extra authenticatiefuncties van PKI Proxy nodig hebt, of als je PKI Proxy als gateway wilt gebruiken om te voorkomen dat de NetHSM direct aan clients wordt blootgesteld. Gebruik in alle andere gevallen het NetHSM PKCS#11 stuurprogramma direct.
De implementatie van NetHSM met PKI Proxy ziet er als volgt uit.
De NetHSM levert de REST API die wordt gebruikt door de NetHSM PKCS#11 driver. PKI Proxy gebruikt dit stuurprogramma om verbinding te maken met de NetHSM en toegang te krijgen tot zijn sleutels en certificaten. Cliënten van de PKI Proxy gebruiken de REST API van de PKI Proxy server om toegang te krijgen tot de sleutels en certificaten. Toepassingen op de client kunnen de native Windows API of een PKCS#11 driver gebruiken. De communicatie tussen de NetHSM en PKI Proxy server en PKI Proxy clients is versleuteld. PKI Proxy server en client kunnen op dezelfde computer worden uitgevoerd.
Mogelijke gebruikssituaties voor deze opstelling zijn:
Code signing
Document signing
Tip
Raadpleeg ook de officiële PKI Proxy documentatie voor meer informatie.
Prerequisits¶
NetHSM (hardware of containerized) - Provisioned - IP adres van de NetHSM moet bekend zijn en de HTTPS poort moet bereikbaar zijn.
Windows-machine - Nitrokey NetHSM PKCS#11 stuurprogramma geïnstalleerd en geconfigureerd (alleen vereist op de PKI Proxy Server).
Belangrijk
Op sommige machines kan de PKI Proxy Server crashen tijdens de unload-procedure van de NetHSM PKCS#11 module. Dit is een bug in een afhankelijkheid van de module en getracked in dit GitHub issue. Als je deze bug tegenkomt, stel dan disable_thread_pool configuratieoptie in op true in je NetHSM PKCS#11 configuratiebestand. Raadpleeg het voorbeeld configuratiebestand voor een beter begrip van hoe het geconfigureerd moet worden.
PKI-proxy - server¶
De PKI-proxyserver deelt de sleutels en certificaten van een NetHSM voor verschillende gebruikers.
Installatie¶
Download the PKI Proxy 2024 installer from the /n software website.
Open het installatieprogramma en volg de installatiewizard.
Open PKI Proxy in het menu Start. Als je het op de standaardlocatie hebt geïnstalleerd, kun je het ook uitvoeren met de volgende opdracht vanuit het dialoogvenster Uitvoeren of de PowerShell.
C:\Program Files\PKI Proxy 2024\PKIProxy.exeNotitie
PKI Proxy wordt geminimaliseerd naar het systeemvak, zelfs als het hoofdvenster gesloten is.
Service Configuration¶
De onderstaande instructies configureren de PKI Proxy.
Open the PKI Proxy main window.
Change to the Settings tab.
Zorg ervoor dat het selectievakje Enable TLS is aangevinkt en dat er een geschikt certificaat wordt gebruikt.
Change to the Users tab.
Maak een nieuwe gebruiker aan door te klikken op de knop New…. Kies een verificatietype dat door alle clients wordt ondersteund.
Klik in de menubalk van het hoofdvenster op de knop Start om de PKI Proxy-service te starten.
Publish Certificates from the NetHSM¶
In het volgende configureren we welke certificaten van de NetHSM beschikbaar worden gemaakt via PKI Proxy.
Zorg ervoor dat het hoofdvenster van PKI Proxy geopend is.
Change to the Certificates tab.
Klik op de knop New…. Hiermee wordt het venster Aandeelcertificaat geopend.
Klik op de knop Certificaat of sleutel selecteren… in het kader Certificaat van het venster. Hierdoor wordt het venster Select a Private Key geopend.
Ga naar het tabblad Security Key.
Klik op de knop Browse… en selecteer het NetHSM PKCS#11 stuurprogrammabibliotheekbestand. Het tekstveld PKCS#11 Library toont nu het pad naar het bibliotheekbestand.
Kies uit het vervolgkeuzemenu Security Key (PKCS#11) de sleuf die het certificaat bevat. De weergegeven sleuven zijn afhankelijk van uw configuratie van de PKCS#11-module.
Click the Open button.
De tekstlijst onder Certificates toont nu een lijst met de beschikbare certificaten en generieke sleutels op de NetHSM. Selecteer het certificaat of de generieke sleutel die je wilt delen met PKI Proxy.
Klik op de knop OK om de selectie te bevestigen. U keert nu terug naar het venster Aandeelcertificaat. Het venster toont nu de details van het geselecteerde certificaat.
Klik op de knop Add… in het kader Access and Permissions van het venster. Hierdoor wordt het venster Gebruiker selecteren geopend.
Selecteer een bestaande gebruiker in het vervolgkeuzemenu of maak een nieuwe gebruiker aan door te kiezen voor Nieuwe gebruiker maken…. Klik op de knop OK om de selectie te bevestigen. Als u ervoor kiest om een nieuwe gebruiker aan te maken, wordt daarna het venster Nieuwe gebruiker weergegeven.
Zorg er in het venster Share Certificate ook voor dat alleen de vereiste bewerkingen voor het certificaat of de generieke sleutel zijn toegestaan. Dit kan worden gewijzigd met de selectievakjes onderaan het kader Access and Permissions.
Klik op de knop OK om het certificaat te publiceren. Dit brengt je terug naar het hoofdvenster van PKI Proxy.
De tekstlijst onder Certificaatbeheer toont nu het gepubliceerde certificaat.
Belangrijk
Zorg ervoor dat de mechanismen van de gedeelde sleutel op de NetHSM het beoogde gebruik in PKI Proxy mogelijk maken.
PKI Proxy - Klant¶
De PKI Proxy client tools bieden verschillende manieren om toegang te krijgen tot de gedeelde sleutels en certificaten van een PKI Proxy server.
Tip
De PKI Proxy server bevat de client tools. De machine waarop de server draait kan dus ook een client voor zichzelf zijn.
Installatie¶
Download de PKI Proxy 2024 - Client Tools van de /n softwarewebsite.
Open het installatieprogramma en volg de installatiewizard.
KSP (Key Storage Provider)¶
PKI Proxy biedt een KSP om te interfacen met de PKI Proxy server. De KSP maakt het mogelijk om native Windows API’s te gebruiken met toepassingen via de CNG (Cryptography API: Next Generation) interface. Raadpleeg de PKI Proxy documentatie voor meer informatie.
PKCS#11¶
PKI Proxy biedt een PKCS#11 module om te interfacen met de PKI Proxy server. Raadpleeg de PKI Proxy documentatie voor meer informatie.