Depuis Windows 8, il est possible de protéger les clés privées des certificats à l'aide d'un module de plate-forme de confiance (TPM), si celui-ci est disponible. Cela permet une véritable non-exportabilité de la clé.
Le processus de configuration d'un modèle de certificat utilisant un module Trusted Platform est décrit ci-dessous.
La configuration de ton modèle de certificat décrite ci-dessous pour utiliser le Microsoft Platform Crypto Provider est uniquement un paramètre par défaut pour le client demandeur. L'autorité de certification ne peut pas garantir que le demandeur utilise effectivement un module Trusted Platform. Pour atteindre ce niveau de sécurité, il faut en outre que la Attestation de clé TPM peuvent être utilisés.
La clé privée ne doit pas être configurée comme exportable
Dans l'onglet „Request Handling“, il faut s'assurer que l'option „Allow private key to be exported“ n'est pas activée. Le Microsoft Platform Crypto Provider ne supporte pas l'exportation de clés. Si l'option est activée, les demandes de certificats échoueront (voir l'article „La demande d'un certificat protégé par Trusted Platform Module (TPM) échoue avec le message d'erreur „The requested operation is not supported. 0x80090029 (-2146893783 NTE_NOT_SUPPORTED)“„).

Configurer le fournisseur de stockage de clés
Connaissez-vous TameMyCerts? TameMyCerts est un add-on pour l'autorité de certification Microsoft (Active Directory Certificate Services). Il étend la fonction de l'autorité de certification et permet de Application de la réglementationIl s'agit d'un logiciel de gestion des certificats qui permet d'automatiser l'émission de certificats en toute sécurité. TameMyCerts est unique dans l'écosystème Microsoft, a déjà fait ses preuves dans d'innombrables entreprises du monde entier et est disponible sous une licence libre. Il peut téléchargé via GitHub et être utilisé gratuitement. Une maintenance professionnelle est également proposée.
Dans la plupart des cas, en ouvrant l'onglet „Cryptographie“, vous constaterez que le Microsoft Platform Crypto Provider - malgré une configuration correcte des paramètres de compatibilité du modèle de certificat - n'est pas disponible. Cela s'explique par le fait que seuls les fournisseurs de stockage de clés disponibles et utilisables sur le système actuel sont affichés.
Si l'ordinateur sur lequel est exécutée la console d'administration pour la gestion des modèles de certificats ne possède pas de module Trusted Platform, il n'est logiquement pas possible de sélectionner le KSP correspondant.

Il existe différentes manières de contourner ce problème :
- installer les Remote Server Administration Tools (RSAT) sur un ordinateur (de préférence une Privileged Admin Workstation (PAW)) avec le module Trusted Platform et configurer le modèle de certificat à partir de là (voir également à ce sujet l'article „Installer les outils de gestion du serveur distant pour Active Directory Certificate Services sur Windows 10 (version 1809 ou ultérieure)„).
- Modifier l'attribut pKIDefaultCSPs avec certutil.
- Modification de l'attribut pKIDefaultCSPs à l'aide de Windows PowerShell.
- Modifier l'attribut pKIDefaultCSPs à l'aide de l'éditeur ADSI.
Modification de l'attribut pKIDefaultCSPs à l'aide de Windows PowerShell
La liste des fournisseurs de stockage de clés est enregistrée dans l'objet LDAP du modèle de certificat dans l'attribut pKDefaultCSPs. Elle peut y être modifiée à l'aide de Windows PowerShell (module ActiveDirectory).
La valeur actuelle peut être affichée à l'aide de la commande suivante :
Get-ADObject "CN=ADCSLaborUserTPM,CN=Certificate Templates,CN=Public Key Services,CN=Services,CN=Configuration,DC=intra,DC=adcslabor,DC=de" -Properties pKIDefaultCSPs
Si l'attribut n'est pas affiché, cela peut être dû au fait qu'il est vide, c'est-à-dire non défini, dans la configuration par défaut.

Les deux commandes suivantes permettent de modifier le contenu de l'attribut. Il faut configurer le „Microsoft Platform Crypto Provider“ :
$CSPs=@("1,Microsoft Platform Crypto Provider")
Set-ADObject "CN=ADCSLaborUserTPM,CN=Certificate Templates,CN=Public Key Services,CN=Services,CN=Configuration,DC=intra,DC=adcslabor,DC=de" -Replace @{pKIDefaultCSPs=$CSPs}
Pour contrôler, on peut s'assurer de la modification en demandant à nouveau la valeur.


Veuillez noter que l'attribut pKIDefaultCSPs peut être écrasé par la console d'administration des modèles de certificats. Il faut donc vérifier après chaque modification du modèle de certificat que l'attribut est à nouveau correctement défini.
Modification de l'attribut pKIDefaultCSPs via ADSI Editor
La modification est également possible de manière analogue via l'ADSI Editor. Les informations se trouvent dans la partition „Configuration“ de la structure globale.


Aucun certificat n'est demandé en l'absence de TPM.
Sur les systèmes qui ne disposent pas d'un module Trusted Platform, aucune demande de certificat n'est effectuée. Si l'on souhaite également fournir des certificats à ces systèmes, il est possible d'enregistrer en plus un Software Key Storage Provider comme deuxième entrée.
Voir à ce sujet l'article „La demande de certificat n'est pas possible, car le modèle de certificat ne s'affiche pas. Le message d'erreur est „Can not find a valid CSP in the local machine“.“„ .
Liens complémentaires :
Sources externes
- Création d'un modèle de certificat qui inclut le fournisseur de cryptographie Microsoft Platform sur une AC sans TPM (Microsoft TechNet)
- Mise en place de certificats protégés par TPM à l'aide d'une autorité de certification Microsoft - Partie 1 : Fournisseur de cryptographie de la plate-forme Microsoft (Microsoft Techcommunity)
Les commentaires sont fermés.