Рутокен ЭЦП SC & OpenSC - Unsupported card

Здравствуйте,

Что с этим делать?

snadezhdin@snadezhdin:~$ opensc-tool --reader 0 --atr
3b:9c:96:00:52:75:74:6f:6b:65:6e:45:43:50:73:63
snadezhdin@snadezhdin:~$ opensc-tool --reader 0 --name
Unsupported card

Debian 9+unstable(смешаная система). OpenSC 0.19.0-1.

Сделал выбор в пользу рутокен на основании саморекламных статей на хабре, типа этой:
https://habr.com/company/aktiv-company/blog/139183/
Где всё это? Почему не работает? :)

Re: Рутокен ЭЦП SC & OpenSC - Unsupported card

Здравствуйте, SNadezhdin.

Опишите, пожалуйста, подробнее, какую задачу решаете — например, настраиваете удаленный доступ через SSH по Рутокен или что то еще (что именно)?
По какой инструкции настраиваете?

Re: Рутокен ЭЦП SC & OpenSC - Unsupported card

Да, настраиваю удаленный доступ через SSH, но застрял в самом начале - генерация ключа. Юзаю селективно эту инструкцию: https://dev.rutoken.ru/pages/viewpage.a … Id=3440696 .

snadezhdin@snadezhdin:~$ pkcs15-init -E
Using reader with a card: ACS ACR 38U-CCID 00 00
Failed to connect to card: Card is invalid or cannot be handled

Ридер исправен. Ведь тогда он бы не вернул адекватный ответ на --atr при предъявлении карты, так ведь?

Re: Рутокен ЭЦП SC & OpenSC - Unsupported card

Попробуйте вместо pam_p11 использовать pam_pkcs11.

(2018-10-19 09:42:22 отредактировано SNadezhdin)

Re: Рутокен ЭЦП SC & OpenSC - Unsupported card

Нет смысла дёргать PAM, если я даже карту инициализировать не могу.
Решил пойти путём с использованием официального инструмента с сайта(librtpkcs11ecp) раз заялвенный opensc не робит.
Получил следующее:

snadezhdin@snadezhdin:~/Downloads$ pkcs11-tool --module /usr/lib/librtpkcs11ecp.so --keypairgen --key-type rsa:2048 -l --id 45
Using slot 0 with a present token (0x0)
Logging in to "Rutoken ECP <no label>".
WARNING: user PIN to be changed
Please enter User PIN: 
error: PKCS11 function C_GenerateKeyPair failed: rv = CKR_DEVICE_ERROR (0x30)
Aborting.
snadezhdin@snadezhdin:~/Downloads$ 

Может карта труп? Это первый случай в моей практике, когда смарт-карта не работает с рождения :/ Разочарование.

Re: Рутокен ЭЦП SC & OpenSC - Unsupported card

SNadezhdin пишет:

Может карта труп?

Потестируйте карту на нашем портале ra.rutoken.ru — тут можно сгенерировать ключевую пару, создать запрос на тестовый сертификат и записать его.
Сообщите о результатах, пожалуйста.

(2018-10-19 11:38:59 отредактировано SNadezhdin)

Re: Рутокен ЭЦП SC & OpenSC - Unsupported card

Карту определяет - пин-код меняет без проблем, но ключи не генеряться в упор:

Потеряна связь с токеном(красный круг и крест) Переподключите Rutoken. ECP <no label> к компьютеру.

Серийный номер, если что: 09 51 02 008 1

Re: Рутокен ЭЦП SC & OpenSC - Unsupported card

SNadezhdin пишет:

Карту определяет - пин-код меняет без проблем, но ключи не генеряться в упор:

Нужно отформатировать ( kb.rutoken.ru/display/KB/PU1001 ) карту при помощи утилиты "Панель управления Рутокен" и снова проверить генерацию.

Re: Рутокен ЭЦП SC & OpenSC - Unsupported card

Да, это решило одну из проблем: librtpkcs11ecp смог сгенерировать ключ после форматирования, но опять же возвращаемся к оригинальной проблеме: где заявленная поддержка opensc? Почему всё нужно было делать через винды? Почему очистка карты через opensc проваливается?
Я очень доволен собой, что приобрёл её только в одном экземпляре для тестов перед внедрением, так как теперь понимаю, что на деле ничего не работает как заявлено и это была бы грандиозная трата денег.
Разворачивать librtpkcs11ecp с этим километровым лицензионным соглашением - совсем не удобно также.

Будут ли приняты меры, чтобы всё-таки обеспечить заявленную полноценную работоспособность под opensc без танцев с бубном и виндами?

(2018-10-19 14:40:59 отредактировано Владимир Салыкин)

Re: Рутокен ЭЦП SC & OpenSC - Unsupported card

Добрый день, SNadezhdin.

Давайте разбираться по всем вопросам.
1. Поддержка opensc, к сожалению, плавает от версии к версии, и к нашему большому сожалению почти не зависит от нас. У проекта OpenSC в целом оригинальный взгляд на мир токенов\смарт-карт, который считает, что все они идеально поддерживают PKCS#15. В реальном мире таких устройств не существует. Мы стараемся проверять все релизные версии opensc и пишем патчи, но скорость их применения не самая высокая. А уж скорость обновления версий opensc в дистрибутивах и того ниже. Мы всегда заявляем, что лучше пользоваться нашим pkcs#11, так как он в наших руках и поддерживается куда лучше, а pkcs#15 и opensc брать только в том случае, если он очень нужен по каким-то причинам. Похоже пора это прям в инструкции добавить.
2. На самом деле Винда для форматирования не обязательна, просто посоветовали самое типовое решение. Для Linux у нас есть консольная утилита форматирования rtAdmin (https://dev.rutoken.ru/pages/viewpage.a … Id=7995615).
3. Очистку через opensc еще раз проверим сегодня. Но как я писал в первом пункте нюансов много. upd. Проблему воспроизвели. Будем брать в работу.
4. Про librtpkcs11ecp не совсем понял, что вы имели ввиду про лицензионное соглашение. Проблема в том, что оно длинное? В том, что оно вообще есть на сайте или в чем?
5. Надеюсь, Вы понимаете, что в данном случае проблема даже не с поддержкой наших устройств в OpenSC, а с поддержкой своих ридеров в OpenSC компанией ACS ACR.

upd2. Похоже компания ACS решила, что для своих ридеров они будут делать свой альтернативный ccid драйвер. Можете попробовать - https://packages.debian.org/sid/libacsccid1

Re: Рутокен ЭЦП SC & OpenSC - Unsupported card

Здравствуйте,

Понимаю, но очень много официальных статей, которые не обозначают этот аспект. Да, указать на эту особенность очень было бы желательно - если бы это было обозначено, то всей этой проблемы и не было бы.
Документация нуждаеться в серьёзной доработке - так как сам факт существования всего этого добра очень не очевиден. Есть ли возможность собрать утилиту из исходников или всё привязано к бинарной совместимости конкретных предоставленных сборок? Что насчёт встраивания этого? Распространяеться ли общая лицензия из SDK на это?

По поводу лицензии - есть общая лицензия, да, но архивы скачанные с сайта(за исключением sdk) не имееют вложенной лицензии и совсем не понятно являеться ли предустановка, переупаковка, стороннее онлайн-обновление пакетов(и тому подобное) модификацией.

По поводу пятого: Тогда почему отсутсвует упоминание 3b:9c:96:00:52:75:74:6f:6b:65:6e:45:43:50:73:63 в кодобазе openSC? Здесь явно что-то не чисто. И на ридер не жалуюсь - Рутокен ЭЦП SC первая смарт-карта, которая под OpenSC отказалась быть определяемой(из тех, которые я использовал).

В общем есть над чем работать. Как средство авторизации и аутентификации в офисе рутокен использовать можно. Для интеграции в публичный продукт - это пока останется под вопросом, т.к. работа с рутокеном занимает необосновано много времени, в отличии от аналогов(более дорогостоящих, надо отдать должное, но лучше переплатить, чем затем страдать :)

Re: Рутокен ЭЦП SC & OpenSC - Unsupported card

Добрый день, SNadezhdin.

1. Все официальные статьи написаны для токенов, так как там мы делаем и считыватель и саму смарт-карточную часть. Но согласен, что документацию можно и нужно дорабатывать. Мы стараемся по каждому такому обращению вносить правки.
2. rtAdmin предоставляется в бинарном виде. Если сборка по тем или иным причинам не заработает или требуется под специальную архитектуру мы готовы такие сборки предоставлять. Жестких бинарных зависимостей там нет в принципе. Что вы подразумеваете под встраиванием rtAdmin непонятно. Вызов из скриптов? Это не отличается от обычного использования.
3. Предустановка, переупаковка и обновление не является модификацией. Под модификацией подразумевается в первую очередь бинарная модификация с целью изменить функциональность на не заложенную нами.
4. Как я и говорил, порой в OpenSC происходят не контролируемые нами изменения. Будем разбираться, почему смарт-карты не работают.

Спасибо за Вашу обратную связь. Будем работать над улучшением поддержки наших продуктов в Linux.