

L’authentification basée sur les certificats permet de renforcer la sécurité des accès aux systèmes Windows, services réseau et applications, en remplaçant ou complétant les mots de passe par des certificats numériques. Des erreurs d’authentification surviennent fréquemment en cas de certificats expirés, de chaînes non approuvées, d’attributs manquants ou de mauvaise configuration des GPO. Ce guide vous aide à identifier et résoudre les causes courantes de ces problèmes.

• Connaissances des certificats X.509 et de l’infrastructure PKI
• Familiarité avec Active Directory Certificate Services
• Accès administrateur sur les postes clients, les serveurs, et les contrôleurs de domaine

• Approche #1 : CMD pour diagnostiquer la présence et la validité du certificat
• Approche #2 : PowerShell pour auditer les certificats et les journaux d’authentification
• Approche #3 : Script .ps1 pour centraliser l’état des certificats utilisateurs

• Approche #1 : Facile
• Approche #2 : Intermédiaire
• Approche #3 : Avancé

• Approche #1 : Permet de vérifier la présence d’un certificat valide
• Approche #2 : Affiche des erreurs détaillées d’authentification
• Approche #3 : Permet l’audit de plusieurs postes à distance

• Approche #1 : Ne permet pas d’auditer la chaîne de certification
• Approche #2 : Peut nécessiter le module ADCSAdministration
• Approche #3 : Complexe à maintenir dans les environnements larges



Code:
certutil -user -store My





Code:
Get-ChildItem -Path Cert:\CurrentUser\My | Where-Object { $.EnhancedKeyUsageList.FriendlyName -like "Client Authentication" }

Code:
Get-WinEvent -LogName Security -FilterXPath "*[System[(EventID=4768 or EventID=4776)]]" | Select-Object TimeCreated, Message -First 10

Code:
Get-ChildItem Cert:\LocalMachine\Root



Code:
$log = "C:\Logs\CertAuthStatus$(Get-Date -Format yyyyMMdd_HHmm).log"
"=== Certificats utilisateur (Client Auth) ===" | Out-File $log
Get-ChildItem Cert:\CurrentUser\My | Where-Object { $_.EnhancedKeyUsageList.FriendlyName -like "Client Authentication" } | Select-Object Subject, NotAfter, Issuer | Out-File -Append $log
Start-Process notepad.exe $log



Le certificat doit contenir les attributs UPN et/ou SAN (Subject Alternative Name) compatibles avec l'identité AD de l'utilisateur.

L’absence de la chaîne complète (racine + intermédiaire) sur les clients peut empêcher la vérification du certificat même s’il est valide.

Assurez-vous que les modèles de certificats ADCS ont bien les usages Client Authentication et que les autorisations de demande sont correctement définies.

Pour une gestion plus souple et centralisée des certificats :
• Venafi – Certificate Management
• ManageEngine Key Manager Plus

• Support Microsoft
• Microsoft Learn
• Recherche Google
• Recherche Github

L’authentification par certificat est une solution puissante mais exigeante en matière de configuration. Grâce aux outils CMD, PowerShell et à des scripts d’audit ciblés, vous pouvez identifier les erreurs liées aux certificats manquants, expirés ou non approuvés. Une bonne gouvernance des modèles, des GPO et des autorités de certification garantit un déploiement efficace et sécurisé dans les environnements professionnels.