Supposons le scénario suivant :
- Un modèle de certificat est configuré, sur courbes elliptiques d'utiliser des clés basées sur la technologie
- Le modèle de certificat est en outre configuré pour utiliser le Microsoft Platform Crypto Provider d'utiliser la clé privée avec le Module de plate-forme de confiance (TPM) de l'appareil.
- La demande de certificat échoue avec le message d'erreur suivant :
Error: The requested operation is not supported. 0x80090029 (-2146893783 NTE_NOT_SUPPORTED)
Sur Windows Server 2016, le message d'erreur "No provider was specified for the store or object. 0x80092006 (-2146885626 CRYPT_E_NO_PROVIDER)" est affiché alors que le comportement est sinon identique.


Devient Autoenrollment est utilisé, aucun événement n'est consigné. Si la demande de certificat est faite manuellement, le client consigne les événements avec les numéros 82 puis avec numéro 13 de la source Microsoft-Windows-CertificateServicesClient-CertEnroll.
Certificate enrollment for INTRA\administrator failed in authentication to all urls for enrollment server associated with policy id: {BA88EA53-D182-4A4E-9B1B-5A169EB3D93D} (The requested operation is not supported. 0x80090029 (-2146893783 NTE_NOT_SUPPORTED)). Failed to enroll for template: ADCSLaborBenutzerTPMECC

Certificate enrollment for INTRA\administrator failed to enroll for a ADCSLaborBenutzerTPMECC certificate with request ID N/A from CA02.intra.adcslabor.de\ADCS Labor Issuing CA 1 (The requested operation is not supported. 0x80090029 (-2146893783 NTE_NOT_SUPPORTED)).

Die manuelle Beantragung über die Kommandozeile teilt uns mit, dass keine Zertifikatanforderung gestellt werden kann. Um es präziser auszudrücken, offenbar kann das Schlüsselpaar nicht erstellt werden.
A certificate request could not be created. The requested operation is not supported. 0x80090029 (-2146893783 NTE_NOT_SUPPORTED)

Cause
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.
Il s'agit apparemment d'un bug dans le Microsoft Platform Crypto Provider, qui est responsable de la génération des clés avec protection TPM. Il s'avère en effet que la demande de certificat fonctionne parfaitement avec Windows 10 21H2 et Windows 11.
J'ai testé les versions suivantes de Windows :
| Version Windows | État |
|---|---|
| Windows 10 Entreprise 1909 | fonctionne pas |
| Windows 10 Pro 21H1 | fonctionne pas |
| Windows 10 Pro 21H2 | fonctionne |
| Windows 11 Pro (version) | fonctionne |
| Windows Server 2016 (état des correctifs : septembre 2022) | fonctionne pas |
| Windows Server 2019 (version) | fonctionne pas |
| Windows Server 2019 (état des correctifs : août 2021) | fonctionne |
| Windows Server 2022 | fonctionne |
Dans un Journal des changements d'une version Insider Preview pour Windows 10 21H2 on trouve une entrée à peu près appropriée, mais dont la pertinence est douteuse (on parle de "le" certificat ECDSA, le message d'erreur ne correspond pas à nos observations et on parle à tort du Microsoft Software Key Storage Provider).
Nous avons corrigé un problème qui provoque l'échec de l'inscription du certificat ECDSA (Elliptic Curve Digital Signature Algorithm) avec l'erreur "0x80090027 NTE_INVALID_PARAMETER". Cette erreur se produit lorsque le fournisseur du Trusted Platform Module (TPM) (le fournisseur de stockage de clés logicielles de Microsoft) stocke la clé.
Annonce de la build 19044.1147 (21H2) de Windows 10 Insider Preview (Microsoft)
Il semble que l'auteur lui-même n'ait pas bien compris de quoi il s'agissait. C'est pourquoi je suppose que le correctif évoqué répond (aussi) au problème décrit ici, même si la description ne correspond pas exactement.
La solution consiste donc à utiliser Windows 10 21H2 ou Windows 11 pour les systèmes correspondants.
Remarques sur la configuration du modèle de certificat
Lors de la configuration du modèle de certificat, vous constaterez probablement que vous ne pouvez pas du tout configurer la combinaison de courbes elliptiques et le Microsoft Platform Crypto Provider.
En effet, cette combinaison ne peut être configurée que si l'ordinateur sur lequel la console de gestion des modèles de certificats est exécutée est équipé d'un TPM en état de marche.
Ainsi, si sur un ordinateur compatible TPM 2.0, la Outils de gestion du serveur distant (RSAT) sont installés, le Platform Crypto Provider peut être sélectionné en combinaison avec des clés ECC. Une autre possibilité est de configurer le modèle de certificat directement via LDAP.

Veuillez également noter que seul la version 2.0 du Trusted Platform Module permet l'utilisation de clés basées sur des courbes elliptiques.
Le site TPM 2.0 standard n'impose toutefois ici que des clés de 256 bits.
Le TPM doit supporter des tailles de clés ECC d'au moins 256 bits. Le support d'autres tailles de clés est autorisé.
Spécification de la bibliothèque TPM 2.0 (Trusted Computing Group)
D'autres tailles de clés peuvent fonctionner (selon l'implémentation par le fabricant du TPM), mais pas nécessairement. Si l'on tente d'utiliser une taille de clé non prise en charge par le TPM, la création de la demande de certificat échoue ici aussi avec le même code d'erreur "NTE_NOT_SUPPORTED".
Ainsi, sans inventaire précis de tous les appareils et de leurs puces TPM, il ne reste que cette valeur clé comme plus petit dénominateur commun. Actuel (2021) elle offre cependant une sécurité plus que suffisante.
Liens complémentaires
- Configuration d'un modèle de certificat pour l'utilisation du Microsoft Platform Crypto Provider afin de permettre la protection de la clé privée par un Trusted Platform Module (TPM)
- Principes de base : fournisseur de services cryptographiques (CSP) et fournisseur de stockage de clés (KSP)
- Bases : algorithmes de clés, algorithmes de signature et algorithmes de hachage de signature
- Principes de base : les courbes elliptiques en vue de leur utilisation dans l'infrastructure à clé publique
- Installer les outils de gestion du serveur distant pour Active Directory Certificate Services sur Windows 10 (version 1809 ou ultérieure)
Sources externes
- Annonce de la build 19044.1147 (21H2) de Windows 10 Insider Preview (Microsoft)
- Spécification de la bibliothèque TPM 2.0 (Trusted Computing Group)
Les commentaires sont fermés.