Dépannage des problèmes de connexion Windows avec le service d’authentification fédérée
Cet article décrit les journaux et les messages d’erreur fournis par Windows lorsqu’un utilisateur se connecte à l’aide de certificats et/ou de cartes à puce. Ces journaux fournissent des informations que vous pouvez utiliser pour dépanner les échecs d’authentification.
Certificats et infrastructure à clé publique
Windows Active Directory gère plusieurs magasins de certificats qui gèrent les certificats pour les utilisateurs qui se connectent.
- Magasin de certificats NTAuth : Pour s’authentifier auprès de Windows, l’autorité de certification émettant directement les certificats utilisateur (c’est-à-dire qu’aucune chaîne n’est prise en charge) doit être placée dans le magasin NTAuth. Pour afficher ces certificats, à partir du programme certutil, entrez : certutil –viewstore –enterprise NTAuth.
- Magasins de certificats racine et intermédiaires : Généralement, les systèmes de connexion par certificat ne peuvent fournir qu’un seul certificat. Par conséquent, si une chaîne est utilisée, le magasin de certificats intermédiaires sur toutes les machines doit inclure ces certificats. Le certificat racine doit se trouver dans le magasin de racines de confiance, et l’avant-dernier certificat doit se trouver dans le magasin NTAuth.
- Extensions de certificat de connexion et stratégie de groupe : Windows peut être configuré pour appliquer la vérification des EKU et d’autres stratégies de certificat. Consultez la documentation Microsoft : https://docs.microsoft.com/fr-fr/previous-versions/windows/it-pro/windows-server-2008-R2-and-2008/ff404287(v=ws.10)?redirectedfrom=MSDN.
| Stratégie de registre | Description |
|---|---|
| AllowCertificatesWithNoEKU | Lorsqu’elle est désactivée, les certificats doivent inclure l’utilisation étendue de clé (EKU) de connexion par carte à puce. |
| AllowSignatureOnlyKeys | Par défaut, Windows filtre les clés privées de certificat qui n’autorisent pas le déchiffrement RSA. Cette option annule ce filtre. |
| AllowTimeInvalidCertificates | Par défaut, Windows filtre les certificats expirés. Cette option annule ce filtre. |
| EnumerateECCCerts | Active l’authentification par courbe elliptique. |
| X509HintsNeeded | Si un certificat ne contient pas de nom d’utilisateur principal (UPN) unique, ou s’il peut être ambigu, cette option permet aux utilisateurs de spécifier manuellement leur compte de connexion Windows. |
| UseCachedCRLOnlyAnd, IgnoreRevocationUnknownErrors | Désactive la vérification de la révocation (généralement définie sur le contrôleur de domaine). |
- Certificats de contrôleur de domaine : Pour authentifier les connexions Kerberos, tous les serveurs doivent disposer de certificats « Contrôleur de domaine » appropriés. Ceux-ci peuvent être demandés à l’aide du menu du composant logiciel enfichable MMC « Magasin de certificats personnels de l’ordinateur local ».
Nom UPN et mappage de certificat
Il est recommandé que les certificats utilisateur incluent un nom d’utilisateur principal (UPN) unique dans l’extension Nom alternatif du sujet.
Noms UPN dans Active Directory
Par défaut, chaque utilisateur dans Active Directory possède un UPN implicite basé sur le modèle <samUsername>@<domainNetBios> et <samUsername>@<domainFQDN>. Les domaines et FQDN disponibles sont inclus dans l’entrée RootDSE de la forêt. Notez qu’un seul domaine peut avoir plusieurs adresses FQDN enregistrées dans le RootDSE.
De plus, chaque utilisateur dans Active Directory possède un UPN explicite et des altUserPrincipalNames. Ce sont des entrées LDAP qui spécifient l’UPN pour l’utilisateur.
Lors de la recherche d’utilisateurs par UPN, Windows recherche d’abord dans le domaine actuel (en fonction de l’identité du processus recherchant l’UPN) les UPN explicites, puis les UPN alternatifs. S’il n’y a pas de correspondances, il recherche l’UPN implicite, qui peut se résoudre à différents domaines dans la forêt.
Service de mappage de certificats
Si un certificat n’inclut pas d’UPN explicite, Active Directory a la possibilité de stocker un certificat public exact pour chaque utilisation dans un attribut « x509certificate ». Pour résoudre un tel certificat à un utilisateur, un ordinateur peut interroger directement cet attribut (par défaut, dans un seul domaine).
Une option est fournie à l’utilisateur pour spécifier un compte utilisateur qui accélère cette recherche et permet également d’utiliser cette fonctionnalité dans un environnement inter-domaine.
S’il existe plusieurs domaines dans la forêt et que l’utilisateur ne spécifie pas explicitement de domaine, le rootDSE d’Active Directory spécifie l’emplacement du service de mappage de certificats. Celui-ci est généralement situé sur une machine de catalogue global et dispose d’une vue en cache de tous les attributs de certificat x509 de la forêt. Cet ordinateur peut être utilisé pour trouver efficacement un compte utilisateur dans n’importe quel domaine, en se basant uniquement sur le certificat.
Contrôler la sélection du contrôleur de domaine de connexion
Lorsqu’un environnement contient plusieurs contrôleurs de domaine, il est utile de voir et de restreindre le contrôleur de domaine utilisé pour l’authentification, afin que les journaux puissent être activés et récupérés.
Contrôler la sélection du contrôleur de domaine
Pour forcer Windows à utiliser un contrôleur de domaine Windows particulier pour la connexion, vous pouvez définir explicitement la liste des contrôleurs de domaine qu’une machine Windows utilise en configurant le fichier lmhosts : \Windows\System32\drivers\etc\lmhosts.
Il y a généralement un fichier d’exemple nommé « lmhosts.sam » à cet emplacement. Incluez simplement une ligne :
1.2.3.4 dcnetbiosname #PRÉF #DOMAINE:mydomai
Où « 1.2.3.4 » est l’adresse IP du contrôleur de domaine nommé « dcnetbiosname » dans le domaine « mydomain ».
Après un redémarrage, la machine Windows utilise ces informations pour se connecter à mydomain. Notez que cette configuration doit être annulée une fois le débogage terminé.
Identifier le contrôleur de domaine utilisé
Lors de la connexion, Windows définit une variable d’environnement MSDOS avec le contrôleur de domaine qui a connecté l’utilisateur. Pour le voir, démarrez l’invite de commande avec la commande : echo %LOGONSERVER%.
Les journaux relatifs à l’authentification sont stockés sur l’ordinateur renvoyé par cette commande.
Activer les événements d’audit de compte
Par défaut, les contrôleurs de domaine Windows n’activent pas les journaux d’audit de compte complets. Cela peut être contrôlé via les stratégies d’audit dans les paramètres de sécurité de l’éditeur de stratégie de groupe. Une fois activés, le contrôleur de domaine produit des informations supplémentaires de journal d’événements dans le fichier journal de sécurité.

Journaux de validation de certificat
Vérifier la validité du certificat
Si un certificat de carte à puce est exporté en tant que certificat DER (aucune clé privée requise), vous pouvez le valider avec la commande : certutil –verify user.cer
Activer la journalisation CAPI
Sur le contrôleur de domaine et la machine des utilisateurs, ouvrez l’observateur d’événements et activez la journalisation pour Microsoft/Windows/CAPI2/Operational Logs.
Vous pouvez contrôler la journalisation CAPI avec les clés de registre à l’emplacement : CurrentControlSet\Services\crypt32.
| Valeur | Description |
|---|---|
| DiagLevel (DWORD) | Niveau de verbosité (0 à 5) |
| DiagMatchAnyMask (QUADWORD) | Filtre d’événements (utiliser 0xffffff pour tout) |
| DiagProcessName (MULTI_SZ) | Filtrer par nom de processus (par exemple, LSASS.exe) |
Journaux CAPI
| Message | Description |
|---|---|
| Chaîne de construction | LSA a appelé CertGetCertificateChain (inclut le résultat) |
| Vérifier la révocation | LSA a appelé CertVerifyRevocation (inclut le résultat) |
| Objets X509 | En mode détaillé, les certificats et les listes de révocation de certificats (CRL) sont vidés dans AppData\LocalLow\Microsoft\X509Objects |
| Vérifier la politique de chaîne | LSA a appelé CertVerifyChainPolicy (inclut les paramètres) |
Messages d’erreur
| Code d’erreur | Description |
|---|---|
| Certificat non approuvé | Le certificat de carte à puce n’a pas pu être généré à l’aide des certificats des magasins de certificats intermédiaires et racines de confiance de l’ordinateur. |
| Erreur de vérification de la révocation du certificat | La liste de révocation de certificats (CRL) pour la carte à puce n’a pas pu être téléchargée à partir de l’adresse spécifiée par le point de distribution de la CRL du certificat. Si la vérification de la révocation est obligatoire, cela empêche la connexion de réussir. Consultez la section Certificats et infrastructure à clé publique. |
| Erreurs d’utilisation du certificat | Le certificat n’est pas adapté à la connexion. Par exemple, il peut s’agir d’un certificat de serveur ou d’un certificat de signature. |
Journaux Kerberos
Pour activer la journalisation Kerberos, sur le contrôleur de domaine et la machine de l’utilisateur final, créez les valeurs de registre suivantes :
| Ruche | Nom de la valeur | Valeur [DWORD] |
|---|---|---|
| CurrentControlSet\Control\Lsa\Kerberos\Parameters | LogLevel | 0x1 |
| CurrentControlSet\Control\Lsa\Kerberos\Parameters | KerbDebuglevel | 0xffffffff |
| CurrentControlSet\Services\Kdc | KdcDebugLevel | 0x1 |
| CurrentControlSet\Services\Kdc | KdcExtraLogLevel | 0x1f |
La journalisation Kerberos est générée dans le journal d’événements système.
- Les messages tels que « certificat non approuvé » devraient être faciles à diagnostiquer.
- Deux codes d’erreur sont informatifs et peuvent être ignorés en toute sécurité :
- KDC_ERR_PREAUTH_REQUIRED (utilisé pour la compatibilité descendante avec les contrôleurs de domaine plus anciens)
- Erreur inconnue 0x4b
Messages du journal d’événements
Cette section décrit les entrées de journal attendues sur le contrôleur de domaine et le poste de travail lorsque l’utilisateur se connecte avec un certificat.
- Journal CAPI2 du contrôleur de domaine
- Journaux de sécurité du contrôleur de domaine
- Journal de sécurité VDA
- Journal CAPI VDA
- Journal système VDA
Journal CAPI2 du contrôleur de domaine
Lors d’une ouverture de session, le contrôleur de domaine valide le certificat de l’appelant, produisant une séquence d’entrées de journal sous la forme suivante.

Le message final du journal d’événements montre lsass.exe sur le contrôleur de domaine construisant une chaîne basée sur le certificat fourni par le VDA, et la vérifiant pour sa validité (y compris la révocation). Le résultat est renvoyé comme « ERROR_SUCCESS ».

Journal de sécurité du contrôleur de domaine
Le contrôleur de domaine affiche une séquence d’événements d’ouverture de session, l’événement clé étant 4768, où le certificat est utilisé pour émettre le Ticket d’octroi de ticket Kerberos (krbtgt).
Les messages précédents montrent le compte machine du serveur s’authentifiant auprès du contrôleur de domaine. Les messages suivants montrent le compte utilisateur appartenant au nouveau krbtgt étant utilisé pour s’authentifier auprès du contrôleur de domaine.

Journal de sécurité VDA
Le journal d’audit de sécurité VDA correspondant à l’événement d’ouverture de session est l’entrée avec l’ID d’événement 4648, provenant de winlogon.exe.

Journal CAPI du VDA
Cet exemple de journal CAPI du VDA montre une séquence unique de construction et de vérification de chaîne depuis lsass.exe, validant le certificat du contrôleur de domaine (dc.citrixtest.net).


Journal système du VDA
Lorsque la journalisation Kerberos est activée, le journal système affiche l’erreur KDC_ERR_PREAUTH_REQUIRED (qui peut être ignorée), et une entrée de Winlogon indiquant que l’ouverture de session Kerberos a réussi.

Messages d’erreur de l’utilisateur final
Cette section répertorie les messages d’erreur courants affichés à un utilisateur sur la page d’ouverture de session Windows.
| Message d’erreur affiché | Description et référence |
|---|---|
| Nom d’utilisateur ou mot de passe invalide | L’ordinateur estime que vous disposez d’un certificat et d’une clé privée valides, mais le contrôleur de domaine Kerberos a rejeté la connexion. Consultez la section Journaux Kerberos de cet article. |
| Le système n’a pas pu vous connecter. Vos informations d’identification n’ont pas pu être vérifiées. | Le contrôleur de domaine ne peut pas être contacté, ou le contrôleur de domaine ne dispose pas des certificats appropriés installés. |
| La demande n’est pas prise en charge | Réinscrivez les certificats « Domain Controller » et « Domain Controller Authentication » sur le contrôleur de domaine, comme décrit dans CTX206156. Cela vaut généralement la peine d’être essayé, même lorsque les certificats existants semblent valides. |
| Le système n’a pas pu vous connecter. Le certificat de carte à puce utilisé pour l’authentification n’était pas approuvé. | Les certificats intermédiaires et racine ne sont pas installés sur l’ordinateur local. Consultez CTX206156 pour obtenir des instructions sur l’installation des certificats de carte à puce sur les ordinateurs non joints à un domaine. Consultez également la section Certificats et infrastructure à clé publique de cet article. |
| Vous ne pouvez pas vous connecter car la connexion par carte à puce n’est pas prise en charge pour votre compte. | Un compte d’utilisateur de groupe de travail n’a pas été entièrement configuré pour la connexion par carte à puce. |
| La clé demandée n’existe pas | Un certificat fait référence à une clé privée qui n’est pas accessible. Cela peut se produire lorsqu’une carte PIV n’est pas entièrement configurée et qu’il manque le fichier CHUID ou CCC. |
| Une erreur s’est produite lors de la tentative d’utilisation de la carte à puce | Le middleware de la carte à puce n’a pas été installé correctement. Consultez CTX206156 pour les instructions d’installation de la carte à puce. |
| Insérez une carte à puce | La carte à puce ou le lecteur n’a pas été détecté. Si la carte à puce est insérée, ce message indique un problème matériel ou de middleware. Consultez CTX206156 pour les instructions d’installation de la carte à puce. |
| Le code PIN est incorrect | La carte à puce a rejeté un code PIN saisi par l’utilisateur. |
| Aucun certificat de carte à puce valide n’a pu être trouvé. | Les extensions du certificat peuvent ne pas être configurées correctement, ou la clé RSA est trop courte (<2048 bits). Consultez CTX206901 pour plus d’informations sur la génération de certificats de carte à puce valides. |
| La carte à puce est bloquée | Une carte à puce a été verrouillée (par exemple, l’utilisateur a saisi un code PIN incorrect plusieurs fois). Un administrateur peut avoir accès au code de déverrouillage du code PIN (PUK) de la carte et peut réinitialiser le code PIN de l’utilisateur à l’aide d’un outil fourni par le fournisseur de la carte à puce. Si le code PUK n’est pas disponible ou est bloqué, la carte doit être réinitialisée aux paramètres d’usine. |
| Requête incorrecte | Une clé privée de carte à puce ne prend pas en charge la cryptographie requise par le contrôleur de domaine. Par exemple, le contrôleur de domaine peut avoir demandé un « déchiffrement de clé privée », mais la carte à puce ne prend en charge que la signature. Cela indique généralement que les extensions du certificat ne sont pas configurées correctement, ou que la clé RSA est trop courte (<2048 bits). Consultez CTX206901 pour plus d’informations sur la génération de certificats de carte à puce valides. |
Informations connexes
- Configuration d’un domaine pour l’ouverture de session par carte à puce : https://support.citrix.com/article/CTX206156
- Stratégies d’ouverture de session par carte à puce : https://docs.microsoft.com/fr-fr/previous-versions/windows/it-pro/windows-server-2008-R2-and-2008/ff404287(v=ws.10)?redirectedfrom=MSDN
- Activation de la journalisation CAPI : https://social.technet.microsoft.com/wiki/contents/articles/242.troubleshooting-pki-problems-on-windows.aspx
- Activation de la journalisation Kerberos : https://support.microsoft.com/fr-fr/kb/262177
- Directives pour l’activation de l’ouverture de session par carte à puce avec des autorités de certification tierces : https://support.microsoft.com/fr-fr/kb/281245
Dans cet article
- Certificats et infrastructure à clé publique
- Nom UPN et mappage de certificat
- Contrôler la sélection du contrôleur de domaine de connexion
- Activer les événements d’audit de compte
- Journaux de validation de certificat
- Journaux Kerberos
- Messages du journal d’événements
- Journal CAPI2 du contrôleur de domaine
- Journal de sécurité du contrôleur de domaine
- Journal de sécurité VDA
- Journal CAPI du VDA
- Journal système du VDA
- Messages d’erreur de l’utilisateur final
- Informations connexes