Преди малко драснах във вътрешния форум на компанията няколко реда за един колега, който искаше да подкара смарткартите ни под Linux. Реших, че може да свърши работа и на някой друг, затова го пускам тук:

Намерих малко време и направих един бърз експеримент със CCID четец и SetCOS смарткарти, които под windows вървят със SetWEB-а. Резултата е успешен.
Ето какво направих:

0) Хардуер
alex@si:~$ pcsc_scan
PC/SC device scanner
V 1.4.9 (c) 2001-2006, Ludovic Rousseau <ludovic.rousseau@free.fr>
Compiled with PC/SC lite version: 1.4.2
Scanning present readers
0: ACS ACR 38U-CCID 00 00

[snip]

Possibly identified card (using /usr/share/pcsc/smartcard_list.txt):
3B 9F 94 80 1F C3 00 68 11 44 05 01 46 49 53 45 31 C8 07 90 00 19
3B 9F .. 80 1F C3 00 68 1. 44 05 01 46 49 53 45 31 C8 .. 90 00 ..
Setec SetCOS 4.4.1

1) ОС
alex@si:~$ uname -a
Linux si 2.6.22-10-generic #1 SMP Wed Aug 22 07:42:05 GMT 2007 x86_64 GNU/Linux
alex@si:~$ cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=7.10
DISTRIB_CODENAME=gutsy
DISTRIB_DESCRIPTION=”Ubuntu gutsy (development branch)”

2) Пакети
alex@si:~$ sudo aptitude install opensc libccid mozilla-opensc

Към тези пакети най-вероятно ще се задействат dependecies, необходимо е да се потвърдят.

3) Тест
Провери дали работи pcscd и пусни pcsc_scan
Трябва да се върне информация за четеца и картата, както и при вадене/пъхане да се прочита информация за текущата смарткарта.

4) Потребителски софтуер
Ако горните стъпки са ОК, вече разполагаш с работещ подпис под linux. Последно остава да се конфигурира потребителския софтуер. Той трябва да поддържа работа през PKCS#11 интерфейс, което си е стандартно отвсякъде.
Пример за Firefox/Thunderbird:
цъка се на Edit->Preferences->Advanced->Encryption->Security Devices
после Load и се оказва пътя към PKCS#11 библиотеката на openSC:
/usr/lib/opensc/opensc-pkcs11.so

Потвърждава се, инсталират се базовите сертификати на StampIt (незадължително) и това е – вече трябва да можеш да използваш смарткартата за клиентска оторизация.

Уговорки:
горното би трябвало да работи без промяна и на Debian. Въпреки, че съм използвал development версия на Ubuntu (утре излиза Tribe6, ще се пие бира!) +, че е 64 битова системата, вярвам, че ще работи и под други дистрибуции аналогично.

Изобщо, като цяло инсталацията си е stright forward процес, без допълнителни “врътки”.

Edit: пътят към opensc pkcs#11 библиотеката може да е различен във вапата дистрибуция. Например, под Ubuntu 8.10 e /usr/lib/opensc/opensc-pkcs11.so