You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 6 Next »

Рутокен ЭЦП 2.0 / Рутокен Lite не виден в Terminal командой pcsctest

Описание

В окне "Информация о системе" - "USB" виден Рутокен: 

Однако при запуске тестирования смарт-карты в Terminal командой pcsctest, носитель не отображается:


MacBook-Pro:~ user$ pcsctest MUSCLE PC/SC Lite Test Program Testing SCardEstablishContext : Command successful. Testing SCardGetStatusChange Please insert a working reader : 1


Причина

Устройства Рутокен Lite и Рутокен ЭЦП 2.0 являются USB CCID совместимыми устройствами.

За поддержку стандарта CCID в операционных системах Apple отвечает модуль libccid.

Модуль libccid имеет конфигурационный файл info.plist с описанием устройств, проверенных автором модуля на совместимость. 

Внесение изменений в этот файл должно происходить по строго определенной схеме и, в случае нарушения очередности строк, устройства могут перестать отображаться.

В macOS версии 10.11 и выше был переработан механизм безопасности системы, который блокирует возможность редактирования файла info.plist всем пользователям, в том числе пользователям, обладающими root-правами.


Решение

Отключение System Integrity Protection (SIP)

Для редактирования файла Info.plist необходимо отключить SIP:

1.    Перезагрузите Mac в Recovery Mode. Для этого необходимо нажать "Перезагрузить" и сразу после выключения держать комбинацию Command+R (либо alt) до того момента, пока не появится лого Apple.
2.    Запустить терминал (Utilities > Terminal).
3.    В окне терминала набрать команду csrutil disable и нажать Enter.
4.    Перезагрузить Mac.

Найдите файл info.plist, который находится по адресу: /usr/libexec/SmartCardServices/drivers/ifd-ccid.bundle/Contents/

Переименуйте его.

Скачайте файл info.plist, замените в этой папке и проверьте работу с Рутокен Lite и Рутокен ЭЦП 2.0.


Если SIP необходимо включить, то можно повторить описанные выше действия, изменив команду csrutil disable на csrutil enable.

  • No labels