SmartCards

Från FriBID

Hoppa till: navigering, sök

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å

[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

Personliga verktyg