Инсталация на драйвери за четец и смарт карта в Linux: Разлика между версии

От Infonotary
Направо към навигацията Направо към търсенето
Ред 46: Ред 46:
За да ползвате удостоверенито си за електронен подпис чрез OpenSC ще трябва да си инсталирате версия 0.11.4 или по-нова. Най-добре да ползвате пакет от вашата дистрибуция. Ако в нея OpenSC липсва или е по-стара версия ще се наложи да го изтеглите от сайта на [http://www.opensc-project.org/ проекта] и да го компилирате ръчно или да ползвате драйверът на [[#Смарт карти Siemens|Siemens]].
За да ползвате удостоверенито си за електронен подпис чрез OpenSC ще трябва да си инсталирате версия 0.11.4 или по-нова. Най-добре да ползвате пакет от вашата дистрибуция. Ако в нея OpenSC липсва или е по-стара версия ще се наложи да го изтеглите от сайта на [http://www.opensc-project.org/ проекта] и да го компилирате ръчно или да ползвате драйверът на [[#Смарт карти Siemens|Siemens]].


Препоръчително е да настроите OpenSC да използва само '''pcsc''' за връзка с четеца. Това става като в конфигурационният файл (/etc/opensc/opensc.conf) промените реда „reader_drivers = openct, pcsc, ctapi;“ на „reader_drivers = pcsc;“. Ако файла onepin-opensc-pkcs11.so не е инсталиран с OpenSC ще трябва да промените и стойността на num_slots от „num_slots = 4;“, на „num_slots= 1;“
Препоръчително е да настроите OpenSC да използва само '''pcsc''' за връзка с четеца. Това става като в конфигурационният файл (/etc/opensc/opensc.conf) промените реда „# reader_drivers = openct, pcsc, ctapi;“ на „reader_drivers = pcsc;“. Ако файла onepin-opensc-pkcs11.so не е инсталиран с OpenSC ще трябва да промените и стойността на num_slots от „num_slots = 4;“, на „num_slots= 1;“


'''В случай че ползвате Ubuntu 9.10 или Debian testing/unstable с OpenSC допълнително ще трябва да инсталирате и пакета libpcsclite-dev.'''
'''В случай че ползвате Ubuntu 9.10 или Debian testing/unstable с OpenSC допълнително ще трябва да инсталирате и пакета libpcsclite-dev.'''

Версия от 15:22, 1 юни 2010

Инсталиране на драйвер за четеца

Всички четци предлагани от Инфонотари EАД имат драйвери за Linux, които могат да се изтеглят от сайта на производителя им - OmniKey или ACS. В някои случаи тези драйвери са налични в хранилищата на някои дистрибуции.

Видове четци

OmniKey

CardMan6121.gif CardMan3021.png

За да използвате пълноценно четците за смарт карти на OmniKey под Linux ще трябва да инсталирате официалният драйвер на OmniKey вместо включеният в повечето дистрибуции libccid. Можете да го изтеглите от техният сайт или от сайта на Инфонотари.

За да работи драйверът той трябва да се инсталира в директорията с драйвери на pcscd. В Debian и Ubuntu тя е /usr/lib/pcsc/drivers, съответно командата за инсталиране в Ubuntu е ./install -d /usr/lib/pcsc/drivers. В SUSE и OpenSUSE драйверите за четци са в /usr/lib/readers/. След това трябва да рестартирате демона с командата sudo /etc/init.d/pcscd restart.

В случай че след инсталацията на драйвера на OmniKey все още получавате грешки при използване на удостоверението си, ще се наложи да премахнете драйвера libccid. В Debian и Ubuntu пакета pcscd зависи от libccid или pcsc-ifd-handler. За да не бъде премахнат демона при деинсталирането на libccid може да инсталирате някой от другите пакети предоставящи pcsc-ifd-handler - например libacr38u.

По-деструктивният вариант е просто да изтриете драйвера от папката с драйверите. В Debian и Ubuntu той е /usr/lib/pcsc/drivers/ifd-ccid.bundle. В Ubuntu със следната команда може да го преместите в домашната папка:
H=$HOME; sudo mv /usr/lib/pcsc/drivers/ifd-ccid.bundle $H По-трудният, но и по-коректен начин за справяне с проблема е с текстов редактор да премахнете от файла /usr/lib/pcsc/drivers/ifd-ccid.bundle/Contents/Info.plist описанието на вашият четец - ifdVendorID e 076b, ifdProductID e 6622, a ifdFrendlyName e „OmniKey CardMan 6121“. Ако по този начин деактивирате libccid имайте в предвид че при следващото му обновяване промените по конфигурационният му файл ще бъдат загубени.

ACS

ACR 38U.pngACR 38T.png

Част от четците произвеждани от ACS, по-специално ACR 38 не са CCID съвместими, но за тях също има свободен драйвер който може да намерите на сайта на производителя или в директория Drivers/Linux/ACS на диска. Те също са включени в Debian и Ubuntu, като името на пакета е libacr38u.

ACR 38C

Ако вашият четец е означен с ACR38C-SPC-R от долната си страна, то той е CCID съвместим и се поддържа от libccid.

Инсталация на PC/SC

Независимо от модела на вашият четец ще трябва да инсталирате и пакетите pcscd и libpcsclite. Това е демона чрез който програмите работят с четеца и съответно със смарт картата. След инсталация на нов драйвер трябва да рестартирате pcscd. Ако инсталирате драйверите от пакет той най-вероятно ще рестартира демона.

В зависимост от дистрибуцията която ползвате може да се наложи да добавите потребителя си към групата scard.

Може да проверите дали pcscd работи с командата ps ax | grep pcscd | grep -v "grep pcscd" пусната от терминал. Би трябвало да изпише нещо подобно на това:

3446 ? Ssl 0:01 /usr/sbin/pcscd

В случай че не покаже нищо, значи демона не работи.

За да проверите кой точно драйвер използва pcscd трябва да го пуснете в debug режим с параметри -fd. Например в Ubuntu това може да стане по този начин - sudo /usr/sbin/pcscd -fd. В изхода от тази команда би трябвало да имате нещо подобно на това:

OK OMNIKEY CardMan CCID IA32 v3.5.1 support@omnikey.com

Ако не се появи този надпис, значи драйверът на OmniKey не се зарежда.

Инсталиране на драйвери за смарт карта

Производителя на вашата карта е изписан на инсталационният диск под надписа „Инсталационен диск“. Независимо от производителя на картата ние ви препоръчваме да ползвате OpenSC, понеже има пакети за повечето дистрибуции.

Смарт карти Charismatics (OpenSC)

За да ползвате удостоверенито си за електронен подпис чрез OpenSC ще трябва да си инсталирате версия 0.11.4 или по-нова. Най-добре да ползвате пакет от вашата дистрибуция. Ако в нея OpenSC липсва или е по-стара версия ще се наложи да го изтеглите от сайта на проекта и да го компилирате ръчно или да ползвате драйверът на Siemens.

Препоръчително е да настроите OpenSC да използва само pcsc за връзка с четеца. Това става като в конфигурационният файл (/etc/opensc/opensc.conf) промените реда „# reader_drivers = openct, pcsc, ctapi;“ на „reader_drivers = pcsc;“. Ако файла onepin-opensc-pkcs11.so не е инсталиран с OpenSC ще трябва да промените и стойността на num_slots от „num_slots = 4;“, на „num_slots= 1;“

В случай че ползвате Ubuntu 9.10 или Debian testing/unstable с OpenSC допълнително ще трябва да инсталирате и пакета libpcsclite-dev.

На страница Работа с OpenSC можете да намерите кратка инстрикция за извършване на чай-често използваните опрации с OpenSC.

Смарт карти Siemens

В случай че ползвате смарт карта Siemens и 32 битова дистрибуция с x86 процесор (Intel, AMD или Via), можете да инсталирате официалният драйвер на Siemens. Ако използвате 64 битова дистрибуция, друга процесорна архитектура или друга Unix подобна операционна система ще се наложи да ползвате OpenSC. Драйвера на Siemens може да намерите в директорията Drivers/Linux/Siemens на диска. Ако нямате такава папка на диска, то картата ви е Charismathics и трябва да следвате инструкциите за тези карти. Разархивирайте архива „HiPath_SIcurity_Card_API_V3_1_010_Linux.tar.gz“, в главната директория на вашата Linux инсталация. Това може да стане със следните команди от директорията Drivers/Linux/Siemens на диска:

user@system > su -
Enter password: 
root@system # cp HiPath_SIcurity_Card_API_V3_1_010_Linux.tar.gz / 
root@system # cd / 
root@system # tar -xzvf HiPath_SIcurity_Card_API_V3_1_010_Linux.tar.gz

За Ubuntu и производните му дистрибуции правилните команди са следните:

sudo cp HiPath_SIcurity_Card_API_V3_1_010_Linux.tar.gz / 
cd / 
sudo tar -xzvf HiPath_SIcurity_Card_API_V3_1_010_Linux.tar.gz

PKCS#11 библиотеката съдържаща се в HiPath SIcurity Card API е свързана с libpcsclite.so.0.0.1, която е част от PC/SC Lite преди версия 1.2.9. Съответно при зареждане на PKCS#11 модула операционната система се опитва да открие библиотека с име libpcsclite.so.0. След версия 1.2.9 с PC/SC Lite се инсталира нова версия на libpcsclite.so (libpcsclite.so.1.0.0).

За да можете да ползвате PKCS#11 библиотеката трябва да направите следното:

  • Намерете директорията в която е инсталирана libpcsclite.so.1.0.0. Това обикновено е /usr/lib или /usr/local/lib.
  • Създайте нова символна връзка с име libpcsclite.so.0, сочеща към libpcsclite.so.1.0.0 в тази директория (ln -s libpcsclite.so.1.0.0 libpcsclite.so.0). Това обикновенно изисква root права.