Portál AbcLinuxu, 2. května 2025 10:48
Svět se nám rychle digitalizuje a v Praze si příští rok už bez smartkarty nepořídíme ani tramvajenku. Rozdává je hlavní město a zatím zdarma. V nabídce má dva typy, první je bezkontaktní a druhá je s kontaktním čipem. Obě stojí stejně a tak proč si nevzít tu s kontaktním čipem. Ta nám pak může navíc posloužit třeba jako úložiště certifikátů, což se může hodit. Já jsem si tedy podal žádost a dnes jsem se pokusil naladit Linux tak, aby si s mou OpenCard rozuměl.
Instalaci jsem provedl na záložním stroji IBM NetVista, na kterém je pro jednoduchost Ubuntu Linux. Z toho důvodu to nebyla ani nijaká zvláštní magie a byl jsem mile překvapen, jak snadno jsem se dostal k fungující čtečce chytrých karet. Čtečku mám GemPC410 na sériový port.
Tak pojďme na to.
Instalace
libopenct1 0.6.14, libpcsclite1 1.4.99, libopensc2 0.11.4, libpcsc-perl 1.4.6, opensc 0.11.4, libccid 1.3.1-1, pcsc-tools 1.4.11, pcscd 1.4.99, libc6 2.7, libgempc410 1.0.3
Po instalaci se v logu dočteme, že knihovna /usr/lib/pcsc/drivers/serial/libGemPC410.so.1.0.1 není k nalezení. Takže chybu opravíme nalinkováním novější knihovny:
cd /usr/lib/pcsc/drivers/serial sudo ln -s libGemPC410.so.1.0.3 libGemPC410.so.1.0.1A potom ji opravíme ještě lépe přímo v konfiguračním souboru:
vi /etc/reader.conf FRIENDLYNAME "GemPC410" DEVICENAME /dev/ttyS1 LIBPATH /usr/lib/pcsc/drivers/serial/libGemPC410.so.1.0.3 CHANNELID 0
sudo pcscd -f -d -a 00000000 pcscdaemon.c:295:main() pcscd set to foreground with debug send to stderr 00000069 debuglog.c:236:DebugLogSetLevel() debug level=debug 00000013 debuglog.c:265:DebugLogSetCategory() Debug options: APDU 00000705 readerfactory.c:1116:RFInitializeReader() Attempting startup of GemPC410 00 00 using /usr/lib/pcsc/drivers/serial/libGemPC410.so.1.0.3 00000218 readerfactory.c:983:RFBindFunctions() Loading IFD Handler 3.0 00000058 ifdhandler.c:51:IFDHCreateChannelByName() lun: 0, device: /dev/ttyS1 00000042 gbpserial.c:354:OpenGBP() Lun: 0, device: /dev/ttyS1 00000165 gbpserial.c:540:OpenGBP() Serial port baudrate already set to 38400 (3) 00000012 GCCmds.c:407:GCCmdSetMode() 00000021 -> 000000 42 00 03 01 00 01 41 00009156 <- 000000 24 00 02 00 01 27 00000042 gbpserial.c:546:OpenGBP() GCCmdSetMode success (4.a) 00000014 GCCmds.c:328:GCCmdGetOSVersion() 00000015 -> 000000 42 40 05 22 05 3F E0 10 EF 00023992 <- 000000 24 40 11 00 47 65 6D 43 6F 72 65 2D 52 31 2E 32 31 4D 43 51 3D 00000274 GemPC410Utils.c:42:OpenGemPC410ByName() OS string: GemCore-R1.21MCQ 00000082 GCCmds.c:407:GCCmdSetMode() 00000079 -> 000000 42 00 03 01 00 01 41 00007504 <- 000000 24 00 02 00 01 27 00000066 ifdhandler.c:572:IFDHICCPresence() lun: 0 00000019 GCCmds.c:389:GCCmdCardStatus() 00000013 -> 000000 42 40 01 17 14 00007929 <- 000000 24 40 07 00 04 02 00 00 00 00 65 00000044 ifdhandler.c:630:IFDHICCPresence() Card present, just inserted 00000393 ifdhandler.c:572:IFDHICCPresence() lun: 0 00000050 GCCmds.c:389:GCCmdCardStatus() 00000018 -> 000000 42 00 01 17 54
Tiskni
Sdílej:
libpcsclite.so
. Zdroják přikládám.
Abych z toho dostal něco víc, tak je prý potřeba nějaká knihovna, co snad kdysi byla na opencard.org. Neměl jsem pak už moc času si s tím hrát, ale jestli se někdo dostal dál a dokázal si s kartou povídat, tak budu vděčný za jakékoli informace.
Já jsem si tedy podal žádost ...jakže je to o tom dobrovolném a radostném přijetí znamení ďábla?
Většině žadatelů doporučujeme zvolit standardní provedení karty. Její vydání je rychlejší a lze s ní využívat všechny služby v rámci programu opencard.Buď kecaj nebo to, co zmiňuješ nepatří do programu opencard (formálně nepatří). Prostě kvůli takovejmhle chytákům je lepší se normálně blbě zeptat.
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.