Firefox показывает несколько PIN-запросов для смарт-карт с использованием OpenSC

469
Coderer

Я установил OpenSC 0.18 и добавил DLL PKCS11 в качестве поставщика устройств безопасности в Firefox 61. Я могу «разблокировать» свою смарт-карту из диалогового окна «Устройства безопасности» и получить запрос на ввод PIN-кода, как и ожидалось. Но когда я захожу на сайт, который хочет использовать карту для аутентификации, у меня появляется запрос на ввод PIN-кода еще до того, как меня попросят выбрать сертификат. Затем я получаю приглашение много раз (5-10) до завершения процесса входа в систему. Посещение того же сайта из коробки Linux (с использованием coolkeyдрайверов) приводит к одному запросу PIN-кода.

Я использую файл конфигурации по умолчанию для OpenSC, который, я думаю, означает, что кэширование PIN должно быть включено. Я даже не знаю, является ли это проблемой Firefox, проблемой OpenSC или чем-то специфическим для рассматриваемого сайта. Как я могу остановить это чрезмерное побуждение?

1
Пожалуйста, уточните, какую смарт-карту вы используете (я предполагаю, что это PIV). Вы должны быть в состоянии использовать OpenSC также на Linux, чтобы убедиться, что это не проблема окон - у меня нет опыта использования там смарт-карт. Использование опции pin_cache_ignore_user_consent` также может решить ваши проблемы. Jakuje 6 лет назад 0
Спасибо за продолжение, я должен был обновить этот вопрос, когда решил проблему. [Этот вопрос] (https://github.com/OpenSC/OpenSC/issues/1436) содержит подробности, но в короткой версии это ID с двумя CAC / PIV, сайт был настроен для запроса сертификата DS (не ID) ) из модуля PIV, а апплету PIV всегда требуется PIN-код при использовании сертификата DS. Сайт может исправить это, запросив идентификатор вместо DS. В то же время я исправил это, принудительно установив драйвер CAC, который не устанавливает пин-код для доступа DS. Coderer 6 лет назад 0
Рад слышать, что ты решил свою проблему. Пожалуйста, заполните ответ, как вы решили свою проблему, чтобы другие, кто может наткнуться на это, знали, что делать. С двумя картами трудно иметь дело. Jakuje 6 лет назад 0

2 ответа на вопрос

3
Douglas Engert

Многократные запросы на ввод PIN-кода могут быть вызваны тем, что модуль PKCS11 возвращает неверную информацию о состоянии входа в систему карты. Это также может быть вызвано, например, настройкой в ​​файле opensc.confdisconnect=reset;

Требуется больше информации. См. Using-OpenSC о том, как использовать PKCS # 11 Spy и как получить opensc-debug.log.

Если это похоже на проблему OpenSC, продолжайте обсуждение, отправляя проблему в разделах OpenSC.

Я буду следить за подробным журналом отладки на трекере проблем проекта; если это легко исправить, я сообщу здесь. Coderer 6 лет назад 0
Это было легко исправить. См. Комментарий, который я только что оставил по этому вопросу, но в моем случае ответ был «принудительное использование драйвера` cac` в файле конфигурации ». Coderer 6 лет назад 0
0
Coderer

Для потомков: моя конкретная проблема была вызвана тем, что сайт запрашивал сертификат DS у апплета PIV, который всегда запрашивает PIN-код при каждом обращении к сертификату DS. Долгосрочное решение было бы для сайта запросить удостоверение личности, а не DS One. Краткосрочное решение заключается в обновлении, opensc.confчтобы включить строку force_card_driver = cac;. Это означает, что OpenSC будет использовать драйвер CAC вместо драйвера PIV.