La demande de certificat échoue avec le message d'erreur "A valid certification authority (CA) configured to issue certificates based on this template cannot be located, or the CA does not support this operation, or the CA is not trusted".

Supposons le scénario suivant :

  • On essaie de demander un certificat à une autorité de certification intégrée à Active Directory (Enterprise Certification Authority).
  • Pour ce faire, on utilise la console de gestion Microsoft (MMC), soit pour l'utilisateur connecté (certmgr.msc), soit pour l'ordinateur (certlm.msc).
  • Cependant, le modèle de certificat souhaité n'est pas affiché pour être sélectionné, bien qu'il ait été correctement publié sur l'autorité de certification.
  • L'utilisateur (ou l'ordinateur) connecté dispose également des autorisations nécessaires pour demander des certificats du modèle de certificat concerné (Enroll).
  • Dans la liste des modèles de certificats disponibles au sein de la MMC, on peut afficher tous les modèles de certificats. Le modèle de certificat souhaité est indiqué :
A valid certification authority (CA) configured to issue certificates based on this template cannot be located, or the CA does not support this operation, or the CA is not trusted.

Pour un aperçu général du fonctionnement sous-jacent, voir les articles "Bases de la demande manuelle et automatique de certificats via Lightweight Directory Access Protocol (LDAP) et Remote Procedure Call / Distributed Common Object Model (RPC/DCOM)" et "Dépannage de la demande automatique de certificat (auto-enrollment) via RPC/DCOM„ .

Causes

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.

Pour pouvoir délimiter davantage l'erreur, il est utile de regarder de plus près le texte de la description.

Erreur "The requested certificate template is not supported by this CA".

La variante allemande de la description est la suivante : "Le modèle de certificat demandé n'est pas pris en charge par cette autorité de certification (AC)".

Ne s'applique bien sûr que si le modèle de certificat demandé a effectivement été publié sur l'autorité de certification.

The requested certificate template is not supported by this CA.
A valid certification authority (CA) configured to issue certificates based on this template cannot be located, or the CA does not support this operation, or the CA is not trusted.

Cette erreur indique que la position de confiance envers l'autorité de certification émettrice ne peut pas être établie.

Dans ce cas, il convient de vérifier les points suivants :

  • L'autorité de certification racine (angl. "Root CA") est-elle enregistrée dans le magasin d'autorités de certification racine de confiance correspondant ?
  • Toutes les autorités de certification intermédiaires (si elles existent) sont-elles stockées dans la liste des certificats d'autorités de certification intermédiaires ? (Cette liste est automatiquement remplie sur les clients de domaine à partir de l'objet "AIA" du Public Key Services Container dans l'Active Directory. Il convient donc de vérifier si les certificats y sont également déposés).

Erreur "The permissions on this certification authority do not allow the current user to enroll for certificates" ou "Cannot find object or property".

The permissions on this certification authority do not allow the current user to enroll for certificates.
A valid certification authority (CA) configured to issue certificates based on this template cannot be located, or the CA does not support this operation, or the CA is not trusted.

ou

La variante française de la description est "L'objet ou la propriété n'a pas été trouvé".

Cannot find object or property.
A valid certification authority (CA) configured to issue certificates based on this template cannot be located, or the CA does not support this operation, or the CA is not trusted.

Cette erreur peut par exemple se produire lorsque l'utilisateur connecté n'a pas le droit de demander des certificats à l'autorité de certification.

Recherche des causes

En plus de l'autorisation au sein du modèle de certificat, il existe également un droit directement sur l'autorité de certification pour pouvoir obtenir des certificats de sa part (Request Certificates).

Le dialogue correspondant est accessible dans la console d'administration de l'autorité de certification (certsrv.msc) par un clic droit sur le nom de l'autorité de certification, puis "Propriétés", dans l'onglet "Sécurité". Par défaut, les utilisateurs authentifiés (Authenticated Users) ont le droit de demander des certificats.

Dans le cas présent, l'onglet "Sécurité" de l'autorité de certification indiquait ce droit. Cependant, aucun certificat n'a pu être demandé à l'autorité de certification. En guise de test, le modèle de certificat a été publié sur une autre autorité de certification, où il a pu être demandé.

Les autorisations définies dans l'onglet "Sécurité" sont enregistrées à deux endroits :

  • Dans la base de données de registre du service d'autorité de certification sous HKLM:\CurrentControlSet\Services\CertSvc\Configuration\{nom de l'autorité de certification}\ dans la valeur "Security".
  • Dans la liste de contrôle d'accès (ACL) de l'objet "Public Key Services" dans Active Directory, dans l'objet pKIEnrollmentService appartenant à l'autorité de certification, sous CN=Enrollment Services. Si les autorisations de sécurité ont été modifiées par la console d'administration de l'autorité de certification, le compte informatique de l'autorité de certification met à jour l'objet Active Directory en conséquence.

La valeur à l'intérieur de la base de données du registre peut être consultée soit via la console d'administration de l'autorité de certification (certsrv.msc), soit via la commande de ligne de commande suivante :

certutil -getreg CA\Security

exemple :

certutil -getreg CA\Security
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\CertSvc\Configuration\Fabrikam Issuing CA 1\Security:
Security REG_BINARY =
Allow Enroll NT AUTHORITY\Authenticated Users
Allow CA Administrator Certificate Manager CORP\Domain Admins
Allow CA Administrator Certificate Manager CORP\Enterprise Admins
Allow CA Administrator Certificate Manager BUILTIN\Administrators
CertUtil: -getreg command completed successfully.

Les autorisations sur l'objet Active Directory peuvent être affichées soit via l'éditeur ADSI (adsiedit.msc), soit via la ligne de commande.

L'éditeur ADSI n'est que partiellement adapté à cette tâche, car les autorisations spécifiques à ADCS ne sont parfois pas résolues. La variante par ligne de commande est plus appropriée :

certutil [Options] -ds [CN]

Avec l'option -v, le CN (nom commun, Common Name) de l'objet pKIEnrollmentService correspondant et l'attribut nTSecurityDescriptor, la commande se présente par exemple comme suit :

certutil -ds -v "CN={CA-Common-Name},CN=Enrollment Services,CN=Public Key Services,CN=Services,CN=Configuration,{Forest-Root-Distinguished-Name}" nTSecurityDescriptor 

Dans le cas de l'autorité de certification concernée, cette dépense a été mise en évidence :

Allow Full Control  CORP\Enterprise Admins
Allow Full Control CORP\ADCSCA03$
Allow Read NT AUTHORITY\Authenticated Users
Allow Full Control CORP\Enterprise Admins
Allow Full Control CORP\Domain Admins

Comme on peut le voir, il manque ici l'autorisation pour les utilisateurs authentifiés de demander des certificats. Apparemment, la base de données du registre et Active Directory ne sont pas synchronisés.

Cause

Dans le cas présent, l'autorité de certification migré vers un nouveau serveur. Pour ce faire, une sauvegarde de l'autorité de certification a été créée et installée sur un nouveau serveur. rétabli. Afin d'éviter que des certificats ne soient demandés pendant la migration de l'autorité de certification, l'utilisateur authentifié principal s'est vu retirer temporairement le droit de demander des certificats. Cela a toutefois été fait après que le registre de l'autorité de certification a été sauvegardé sur le serveur source.

Ainsi, sur le serveur cible, un registre permettant apparemment aux utilisateurs authentifiés de demander des certificats a été rétabli, mais l'objet pKIEnrollmentService dans Active Directory n'a pas été à nouveau mis à jour correctement.

Solution

La solution a été de supprimer à nouveau l'autorisation localement sur l'autorité de certification et de la saisir à nouveau. Ensuite, l'objet pKIEnrollmentService était à nouveau synchrone avec l'autorité de certification :

Liens complémentaires :

Sources externes

Les commentaires sont fermés.

fr_FRFrançais