Windows KSP und PKCS#11 mit PKI-Proxy

Dieses Dokument erläutert die Verwendung von PKI Proxy mit NetHSM. PKI Proxy ermöglicht die Nutzung von NetHSM über die nativen Microsoft Windows APIs. Zu diesem Zweck enthält PKI Proxy einen KSP (Key Storage Provider), der die Nutzung über die CNG (Cryptography API: Next Generation) Schnittstelle ermöglicht. Zusätzlich bietet er PKCS#11-Zugriff auf den NetHSM, der jedoch nur verwendet werden sollte, wenn Ihre Einrichtung dies erfordert, z. B. wenn Sie die zusätzlichen Authentifizierungsfunktionen von PKI Proxy benötigen oder wenn Sie PKI Proxy als Gateway verwenden möchten, um zu vermeiden, dass der NetHSM den Clients direkt ausgesetzt wird. In allen anderen Fällen verwenden Sie den NetHSM PKCS#11-Treiber direkt.

Der Einsatz von NetHSM mit PKI Proxy sieht folgendermaßen aus.

Verbindung zwischen NetHSM und PKI Proxy Server, Client und offenen Client-Schnittstellen.

Der NetHSM stellt die REST-API bereit, die vom NetHSM PKCS#11-Treiber verwendet wird. PKI Proxy verwendet diesen Treiber, um sich mit dem NetHSM zu verbinden und auf dessen Schlüssel und Zertifikate zuzugreifen. Clients des PKI-Proxy verwenden die REST-API des PKI-Proxy-Servers für den Zugriff auf die Schlüssel und Zertifikate. Anwendungen auf dem Client können entweder die native Windows-API oder einen PKCS#11-Treiber verwenden. Die Kommunikation zwischen dem NetHSM- und PKI-Proxy-Server und den PKI-Proxy-Clients ist verschlüsselt. PKI-Proxy-Server und -Client können auf demselben Computer ausgeführt werden.

Mögliche Anwendungsfälle für diese Einrichtung sind:

  • Code signing

  • Document signing

Tipp

Weitere Informationen finden Sie auch in der offiziellen Dokumentation PKI Proxy.

Prerequisits

  • NetHSM (Hardware oder containerisiert) - Bereitgestellt - Die IP-Adresse des NetHSM muss bekannt und der HTTPS-Port erreichbar sein.

  • Windows-Rechner - Nitrokey NetHSM PKCS#11-Treiber installiert und konfiguriert (nur auf dem PKI-Proxy-Server erforderlich).

Wichtig

Auf einigen Rechnern kann der PKI Proxy Server während des Entladevorgangs des NetHSM PKCS#11 Moduls abstürzen. Dies ist ein Fehler in einer Abhängigkeit des Moduls und wird in diesem GitHub issue verfolgt. Wenn Sie auf diesen Fehler stoßen, setzen Sie bitte disable_thread_pool Konfigurationsoption auf true in Ihrer NetHSM PKCS#11-Konfigurationsdatei. Bitte schauen Sie sich die Beispielkonfigurationsdatei an, um besser zu verstehen, wie man sie konfiguriert.

PKI-Vollmacht - Server

Der PKI-Proxy-Server gibt die Schlüssel und Zertifikate von einem NetHSM für verschiedene Benutzer frei.

Installation

  1. Download the PKI Proxy 2024 installer from the /n software website.

  2. Öffnen Sie das Installationsprogramm und folgen Sie den Anweisungen des Installationsassistenten.

  3. Öffnen Sie PKI Proxy über das Startmenü. Wenn Sie ihn am Standardspeicherort installiert haben, können Sie ihn auch mit dem folgenden Befehl aus dem Dialog Run oder der PowerShell ausführen.

    C:\Program Files\PKI Proxy 2024\PKIProxy.exe
    

    Bemerkung

    PKI Proxy wird in die Taskleiste minimiert, auch wenn das Hauptfenster geschlossen ist.

Service Configuration

Die folgenden Anweisungen konfigurieren den PKI-Proxy.

  1. Open the PKI Proxy main window.

  2. Change to the Settings tab.

  3. Vergewissern Sie sich, dass das Kontrollkästchen TLS aktivieren aktiviert ist und ein geeignetes Zertifikat verwendet wird.

  4. Change to the Users tab.

  5. Erstellen Sie einen neuen Benutzer, indem Sie auf die Schaltfläche New… klicken. Wählen Sie eine Authentifizierungsart, die von allen Clients unterstützt wird.

  6. Klicken Sie in der Menüleiste des Hauptfensters auf die Schaltfläche Start, um den PKI-Proxy-Dienst zu starten.

Publish Certificates from the NetHSM

Im Folgenden wird konfiguriert, welche Zertifikate vom NetHSM über den PKI Proxy zur Verfügung gestellt werden.

  1. Stellen Sie sicher, dass das Hauptfenster von PKI Proxy geöffnet ist.

  2. Change to the Certificates tab.

  3. Klicken Sie auf die Schaltfläche Neu…. Daraufhin wird das Fenster Aktienzertifikat geöffnet.

  4. Klicken Sie auf die Schaltfläche Zertifikat oder Schlüssel auswählen… im Rahmen Zertifikat des Fensters. Daraufhin wird das Fenster Privaten Schlüssel auswählen geöffnet.

  5. Wechseln Sie zur Registerkarte Sicherheitsschlüssel.

  6. Klicken Sie auf die Schaltfläche Durchsuchen… und wählen Sie die NetHSM PKCS#11-Treiberbibliotheksdatei aus. Im Textfeld PKCS#11 Library wird nun der Pfad zur Bibliotheksdatei angezeigt.

  7. Wählen Sie aus dem Dropdown-Menü Security Key (PKCS#11) den Steckplatz, der das Zertifikat enthält. Die aufgelisteten Slots hängen von Ihrer Konfiguration des PKCS#11-Moduls ab.

  8. Click the Open button.

  9. Die Textliste unter Certificates zeigt nun eine Liste der verfügbaren Zertifikate und generischen Schlüssel auf dem NetHSM. Wählen Sie das Zertifikat oder den generischen Schlüssel aus, das/den Sie für den PKI-Proxy freigeben möchten.

  10. Klicken Sie auf die Schaltfläche OK, um die Auswahl zu bestätigen. Dadurch gelangen Sie zurück zum Fenster Aktienzertifikat. Im Fenster werden nun die Details des ausgewählten Zertifikats angezeigt.

  11. Klicken Sie auf die Schaltfläche Hinzufügen… im Rahmen Zugriff und Berechtigungen des Fensters. Daraufhin wird das Fenster Benutzer auswählen geöffnet.

  12. Wählen Sie einen vorhandenen Benutzer aus dem Dropdown-Menü oder erstellen Sie einen neuen, indem Sie Neuen Benutzer erstellen… wählen. Klicken Sie auf die Schaltfläche OK, um Ihre Auswahl zu bestätigen. Wenn Sie sich für die Erstellung eines neuen Benutzers entscheiden, wird anschließend das Fenster Neuer Benutzer angezeigt.

  13. Stellen Sie auch im Fenster Share Certificate sicher, dass nur die erforderlichen Operationen für das Zertifikat oder den generischen Schlüssel erlaubt sind. Dies kann mit den Kontrollkästchen am unteren Rand des Rahmens Zugriff und Berechtigungen geändert werden.

  14. Klicken Sie auf die Schaltfläche OK, um das Zertifikat zu veröffentlichen. Damit kehren Sie zum Hauptfenster von PKI Proxy zurück.

  15. Die Textliste unter Certificate Management zeigt nun das veröffentlichte Zertifikat an.

Wichtig

Stellen Sie sicher, dass die Mechanismen des gemeinsamen Schlüssels auf dem NetHSM die beabsichtigte Verwendung im PKI-Proxy zulassen.

PKI-Vollmacht - Kunde

Die PKI Proxy-Client-Tools bieten verschiedene Möglichkeiten für den Zugriff auf die gemeinsamen Schlüssel und Zertifikate eines PKI Proxy-Servers.

Tipp

Der PKI-Proxy-Server enthält die Client-Tools. Daher kann der Rechner, auf dem der Server läuft, auch selbst ein Client sein.

Installation

  1. Laden Sie die PKI Proxy 2024 - Client Tools von der /n software website herunter.

  2. Öffnen Sie das Installationsprogramm und folgen Sie den Anweisungen des Installationsassistenten.

KSP (Key Storage Provider)

PKI Proxy bietet eine KSP für die Schnittstelle zum PKI Proxy-Server. Der KSP ermöglicht die Verwendung von nativen Windows-APIs mit Anwendungen über die CNG-Schnittstelle (Cryptography API: Next Generation). Weitere Informationen finden Sie in der Dokumentation PKI Proxy.

PKCS#11

PKI Proxy bietet ein PKCS#11-Modul für die Schnittstelle zum PKI Proxy-Server. Weitere Informationen finden Sie in der Dokumentation PKI Proxy.