Résolution des problèmes de carte à puce
Cet article explique les outils et services que les développeurs de carte intelligents peuvent utiliser pour aider à identifier les problèmes de certificat liés au déploiement de carte intelligente.
Le débogage et le suivi des problèmes de carte intelligente nécessitent une variété d’outils et d’approches. Les sections suivantes fournissent des conseils sur les outils et les approches que vous pouvez utiliser.
- Certutil
- Débogage et suivi à l’aide du préprocesseur de trace logicielle Windows (WPP)
- Protocole Kerberos, centre de distribution de clés (KDC) et débogage et suivi NTLM
- Service de carte à puce
- Lecteurs carte intelligents
- CryptoAPI 2.0 Diagnostics
Certutil
Pour obtenir une description complète de Certutil, y compris des exemples qui montrent comment l’utiliser, consultez Certutil [W2012].
Répertorier les certificats disponibles sur le carte intelligent
Pour répertorier les certificats disponibles sur le carte intelligent, tapez certutil.exe -scinfo
.
Remarque
L’entrée d’un code confidentiel n’est pas nécessaire pour cette opération. Vous pouvez appuyer sur Échap si vous êtes invité à entrer un code confidentiel.
Supprimer des certificats sur le carte intelligent
Chaque certificat est placé dans un conteneur. Lorsque vous supprimez un certificat sur le carte intelligent, vous supprimez le conteneur du certificat.
Pour rechercher la valeur du conteneur, tapez certutil.exe -scinfo
.
Pour supprimer un conteneur, tapez certutil.exe -delkey -csp "Microsoft Base Smart Card Crypto Provider" "<ContainerValue>"
.
Débogage et suivi à l’aide de WPP
WPP simplifie le suivi du fonctionnement du fournisseur de traces. Il fournit un mécanisme permettant au fournisseur de trace de journaliser les messages binaires en temps réel. Les messages journalisés peuvent être convertis en une trace lisible de l’opération. Pour plus d’informations, consultez Diagnostics avec WPP - Blog NDIS.
Activer la trace
À l’aide de WPP, utilisez l’une des commandes suivantes pour activer le suivi :
tracelog.exe -kd -rt -start <FriendlyName> -guid <GUID> -f .<LogFileName*>.etl -flags <flags> -ft 1
logman.exe start <FriendlyName> -ets -p {<GUID>} -<Flags> -ft 1 -rt -o .<LogFileName><em>.etl -mode 0x00080000</em>
Vous pouvez utiliser les paramètres du tableau suivant.
Nom convivial | GUID | Flags |
---|---|---|
scardsvr |
13038e47-ffec-425d-bc69-5707708075fe | 0xffff |
winscard |
3fce7c5f-fb3b-4bce-a9d8-55cc0ce1cf01 | 0xffff |
basecsp |
133a980d-035d-4e2d-b250-94577ad8fced | 0x7 |
scksp |
133a980d-035d-4e2d-b250-94577ad8fced | 0x7 |
msclmd |
fb36caf4-582b-4604-8841-9263574c4f2c | 0x7 |
credprov |
dba0e0e0-505a-4ab6-aa3f-22f6f743b480 | 0xffff |
certprop |
30eae751-411f-414c-988b-a8bfa8913f49 | 0xffff |
scfilter |
eed7f3c9-62ba-400e-a001-658869df9a91 | 0xffff |
wudfusbccid |
a3c09ba3-2f62-4be5-a50f-8278a646ac9d | 0xffff |
Exemples
Pour activer le suivi pour le service SCardSvr :
tracelog.exe -kd -rt -start scardsvr -guid \#13038e47-ffec-425d-bc69-5707708075fe -f .\scardsvr.etl -flags 0xffff -ft 1
logman.exe start scardsvr -ets -p {13038e47-ffec-425d-bc69-5707708075fe} 0xffff -ft 1 -rt -o .\scardsvr.etl -mode 0x00080000
Pour activer le suivi pour scfilter.sys
:
tracelog.exe -kd -rt -start scfilter -guid \#eed7f3c9-62ba-400e-a001-658869df9a91 -f .\scfilter.etl -flags 0xffff -ft 1
Arrêter la trace
À l’aide de WPP, utilisez l’une des commandes suivantes pour arrêter le suivi :
tracelog.exe -stop <*FriendlyName*>
logman.exe -stop <*FriendlyName*> -ets
Par exemple, pour arrêter une trace :
tracelog.exe -stop scardsvr
logman.exe -stop scardsvr -ets
Débogage et suivi du protocole Kerberos, du KDC et NTLM
Vous pouvez utiliser ces ressources pour résoudre les problèmes liés à ces protocoles et au KDC :
- Conseils de résolution des problèmes Kerberos et LDAP
- Kit de pilotes Windows (WDK) et Outils de débogage pour Windows (WinDbg). Vous pouvez utiliser l’outil de journal de suivi dans ce kit SDK pour déboguer les échecs d’authentification Kerberos.
Pour commencer le suivi, vous pouvez utiliser Tracelog
. Les différents composants utilisent des GUID de contrôle différents, comme expliqué dans ces exemples. Pour plus d’informations, consultez Tracelog
NTLM
Pour activer le suivi pour l’authentification NTLM, exécutez la commande suivante sur la ligne de commande :
tracelog.exe -kd -rt -start ntlm -guid \#5BBB6C18-AA45-49b1-A15F-085F7ED0AA90 -f .\ntlm.etl -flags 0x15003 -ft 1
Pour arrêter le suivi de l’authentification NTLM, exécutez la commande suivante :
tracelog -stop ntlm
Authentification Kerberos
Pour activer le suivi pour l’authentification Kerberos, exécutez la commande suivante :
tracelog.exe -kd -rt -start kerb -guid \#6B510852-3583-4e2d-AFFE-A67F9F223438 -f .\kerb.etl -flags 0x43 -ft 1
Pour arrêter le suivi de l’authentification Kerberos, exécutez la commande suivante :
tracelog.exe -stop kerb
KDC
Pour activer le suivi du KDC, exécutez la commande suivante sur la ligne de commande :
tracelog.exe -kd -rt -start kdc -guid \#1BBA8B19-7F31-43c0-9643-6E911F79A06B -f .\kdc.etl -flags 0x803 -ft 1
Pour arrêter le suivi du KDC, exécutez la commande suivante sur la ligne de commande :
tracelog.exe -stop kdc
Pour arrêter le suivi à partir d’un ordinateur distant, exécutez la commande suivante :
logman.exe -s <ComputerName>
Remarque
L’emplacement par défaut pour logman.exe est %systemroot%system32. Utilisez l’option -s pour fournir un nom d’ordinateur.
Configurer le suivi avec le registre
Vous pouvez également configurer le suivi en modifiant les valeurs de Registre Kerberos indiquées dans le tableau suivant.
Élément | Paramètre de clé de Registre |
---|---|
NTLM | HKEY_LOCAL_MACHINESYSTEM\CurrentControlSet\Control\Lsa\MSV1_0 Nom de la valeur : NtLmInfoLevel Type de valeur : DWORD Données de valeur : c0015003 |
Kerberos | HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\Kerberos Nom de la valeur : LogToFile Type de valeur : DWORD Données de valeur : 00000001 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\Kerberos\Parameters Nom de la valeur : KerbDebugLevel Type de valeur : DWORD Données de valeur : c0000043 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\Kerberos\Parameters Nom de la valeur : LogToFile Type de valeur : DWORD Données de valeur : 00000001 |
KDC | HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Kdc Nom de la valeur : KdcDebugLevel Type de valeur : DWORD Données de valeur : c0000803 |
Si vous avez utilisé Tracelog
, recherchez le fichier journal suivant dans votre répertoire actif : kerb.etl/kdc.etl/ntlm.etl
.
Si vous avez utilisé les paramètres de clé de Registre indiqués dans le tableau précédent, recherchez les fichiers journaux de trace aux emplacements suivants :
- NTLM:
%systemroot%\tracing\msv1_0
- Kerberos:
%systemroot%\tracing\kerberos
- KDC:
%systemroot%\tracing\kdcsvc
Pour décoder les fichiers de trace d’événements, vous pouvez utiliser Tracefmt
(tracefmt.exe).
Tracefmt
est un outil en ligne de commande qui met en forme et affiche les messages de suivi à partir d’un fichier journal de suivi d’événements (.etl) ou d’une session de suivi en temps réel.
Tracefmt
peut afficher les messages dans la fenêtre d’invite de commandes ou les enregistrer dans un fichier texte. Il se trouve dans le sous-répertoire \tools\tracing du Kit de pilotes Windows (WDK). Pour plus d’informations, voir Tracefmt
.
Service de carte à puce
Le service Resource Manager smart carte s’exécute dans le contexte d’un service local. Il est implémenté en tant que service partagé du processus hôte de services (svchost).
Pour case activée si le service de carte à puce est en cours d’exécution :
- Appuyez sur Ctrl+Alt+Suppr, puis sélectionnez Démarrer le Gestionnaire des tâches
- Dans la boîte de dialogue Gestionnaire des tâches Windows, sélectionnez l’onglet Services
- Sélectionnez la colonne Nom pour trier la liste par ordre alphabétique, puis tapez s
- Dans la colonne Nom , recherchez SCardSvr, puis regardez sous la colonne État pour voir si le service est en cours d’exécution ou arrêté
Pour redémarrer le service de carte à puce :
- Exécuter en tant qu’administrateur à l’invite de commandes
- Si la boîte de dialogue Contrôle de compte d’utilisateur s’affiche, vérifiez que l’action qu’elle affiche correspond à ce que vous voulez, puis sélectionnez Oui.
- À l’invite de commandes, tapez
net stop SCardSvr
- À l’invite de commandes, tapez
net start SCardSvr
Vous pouvez utiliser la commande suivante à l’invite de commandes pour case activée si le service est en cours d’exécution : sc queryex scardsvr
.
L’exemple de code suivant est un exemple de sortie de cette commande :
SERVICE_NAME: scardsvr
TYPE : 20 WIN32_SHARE_PROCESS
STATE : 4 RUNNING
(STOPPABLE, NOT_PAUSABLE, ACCEPTS_SHUTDOWN)
WIN32_EXIT_CODE : 0 (0x0)
SERVICE_EXIT_CODE : 0 (0x0)
CHECKPOINT : 0x0
WAIT_HINT : 0x0
PID : 1320
FLAGS :
C:\>
Lecteurs carte intelligents
Comme pour n’importe quel appareil connecté à un ordinateur, Gestionnaire de périphériques pouvez être utilisé pour afficher les propriétés et commencer le processus de débogage.
Pour case activée si le lecteur carte intelligent fonctionne :
- Accédez à Ordinateur
- Cliquez avec le bouton droit sur Ordinateur, puis sélectionnez Propriétés
- Sous Tâches, sélectionnez Gestionnaire de périphériques
- Dans Gestionnaire de périphériques, développez Lecteurs smart carte, sélectionnez le nom du lecteur carte intelligent que vous souhaitez case activée, puis sélectionnez Propriétés
Remarque
Si le lecteur carte intelligent n’est pas répertorié dans Gestionnaire de périphériques, dans le menu Action, sélectionnez Rechercher les modifications matérielles.
CryptoAPI 2.0 Diagnostics
Les diagnostics CryptoAPI 2.0 sont disponibles dans les versions de Windows qui prennent en charge CryptoAPI 2.0 et peuvent vous aider à résoudre les problèmes d’infrastructure à clé publique (PKI).
Les diagnostics CryptoAPI 2.0 journalise les événements dans le journal des événements Windows. Les journaux contiennent des informations détaillées sur la validation de la chaîne de certificats, les opérations de magasin de certificats et la vérification des signatures. Ces informations facilitent l’identification des causes des problèmes et réduisent le temps nécessaire au diagnostic.
Pour plus d’informations sur les diagnostics CryptoAPI 2.0, consultez Résolution des problèmes d’une infrastructure à clé publique d’entreprise.