Services de certificats Active Directory (ADCS) de Windows avec proxy PKI¶
Ce document décrit la configuration des services de certificats Active Directory (ADCS) de Windows avec PKI Proxy et NetHSM.
Prerequisits¶
NetHSM
Provisioned
Administrative access
PKI Proxy server
Module NetHSM PKCS#11 installé et configuré pour utiliser le NetHSM
Serveur CA (Windows Server)
ADCS role installed, but not configured
PKI Proxy client tools installed
Les outils client ne sont pas nécessaires si ce serveur exécute également le serveur PKI Proxy, car celui-ci intègre ces outils.
Pynitrokey installed
Root CA Key and Certificate¶
Le tableau suivant répertorie les algorithmes de chiffrement et les longueurs de clé, ainsi que les algorithmes de hachage que le service ADCS de Windows peut utiliser avec NetHSM.
Key Algorithm |
Key Length |
Hash Algorithm |
RSA |
1024 |
MD2, MD4, MD5, SHA1, SHA256, SHA384, SHA512 |
2048 |
MD2, MD4, MD5, SHA1, SHA256, SHA384, SHA512 |
|
4096 |
MD2, MD4, MD5, SHA1, SHA256, SHA384, SHA512 |
|
ECDSA |
P256 |
SHA1, SHA256, SHA385, SHA512 |
P384 |
SHA1, SHA256, SHA385, SHA512 |
|
P521 |
SHA1, SHA256, SHA385, SHA512 |
Important
Veuillez respecter les bonnes pratiques en matière de choix d’un algorithme de clé sécurisé, d’une longueur de clé appropriée et d’un algorithme de hachage.
Une clé et un certificat peuvent être soit nouvellement générés, soit issus d’une migration. Veuillez vous reporter aux sous-chapitres ci-dessous pour en savoir plus sur la démarche à suivre dans votre cas particulier.
Generate a new Root CA Key and Certificate on Windows¶
Les instructions suivantes permettent de créer une nouvelle clé et un nouveau certificat destinés à être utilisés dans une autorité de certification racine « » au sein d’ADCS.
Astuce
Il est généralement plus simple de générer une clé et un certificat à l’aide de l’assistant de configuration ADCS, puis de suivre les instructions disponibles à l’adresse Migrate existing Key and Certificate.
Dans ce cas, un modèle de requête est utilisé pour générer une clé comportant des extensions CA explicites. Les valeurs spécifiques doivent être adaptées à votre environnement.
Le modèle de requête doit être enregistré dans un fichier nommé « ` » RootCA.inf` et dont le contenu est le suivant.
Ce modèle va générer une clé RSA d’une longueur de 4096 bits. Vous devez remplacer <CA-NAME> par le nom de votre autorité de certification.
[Version]
Signature="$Windows NT$"
[NewRequest]
Subject = "CN=<CA-NAME>"
KeySpec = 1
KeyLength = 4096
Exportable = TRUE
MachineKeySet = TRUE
SMIME = FALSE
PrivateKeyArchive = FALSE
UserProtected = FALSE
UseExistingKeySet = FALSE
ProviderName = "Microsoft Software Key Storage Provider"
ProviderType = 0
RequestType = Cert
KeyUsage = 0x86
[Extensions]
; Key Usage: keyCertSign (0x04) + cRLSign (0x02) => 0x06
2.5.29.15 = "{critical}86"
; Basic Constraints: CA = TRUE, path length optional
2.5.29.19 = "{critical}{text}CA=TRUE"
; CA Version (V0.0)
1.3.6.1.4.1.311.21.1 = "{hex}02 01 00"
[RequestAttributes]
; Empty for self-signed request
Generate the key and certificate from the certificate template.
certreq -new RootCA.inf RootCA.req
Le certificat a été ajouté au magasin de certificats de l’ordinateur local. Exportez le certificat vers un fichier PFX en remplaçant <THUMBPRINT> par la valeur correspondante issue de la sortie de la commande précédente.
$password = Read-Host -AsSecureString "Password"
Export-PfxCertificate -Cert Cert:\LocalMachine\My\<THUMBPRINT> -FilePath RootCA.pfx -Password $password
La valeur du mot de passe sert à chiffrer l’archive PKCS#12 (fichier PFX). Vous pouvez poursuivre avec le chapitre Configuration de NetHSM.
Migrate existing Key and Certificate¶
Pour migrer une clé et un certificat existants, il faut les exporter depuis le magasin de certificats de l’ADCS, puis importer le fichier d’archive ainsi obtenu dans le NetHSM.
Important
Avant d’apporter des modifications à une autorité de certification en production, il est recommandé d’en créer une sauvegarde. Pour en savoir plus, veuillez consulter cette page : ` <https://learn.microsoft.com/en-us/windows-server/identity/ad-ds/manage/component-updates/ca-backup-and-restore-windows-powershell-cmdlets>` __.
Ouvrez la page
certlm.msc.Accédez à « Certificats - Ordinateur local → Personnel → Certificats ».
Select the certificate in the list on the right.
Dans la barre de menus en haut de l’écran, accédez à Action « » → Toutes les tâches → Exporter…. Cela lancera l’assistant d’exportation des certificats d”** .
Confirm the introduction of the assistant with Next.
Cochez la case d’option située à côté de « » (Oui, exporter la clé privée), puis confirmez en cliquant sur « » (Suivant). Si la case d’option n’est pas disponible, cela signifie que la clé est marquée comme non exportable. Dans ce cas, ce guide ne s’applique pas au cas d’utilisation envisagé.
Si possible, inclure tous les certificats du chemin de certification
Cochez la case d’option à côté de « » (Oui, exporter la clé privée), puis confirmez en cliquant sur « » (Suivant).
Cochez la case d’option située à côté de « Échange d’informations personnelles s - PKCS #12 (.PFX) ». Veillez à cocher les options suivantes :
Si possible, inclure tous les certificats du chemin de certification
Exporter toutes les propriétés étendues
Enable certificate privacy
Confirm the selection with Next.
Cochez la case d’option située à côté de « » (Mot de passe). Saisissez un mot de passe dans les champs de texte prévus à cet effet. Dans le menu déroulant situé à côté de « Encryption » (Chiffrement), sélectionnez « » (Chiffrement) AES256-SHA256.
Important
La méthode de chiffrement AES256-SHA256 n’est prise en charge qu’à partir de Windows Server 2019 et Windows 11. Pour une utilisation avec des versions antérieures, conservez la méthode par défaut TripleDES-SHA1.
Confirm the selection with Next.
Choose a storage location and file name and confirm with Next.
Important
La clé et le certificat exportés doivent être conservés dans un endroit sûr, auquel seuls les utilisateurs autorisés ont accès.
Confirm the export with Finish.
Assurez-vous que le certificat est toujours sélectionné dans la liste de droite.
Dans la barre de menus en haut de l’écran, accédez à « Action » → « Toutes les tâches » → « Supprimer ». Confirmez la suppression de la clé privée et du certificat en cliquant sur « Oui ».
Vous pouvez poursuivre la lecture du chapitre Configuration de NetHSM.
NetHSM Configuration¶
La clé et le certificat présentés dans le chapitre précédent doivent être importés dans le NetHSM. À l’aide de la commande « nitropy », il est possible d’importer directement l’archive PKCS#12 dans le NetHSM.
Importez l’archive PKCS#12 comme suit, en remplaçant <KEY-ID>, <MECHANISM> et <PKCS12-ARCHIVE> par les valeurs correspondantes.
nitropy nethsm import-pkcs12 -k <KEY-ID> -m <MECHANISM> -p <password> <PKCS12-ARCHIVE>
Pour les clés RSA, le mécanisme doit être rsa_signature_pkcs1 et pour les clés ECDSA, ecdsa_signature.
Vous pouvez désormais vérifier que le certificat est bien présent sur le NetHSM.
nitropy nethsm list-keys
La clé apparaîtra avec l’identifiant de clé indiqué dans la commande précédente.
PKI Proxy Server Configuration¶
Sur le serveur proxy PKI, vous devez mettre en partage le certificat qui vient d’être ajouté à partir du NetHSM. Pour en savoir plus, veuillez suivre les étapes décrites à l’adresse Publish Certificates from the NetHSM.
Windows ADCS Configuration¶
PKI Proxy Client Tools Configuration¶
Dans la suite de ce document, nous mettons la clé et le certificat à disposition dans le magasin de certificats local de Windows.
Open the PKI Proxy Certificate Manager.
Click the Add… button.
Remplissez les champs obligatoires.
Emplacement, par exemple :
https://localhost:9266Authentification
User
Secret Key/Password/SPN
Certificate Store:
LOCALMACHINE\My
Confirm the configuration with the OK button. This will bring you back to the previous window.
The list under Certificate Management in the PKI Proxy Certificate Manager should now show the just added certificate.
Vous pouvez désormais vérifier que le certificat figure bien dans le magasin de certificats de l’ordinateur local.
Ouvrez la boîte de dialogue « Exécuter » ( ), soit en cliquant avec le bouton droit de la souris sur le menu Démarrer de Windows **** et en sélectionnant « Exécuter » ( ), soit en appuyant sur la touche Windows + R **** de votre clavier.
Dans la boîte de dialogue « Exécuter » d”**** , saisissez
certlm.mscpuis confirmez en appuyant sur Saisissez à l’aide de votre clavier ou en cliquant sur OK.Dans le gestionnaire de certificats qui s’affiche, accédez, dans l’arborescence de gauche, à « Certificats - Ordinateur local → Personnel → Certificats ».
The published certificate is now listed on the right.
Windows ADCS Configuration¶
Ouvrez le Gestionnaire de serveur d”**** à partir du menu Démarrer de **** ou en appuyant sur la touche Windows + R de votre clavier, puis saisissez
ServerManager.exe.Dans la barre de menus en haut à droite, cliquez sur l’icône en forme de drapeau et sélectionnez « Configure Active Directory Certificate Services on the destination server » parmi les notifications post-déploiement. Cela lancera l’assistant de configuration AD CS ** .
In the wizard, set the settings below according to the stage.
Role Services
Check the radio button next to Certification Authority.
Setup Type
Sélectionnez « » (Autorité de certification d’entreprise) ou « » (Autorité de certification autonome) en fonction de votre environnement.
CA Type
Sélectionner l’autorité de certification racine « »
Private Key
Cochez la case d’option située à côté de « » (Utiliser la clé privée existante). Dans cette option, cochez la case d’option située à côté de « » (Sélectionner un certificat et utiliser les clés privées associées).
Existing Certificate
Dans la liste des certificats « » ( ), sélectionnez le certificat que vous souhaitez utiliser. Assurez-vous que la case à cocher située à côté de « » (Autoriser l’intervention de l’administrateur lorsque la clé privée est consultée par l’autorité de certification) n’est pas cochée. Cela n’est pas nécessaire, car le KSP PKI Proxy ne nécessite aucune authentification supplémentaire pour l’utilisation de la clé privée.
Une fois l’assistant de configuration terminé, ouvrez l’autorité de certification « » depuis le menu Démarrer de Windows **** ou en appuyant sur la touche Windows + R de votre clavier et en saisissant
certsrv.msc. Vous pouvez vérifier que le service d’autorité de certification a démarré correctement lorsque vous voyez un point vert accompagné d’une coche blanche à côté du nom de l’autorité de certification.
Important
La disponibilité de l’autorité de certification dépend de la disponibilité de la clé privée et du certificat. Si ceux-ci ne sont pas disponibles, le service de l’autorité de certification risque de ne pas démarrer ou de s’arrêter de manière inattendue. En cas d’erreur, consultez le journal des événements Windows « » ( ) pour plus d’informations.