La demande de certificats avec des clés basées sur des courbes elliptiques échoue lors de l'utilisation du Microsoft Platform Crypto Provider

Supposons le scénario 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 1909fonctionne pas
Windows 10 Pro 21H1fonctionne pas
Windows 10 Pro 21H2fonctionne
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 2022fonctionne

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

Sources externes

Les commentaires sont fermés.

fr_FRFrançais