Устранение неполадок со смарт-картой Smart Card Troubleshooting
Применимо к: Windows 10, Windows Server 2016 Applies To: Windows 10, Windows Server 2016
В этой статье рассказывается о средствах и службах, которые могут использоваться разработчиками смарт-карт для выявления проблем с сертификатом при развертывании смарт-карт. This article explains tools and services that smart card developers can use to help identify certificate issues with the smart card deployment.
Для отладки и отслеживания проблем с использованием смарт-карт необходимо много средств и подходов. Debugging and tracing smart card issues requires a variety of tools and approaches. В следующих разделах приведены рекомендации по использованию средств и подходов, которые можно использовать. The following sections provide guidance about tools and approaches you can use.
Команды Certutil
Полное описание программы Certutil, в том числе примеры, в котором показано, как использовать его, можно найти в разделе [certutil \ W2012 ]. For a complete description of Certutil including examples that show how to use it, see Certutil [W2012].
Список сертификатов, доступных на смарт-карте List certificates available on the smart card
Чтобы получить список сертификатов, доступных на смарт-карте, введите certutil-scinfo. To list certificates that are available on the smart card, type certutil -scinfo.
Ввод ПИН-кода для этой операции не требуется. Entering a PIN is not required for this operation. Если вам будет предложено ввести ПИН-код, вы можете нажать клавишу ESC. You can press ESC if you are prompted for a PIN.
Удаление сертификатов на смарт-карте Delete certificates on the smart card
Каждый сертификат заключен в контейнер. Each certificate is enclosed in a container. При удалении сертификата со смарт-картой удаляется контейнер для сертификата. When you delete a certificate on the smart card, you are deleting the container for the certificate.
Чтобы найти значение контейнера, введите certutil-scinfo. To find the container value, type certutil -scinfo.
Чтобы удалить контейнер, введите certutil-delkey-CSP «базовый поставщик криптографии смарт-карт Microsoft» » «. To delete a container, type certutil -delkey -csp «Microsoft Base Smart Card Crypto Provider» » «.
Отладка и трассировка с помощью WPP Debugging and tracing using WPP
Препроцессор трассировки программного обеспечения (WPP) для Windows упрощает трассировку операции поставщика трассировки. Windows software trace preprocessor (WPP) simplifies tracing the operation of the trace provider. Он обеспечивает механизм для поставщика трассировки для ведения журнала двоичных сообщений в реальном времени. It provides a mechanism for the trace provider to log real-time binary messages. Записанные в журнал сообщения можно преобразовать в отслеживаемую для восприятия операцию. Logged messages can be converted to a human-readable trace of the operation. Дополнительные сведения можно найти в разделе Диагностика с помощью конвейера WPP — блога NDIS. For more information, see Diagnostics with WPP — The NDIS blog.
Включение трассировки Enable the trace
С помощью конвейера WPP используйте одну из следующих команд для включения трассировки: Using WPP, use one of the following commands to enable tracing:
tracelog.exe-KD-RT-Start -GUID \ # *-f. \ * ETL-флаги ) -ft 1 tracelog.exe -kd -rt -start -guid # -f .\ .etl -flags -ft 1
Запуск Logman -ETS-p <>- *-ft 1-RT-o. \ * * . ETL-режим 0x00080000 logman start -ets -p <> — -ft 1 -rt -o .\ *.etl -mode 0x00080000
Вы можете использовать параметры, приведенные в таблице ниже. You can use the parameters in the following table.
Понятное имя Friendly name | Код GUID GUID | Флаги Flags |
---|---|---|
scardsvr scardsvr | 13038e47-ffec-425d-bc69-5707708075fe 13038e47-ffec-425d-bc69-5707708075fe | 0xFFFF 0xffff |
winscard winscard | 3fce7c5f-fb3b-4bce-a9d8-55cc0ce1cf01 3fce7c5f-fb3b-4bce-a9d8-55cc0ce1cf01 | 0xFFFF 0xffff |
basecsp basecsp | 133a980d-035d-4e2d-b250-94577ad8fced 133a980d-035d-4e2d-b250-94577ad8fced | 0x7 0x7 |
scksp scksp | 133a980d-035d-4e2d-b250-94577ad8fced 133a980d-035d-4e2d-b250-94577ad8fced | 0x7 0x7 |
msclmd msclmd | fb36caf4-582b-4604-8841-9263574c4f2c fb36caf4-582b-4604-8841-9263574c4f2c | 0x7 0x7 |
credprov credprov | dba0e0e0-505a-4ab6-aa3f-22f6f743b480 dba0e0e0-505a-4ab6-aa3f-22f6f743b480 | 0xFFFF 0xffff |
certprop certprop | 30eae751-411f-414c-988b-a8bfa8913f49 30eae751-411f-414c-988b-a8bfa8913f49 | 0xFFFF 0xffff |
scfilter scfilter | eed7f3c9-62ba-400e-a001-658869df9a91 eed7f3c9-62ba-400e-a001-658869df9a91 | 0xFFFF 0xffff |
wudfusbccid wudfusbccid | a3c09ba3-2f62-4be5-a50f-8278a646ac9d a3c09ba3-2f62-4be5-a50f-8278a646ac9d | 0xFFFF 0xffff |
Чтобы включить трассировку для службы SCardSvr, выполните указанные ниже действия. To enable tracing for the SCardSvr service:
tracelog.exe-KD-RT-startscardsvr-GUID \ #13038e47-ffec-425d-bc69-5707708075fe-f. \ \ ScardSvr. ETL-flags0xffff-FT1 tracelog.exe-kd-rt-startscardsvr-guid#13038e47-ffec-425d-bc69-5707708075fe-f.\scardsvr.etl-flags0xffff-ft1
logmanstartscardsvr-ETS-p <13038e47-ffec-425d-bc69-5707708075fe>0xFFFF-FT1-RT-o. \ \ ScardSvr. ETL-mode0x00080000 logmanstartscardsvr-ets-p<13038e47-ffec-425d-bc69-5707708075fe>0xffff-ft1-rt-o.\scardsvr.etl-mode0x00080000
Чтобы включить трассировку для scfilter.sys, выполните указанные ниже действия. To enable tracing for scfilter.sys:
- tracelog.exe-KD-RT-startscfilter-GUID \ #eed7f3c9 -62ba-400E-A001-658869df9a91-f. \ \ scfilter. ETL-flags0xffff-FT1 tracelog.exe-kd-rt-startscfilter-guid#eed7f3c9-62ba-400e-a001-658869df9a91-f.\scfilter.etl-flags0xffff-ft1
Остановка трассировки Stop the trace
С помощью конвейера WPP можно остановить трассировку, используя одну из следующих команд: Using WPP, use one of the following commands to stop the tracing:
Остановкаtracelog.exe tracelog.exe -stop
Logman — стоп -ETS logman -stop -ets
Примеры: Examples
Чтобы остановить трассировку, выполните указанные ниже действия. To stop a trace:
tracelog.exe остановки SCardSvr tracelog.exe -stop scardsvr
Logman-Stop SCardSvr-ETS logman -stop scardsvr -ets
Протокол Kerberos, и отладка KDC и проверки подлинности и трассировка NTLM Kerberos protocol, KDC and NTLM debugging and tracing
Ниже приведены ресурсы, которые можно использовать для устранения неполадок с этими протоколами и KDC. You can use these resources to troubleshoot these protocols and the KDC:
Комплект драйверов Windows (WDK) и инструменты для отладки для Windows (WinDbg). Windows Driver Kit (WDK) and Debugging Tools for Windows (WinDbg). Вы можете использовать средство ведения журнала трассировки в пакете SDK для отладки сбоев проверки подлинности Kerberos. You can use the trace log tool in this SDK to debug Kerberos authentication failures.
Для начала трассировки можно использовать tracelog. To begin tracing, you can use Tracelog. Различные компоненты используют различные GUID элементов управления, как описано в приведенных ниже примерах. Different components use different control GUIDs as explained in these examples. Дополнительные сведения можно найти в разделе tracelog. For more information, see Tracelog.
Протокол NTLM NTLM
Чтобы включить трассировку для проверки подлинности NTLM, выполните следующую команду в командной строке: To enable tracing for NTLM authentication, run the following at the command line:
- tracelog.exe-KD-RT-Start NTLM-GUID \ #5BBB6C18-AA45-49b1-A15F-085F7ED0AA90-f .\ntlm.ETL-flags 0x15003-футов 1 tracelog.exe -kd -rt -start ntlm -guid #5BBB6C18-AA45-49b1-A15F-085F7ED0AA90 -f .\ntlm.etl -flags 0x15003 -ft 1
Чтобы остановить трассировку для проверки подлинности NTLM, выполните следующую команду: To stop tracing for NTLM authentication, run this command:
- tracelog — остановить NTLM tracelog -stop ntlm
Проверка подлинности Kerberos Kerberos authentication
Чтобы включить трассировку для проверки подлинности Kerberos, выполните следующую команду: To enable tracing for Kerberos authentication, run this command:
- tracelog.exe-KD-RT-Start Kerb-GUID \ #6B510852-3583-4e2d-AFFE-A67F9F223438-f .\kerb.ETL-flags 0x43 1 м tracelog.exe -kd -rt -start kerb -guid #6B510852-3583-4e2d-AFFE-A67F9F223438 -f .\kerb.etl -flags 0x43 -ft 1
Чтобы остановить трассировку для проверки подлинности Kerberos, выполните следующую команду: To stop tracing for Kerberos authentication, run this command:
- tracelog.exe остановки Kerb tracelog.exe -stop kerb
ЦЕНТР KDC
Чтобы включить трассировку для центра распространения ключей (KDC), выполните в командной строке следующее: To enable tracing for the Key Distribution Center (KDC), run the following at the command line:
- tracelog.exe-KD-RT-Start KDC-GUID \ #1BBA8B19-7F31-43c0-9643-6E911F79A06B-f .\kdc.ETL-flags 0x803-футов 1 tracelog.exe -kd -rt -start kdc -guid #1BBA8B19-7F31-43c0-9643-6E911F79A06B -f .\kdc.etl -flags 0x803 -ft 1
Чтобы остановить трассировку для центра распространения ключей, выполните следующую команду в командной строке: To stop tracing for the KDC, run the following at the command line:
- tracelog.exe — остановить KDC tracelog.exe -stop kdc
Чтобы остановить трассировку на удаленном компьютере, выполните эту команду: logman.exe-s * *. To stop tracing from a remote computer, run this command: logman.exe -s .
По умолчанию для logman.exe задано расположение% SystemRoot% System32 \ . The default location for logman.exe is %systemroot%system32\. Укажите имя компьютера с помощью параметра -s . Use the -s option to supply a computer name.
Настройка трассировки с помощью реестра Configure tracing with the registry
Вы также можете настроить трассировку, изменив значения реестра Kerberos, показанные в приведенной ниже таблице. You can also configure tracing by editing the Kerberos registry values shown in the following table.
Элемент Element | Параметр «раздел» в реестре Registry Key Setting |
---|---|
Протокол NTLM NTLM | HKEY \ _LOCAL \ _MACHINE \SYSTEM\CurrentControlSet\Control\Lsa\MSV1_0 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\MSV1_0 Имя значения: NtLmInfoLevel Value name: NtLmInfoLevel Тип значения: DWORD Value type: DWORD Данные значения: c0015003 Value data: c0015003 |
Kerberos Kerberos | HKEY \ _LOCAL \ _MACHINE \SYSTEM\CurrentControlSet\Control\Lsa\Kerberos HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\Kerberos Имя значения: LogToFile Value name: LogToFile Тип значения: DWORD Value type: DWORD Данные значения: 00000001 Value data: 00000001 HKEY \ _LOCAL \ _MACHINE \SYSTEM\CurrentControlSet\Control\Lsa\Kerberos\Parameters HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\Kerberos\Parameters HKEY \ _LOCAL \ _MACHINE \SYSTEM\CurrentControlSet\Control\Lsa\Kerberos\Parameters HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\Kerberos\Parameters |
ЦЕНТР KDC | HKEY \ _LOCAL \ _MACHINE \SYSTEM\CurrentControlSet\Services\Kdc HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Kdc Имя значения: KdcDebugLevel Value name: KdcDebugLevel Тип значения: DWORD Value type: DWORD Данные значения: c0000803 Value data: c0000803 |
Если вы использовали tracelog, найдите следующий файл журнала в текущем каталоге: Kerb. ETL/KDC. ETL/NTLM. ETL. If you used Tracelog, look for the following log file in your current directory: kerb.etl/kdc.etl/ntlm.etl.
Если вы использовали параметры раздела реестра, показанные в предыдущей таблице, найдите файлы журнала трассировки в следующих папках: If you used the registry key settings shown in the previous table, look for the trace log files in the following locations:
NTLM:%systemroot%\tracing\msv1_0 NTLM: %systemroot%\tracing\msv1_0
Kerberos:%systemroot%\tracing\kerberos Kerberos: %systemroot%\tracing\kerberos
KDC:%systemroot%\tracing\kdcsvc KDC: %systemroot%\tracing\kdcsvc
Для расшифровки файлов трассировки событий можно использовать Tracefmt (tracefmt.exe). To decode event trace files, you can use Tracefmt (tracefmt.exe). Tracefmt — это средство командной строки, которое форматирует и отображает сообщения трассировки из файла журнала трассировки событий (ETL) или сеанса трассировки в режиме реального времени. Tracefmt is a command-line tool that formats and displays trace messages from an event trace log file (.etl) or a real-time trace session. Tracefmt может отобразить сообщения в окне командной строки или сохранить их в текстовом файле. Tracefmt can display the messages in the Command Prompt window or save them in a text file. Она находится в подкаталоге \tools\tracing пакета драйверов Windows (WDK). It is located in the \tools\tracing subdirectory of the Windows Driver Kit (WDK). Дополнительные сведения можно найти в разделе Tracefmt. For more information, see Tracefmt.
Служба смарт-карт Smart Card service
Служба диспетчера ресурсов смарт-карт запускается в контексте локальной службы. The smart card resource manager service runs in the context of a local service. Она реализована как общая служба процесса узла служб (SVCHOST). It’s implemented as a shared service of the services host (svchost) process.
Проверка того, запущена ли служба смарт-карт To check if Smart Card service is running
Нажмите клавиши CTRL + ALT + DELETE, а затем — запустить диспетчер задач. Press CTRL+ALT+DEL, and then click Start Task Manager.
В диалоговом окне Диспетчер задач Windows откройте вкладку службы . In the Windows Task Manager dialog box, click the Services tab.
Щелкните столбец имя , чтобы отсортировать список по алфавиту, а затем введите s. Click the Name column to sort the list alphabetically, and then type s.
В столбце имя найдите SCardSvrи просмотрите столбец Status (состояние ), чтобы узнать, запущена или остановлена служба. In the Name column, look for SCardSvr, and then look under the Status column to see if the service is running or stopped.
Перезапуск службы смарт-карт To restart Smart Card service
В командной строке запустите от имени администратора. Run as administrator at the command prompt.
Если откроется диалоговое окно Контроль учетных записей , убедитесь, что в нем указано требуемое действие, а затем нажмите кнопку Да. If the User Account Control dialog box appears, confirm that the action it displays is what you want, and then click Yes.
В командной строке введите net stop SCardSvr. At the command prompt, type net stop SCardSvr.
В командной строке введите net start SCardSvr. At the command prompt, type net start SCardSvr.
Вы можете использовать в командной строке следующую команду, чтобы проверить, запущена ли служба: SC SCardSvr. You can use the following command at the command prompt to check whether the service is running: sc queryex scardsvr.
Ниже приведен пример выходных данных команды. This is an example output from this command:
Устройства чтения смарт-карт Smart card readers
Как и любые устройства, подключенные к компьютеру, диспетчер устройств может использоваться для просмотра свойств и начала процесса отладки. As with any device connected to a computer, Device Manager can be used to view properties and begin the debug process.
Проверка работоспособности устройства чтения смарт-карт To check if smart card reader is working
Перейдите на компьютер. Navigate to Computer.
Щелкните правой кнопкой мыши значок компьютери выберите пункт свойства. Right-click Computer, and then click Properties.
В разделе задачищелкните элемент Диспетчер устройств. Under Tasks, click Device Manager.
В диспетчере устройств разверните узел устройства чтения смарт-карт, выберите имя устройства чтения смарт-карт, которое вы хотите проверить, и нажмите кнопку свойства. In Device Manager, expand Smart card readers, select the name of the smart card reader you want to check, and then click Properties.
Если устройство чтения смарт-карт не отображается в диспетчере устройств, в меню действие выберите пункт Обновить конфигурацию оборудования. If the smart card reader is not listed in Device Manager, in the Action menu, click Scan for hardware changes.
Центр диагностики CryptoAPI 2,0 CryptoAPI 2.0 Diagnostics
Центр диагностики CryptoAPI 2,0 доступен в версиях Windows, которые поддерживают CryptoAPI 2,0 и могут помочь при устранении проблем инфраструктуры открытых ключей (PKI). CryptoAPI 2.0 Diagnostics is available in Windows versions that support CryptoAPI 2.0 and can help you troubleshoot public key infrastructure (PKI) issues.
Центр диагностики CryptoAPI 2,0 регистрирует события в журнале событий Windows. CryptoAPI 2.0 Diagnostics logs events in the Windows event log. Журналы содержат подробные сведения о проверке цепочки сертификатов, операциях хранилища сертификатов и проверке подписей. The logs contain detailed information about certificate chain validation, certificate store operations, and signature verification. Эта информация упрощает определение причин проблем и сокращает время, необходимое для диагностики. This information makes it easier to identify the causes of issues and reduces the time required for diagnosis.
Дополнительные сведения об диагностиках CryptoAPI 2,0 можно найти в разделе Устранение неполадок инфраструктуры предприятия. For more information about CryptoAPI 2.0 Diagnostics, see Troubleshooting an Enterprise PKI.