SmartCards
Från FriBID
Innehåll |
[redigera] Introduktion
För Smartcard-stöd behöver du följande:
- FriBID 0.2.0 eller senare
- libp11
- opensc
- pcsc
- Drivrutin för Handelsbankens smartcard läsare
- Alternativt annan smartcard läsare som fungerar bättre under Linux
Drivrutinen för Handelsbankens kortläsare hittar du på
- 32-bitarsversion Ubuntu/Debian: https://www.handelsbanken.se/komigang
- 64-bitarsversion: http://mejlamej.nu/fribid/SHB_Deb_1.0.2_64bit.deb Länken fungerar inte, så kolla här i stället: http://www.filesonic.com/file/551493251/SHB_Deb_1.0.2_64bit.deb
- Alternativ plats: http://www.henriknordstrom.net/code/SHB/
[redigera] Installation Ubuntu / Debian
- OBS!! Det verkar inte fungera i Ubuntu 11.04 - får en segfault inne i SHB pluginen. //Marcus 2011-04-29
- Uppdatering igen: Det verkar som att om man remmar den rad som heter exit 0 på 43 så verkar det fungera. Någon med mer tid får gärna titta på varför :) ... //Marcus 2011-05-01
- En fråga.. "exit 0 på 43", jag antar att 43 är ett radnummer i en fil, men vilken? // Micke 2011-05-16
- /etc/init.d/pcscd - funkade för mig också när jag kommenterade bort denna rad //Roland 2011-05-19
- Segfaultet gäller även för 32-bitarsversionen i Ubuntu Natty //David Nyström 2011-05-26
Installera smartkorts-server och OpenSC
$ sudo apt-get install pcscd opensc
Installera Handelsbankens drivrutin
$ sudo dpkg -i SHB_Deb_1.0.2_64bit.deb
alternativt för 32-bits installationer:
$ sudo dpkg -i SHB_Deb_1.0.2_32bit.deb
[redigera] Installation på andra operativsystem
Installera pcsc-lite, opensc och libp11 med din pakethanterare
Ladda hem .tar.gz ompacketeringen av drivrutinen från alternativa länken ovan.
Leta reda på var drivrutiner för pcsc skall ligga på ditt system. Vanligen /usr/lib64/pcsc/drivers/ eller /usr/lib/pcsc/drivers/
Packa upp drivrutinen till rätt plats
$ tar -C /usr/lib64/pcsc/drivers zxvf shbecrDeb.bundle-1.0.2-64bit.tar.gz
[redigera] Efter installation
Starta om smartkortsservern för att läsa in de nya filerna
$ sudo /etc/init.d/pcscd restart
På grund av att standardinställningarna i opensc inte är optimala för BankID så måste vi ändra opensc.conf en del
$ sudo vi /etc/opensc/opensc.conf
Leta rätt på raderna
# enable_pinpad = true;
# use_file_caching = true; alternativt för opensc 0.11.x # use_caching = true;
# lock_login = true;
och ta bort # i början av raderna och spara.
Lär sedan datorn ditt kort så att det går MYCKET fortare att visa inloggningsrutan. Koppla in dosa+kort, och skriv:
$ pkcs15-tool -L
Cachen lagras läggs i ~/.eid/
Kompilera sedan FriBID med smartcard stöd (./configure --enable-pkcs11).
Installerar du färdigkompilerad version av FriBID så är stöd för pkcs11 påslaget.
[redigera] Kvar att implementera
För er som vill bidra med kodning i projektet så finns här lite idéer om saker som är kvar att förbättra i kortstödet
* Automatiskt lära sig ett kort (eller?)
* Inte läcka så mycket minne och bättre struktur på kod
* Hotplug av smartcard läsare/kort (då räcker inte libp11) (libp11 borde räcka men behöver scanna om korten / hno)
* Fundera på om libp11 verkligen är rätt då libnss egentligen ska ha pkcs11 funktionalitet (om än dåligt dokumenterad)
* Dialog som visar vad som händer ("Skannar kort...")
* Byta pin
* Om fel kod - visa antal försök kvar, eller att lösenordet är låst
* Låsa upp med PUK kod
* Rätt applikationssträng så att rätt kortläsare visas på install.bankid.com
Som referens kan man titta på dokumentationen för officiella versionen Personal.pdf
För att få events från kort så titta på det här exemplet http://pcsclite.alioth.debian.org/api/formaticc_8c_source.html