Windows KSP et PKCS#11 avec PKI Proxy

Ce document explique l’utilisation de PKI Proxy avec NetHSM. PKI Proxy permet l’utilisation de NetHSM via les API natives de Microsoft Windows. À cette fin, PKI Proxy inclut un KSP (Key Storage Provider) qui permet son utilisation via l’interface CNG (Cryptography API : Next Generation). En outre, il fournit un accès PKCS#11 au NetHSM, mais il ne doit être utilisé que si votre configuration l’exige, par exemple si vous avez besoin des fonctions d’authentification supplémentaires de PKI Proxy, ou si vous souhaitez utiliser PKI Proxy comme passerelle pour éviter d’exposer directement le NetHSM aux clients. <pkcs11-setup.html>` Dans tous les autres cas, utilisez le pilote PKCS#11 du NetHSM `__ directement.

Le déploiement de NetHSM avec PKI Proxy se présente comme suit.

Connexion entre NetHSM et le serveur proxy PKI, le client et les interfaces client exposées.

Le NetHSM fournit l’API REST qui est utilisée par le pilote PKCS#11 du NetHSM. Le proxy PKI utilise ce pilote pour se connecter au NetHSM et accéder à ses clés et certificats. Les clients du proxy PKI utilisent l’API REST du serveur proxy PKI pour accéder aux clés et aux certificats. Les applications sur le client peuvent utiliser l’API native de Windows ou un pilote PKCS#11. La communication entre le NetHSM et le serveur PKI Proxy et les clients PKI Proxy est chiffrée. Le serveur et le client PKI Proxy peuvent être exécutés sur le même ordinateur.

Les cas d’utilisation possibles de cette configuration sont les suivants :

  • Code signing

  • Document signing

Astuce

Veuillez également vous référer à la documentation officielle PKI Proxy pour plus d’informations.

Prerequisits

  • NetHSM (matériel ou conteneurisé) - Provisionné - L’adresse IP du NetHSM doit être connue et le port HTTPS doit être accessible.

  • Machine Windows - Pilote PKCS#11 de Nitrokey NetHSM installé et configuré (requis uniquement sur le serveur proxy PKI).

Important

Sur certaines machines, le serveur proxy PKI peut se bloquer pendant la procédure de déchargement du module PKCS#11 de NetHSM. Il s’agit d’un bogue dans une dépendance du module et suivi dans this GitHub issue. Si vous rencontrez ce bogue, veuillez définir l’option de configuration disable_thread_pool à true dans votre fichier de configuration NetHSM PKCS#11. Veuillez vous référer à l’exemple de fichier de configuration ` <https://github.com/Nitrokey/nethsm-pkcs11/blob/main/p11nethsm.example.conf>` __ pour mieux comprendre comment le configurer.

Proxy PKI - Serveur

Le serveur proxy PKI partage les clés et les certificats d’un NetHSM pour différents utilisateurs.

Installation

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

  2. Ouvrez le programme d’installation et suivez l’assistant d’installation.

  3. Ouvrez PKI Proxy dans le menu Démarrer. Si vous l’avez installé à l’emplacement par défaut, vous pouvez également l’exécuter à l’aide de la commande suivante dans la boîte de dialogue Run ou dans PowerShell.

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

    Note

    PKI Proxy sera minimisé dans la barre d’état système, même si la fenêtre principale est fermée.

Service Configuration

Les instructions ci-dessous permettent de configurer le proxy PKI.

  1. Open the PKI Proxy main window.

  2. Change to the Settings tab.

  3. Assurez-vous que la case Enable TLS est cochée et qu’un certificat approprié est utilisé.

  4. Change to the Users tab.

  5. Créez un nouvel utilisateur en cliquant sur le bouton New…. Choisissez un type d’authentification supporté par tous les clients.

  6. Dans la barre de menu de la fenêtre principale, cliquez sur le bouton Start pour démarrer le service PKI Proxy.

Publish Certificates from the NetHSM

Dans ce qui suit, nous configurons les certificats du NetHSM qui sont mis à disposition par le biais du proxy PKI.

  1. Assurez-vous que la fenêtre principale de PKI Proxy est ouverte.

  2. Change to the Certificates tab.

  3. Cliquez sur le bouton New…. La fenêtre Share Certificate s’ouvre.

  4. Cliquez sur le bouton Select Certificate or Key…, dans le cadre Certificate de la fenêtre. La fenêtre Select a Private Key s’ouvre alors.

  5. Passez à l’onglet Security Key.

  6. Cliquez sur le bouton Browse… et sélectionnez le fichier de bibliothèque du pilote NetHSM PKCS#11. Le champ de texte PKCS#11 Library indique maintenant le chemin d’accès au fichier de la bibliothèque.

  7. Dans le menu déroulant Security Key (PKCS#11), choisissez l’emplacement qui contient le certificat. Les emplacements répertoriés dépendent de votre configuration du module PKCS#11.

  8. Click the Open button.

  9. La liste de texte située sous Certificats affiche désormais une liste des certificats et des clés génériques disponibles sur le NetHSM. Sélectionnez le certificat ou la clé générique que vous souhaitez partager avec PKI Proxy.

  10. Cliquez sur le bouton OK pour confirmer la sélection. Vous revenez alors à la fenêtre Share Certificate. La fenêtre affiche maintenant les détails du certificat sélectionné.

  11. Cliquez sur le bouton Add…, dans le cadre Access and Permissions de la fenêtre. La fenêtre Select user s’ouvre.

  12. Sélectionnez un utilisateur existant dans le menu déroulant ou créez-en un nouveau en choisissant Create New User…. Cliquez sur le bouton OK pour confirmer la sélection. Si vous choisissez de créer un nouvel utilisateur, la fenêtre New User s’affichera ensuite.

  13. De retour dans la fenêtre Share Certificate, assurez-vous également de n’autoriser que les opérations requises pour le certificat ou la clé générique. Cela peut être modifié à l’aide des cases à cocher situées en bas du cadre Access and Permissions.

  14. Cliquez sur le bouton OK pour publier le certificat. Vous revenez alors à la fenêtre principale de PKI Proxy.

  15. La liste de texte sous Certificate Management affiche maintenant le certificat publié.

Important

Assurez-vous que les mécanismes de la clé partagée sur le NetHSM permettent l’utilisation prévue dans PKI Proxy.

Proxy PKI - Client

Les outils clients PKI Proxy offrent différentes manières d’accéder aux clés partagées et aux certificats d’un serveur PKI Proxy.

Astuce

Le serveur proxy PKI contient les outils du client. Par conséquent, la machine qui exécute le serveur peut également être un client pour lui-même.

Installation

  1. Téléchargez le logiciel PKI Proxy 2024 - Client Tools à partir du site web /n software.

  2. Ouvrez le programme d’installation et suivez l’assistant d’installation.

KSP (Key Storage Provider)

PKI Proxy fournit un KSP pour l’interface avec le serveur PKI Proxy. Le KSP permet d’utiliser les API Windows natives avec les applications, par le biais de l’interface CNG (Cryptography API : Next Generation). Pour plus d’informations, veuillez consulter la documentation de PKI Proxy.

PKCS#11

PKI Proxy fournit un module PKCS#11 pour l’interface avec le serveur PKI Proxy. Pour plus d’informations, veuillez consulter la documentation PKI Proxy.