Supposons le scénario suivant :
- Un serveur pour l'enregistrement web des autorités de certification (Certificate Authority Web Enrollment, CAWE) est installé sur le réseau.
- Le rôle est installé sur un serveur séparé, pas directement sur l'autorité de certification.
- Un utilisateur tente de demander un certificat via l'enregistrement web de l'autorité de certification ou de soumettre une demande de certificat existante à l'autorité de certification.
- La demande échoue avec le message d'erreur suivant :
Your request failed. An error occurred while the server was processing your request. Contact your administrator for further assistance.
Dans les détails du message d'erreur, on trouve la remarque suivante :
CCertRequest::Submit: Access is denied. 0x80070005 (WIN32: 5 ERROR_ACCESS_DENIED)
L'enregistrement web des autorités de certification est une très vieille fonction datant de l'époque de Windows 2000 - et a été adaptée pour la dernière fois lors de la sortie de Windows Server 2003. Le code est donc ancien et potentiellement peu sûr. De même, la fonction pas de modèles de certificats avec la version 3 ou plus récente - les modèles de certificats qui utilisent des fonctions introduites avec Windows Vista / Windows Server 2008 ou plus récent ne sont donc pas utilisables. Il est recommandé de ne pas utiliser l'enregistrement web de l'autorité de certification et d'effectuer une demande de certificat par le biais des outils de bord ou de l'interface utilisateur. PSCertificateEnrollment module PowerShell.

Causes possibles
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.
- Le compte de service sous lequel le CAWE est exécuté n'est pas configuré pour la délégation ou ne l'est pas correctement.
- Le compte d'utilisateur avec lequel le certificat a été demandé ne peut pas être délégué.
- Le compte d'utilisateur sous lequel CAWE est exécuté n'est pas membre du groupe de sécurité "Windows Authorization Access".
Détails : le compte de service sous lequel le CAWE est exécuté n'est pas configuré pour la délégation ou ne l'est pas correctement.
Malheureusement, les messages d'erreur émis par CAWE ne sont pas très explicites. L'erreur ERROR_ACCESS_DENIED se produit notamment lorsque la délégation de l'authentification de l'utilisateur à l'autorité de certification échoue et que CAWE est confronté à un problème d'authentification. Compte de domaine ou un Compte de service gMSA (Group Managed Service Account) est exploité.
Pour les variantes de délégation qui ne permettent qu'une authentification Kerberos pure, l'authentification NTLM n'est plus possible. Il s'agit de
- "Trust this User for delegation to any service (Kerberos only)" (Faire confiance à cet utilisateur pour la délégation de tout service (Kerberos seulement))
- "Trust this user for delegation to specified services only" en combinaison avec "Use Kerberos only".

Pour un bon fonctionnement de CAWE, il est donc recommandé de définir les paramètres de délégation sur "Trust this user for delegation to specified services only" en combinaison avec "Use any authentication protocol", ou mieux, de renoncer complètement à l'utilisation de NTLM et d'utiliser à la place l'authentification de base, qui ne nécessite pas de délégation Kerberos.
Détails : le compte d'utilisateur avec lequel le certificat a été demandé ne peut pas être délégué.
Dans la mesure où l'option "Account is sensitive and cannot be delegated" est activée sur le compte de l'utilisateur, CAWE ne peut pas impersonaliser l'utilisateur pour la demande de certificat. Il en va de même si l'utilisateur est membre du groupe "Protected Users".

Liens complémentaires :
- La demande d'un certificat via l'enregistrement web de l'autorité de certification (CAWE) échoue avec le code d'erreur "RPC_S_SERVER_UNAVAILABLE".
- Configurer le registre web de l'autorité de certification (CAWE) pour l'utiliser avec un compte de service gMSA (Group Managed Service Account)
- Configurer l'enregistrement web de l'autorité de certification (CAWE) pour l'utiliser avec un compte de domaine
Les commentaires sont fermés.