Prosíme přihlašte se nebo zaregistrujte.

Přihlašte se svým uživatelským jménem a heslem.

Autor Téma: pražská opencard, x64 systém  (Přečteno 2174 krát)

Martin Kiklhorn

  • Člen občanského sdružení Ubuntu ČR a placené komunitní podpory
  • Administrátor fóra
  • Závislák
  • ******
  • Příspěvků: 4804
  • グーグル!ご存知ですか?
    • Zobrazit profil
    • HEJ
pražská opencard, x64 systém
« kdy: 08 Duben 2011, 01:45:11 »
Mám čipovou Opencard a trošku problém si s ní povídat. Třeba se můj pokus bude někomu hodit.

Jediné co jsem našel je http://www.abclinuxu.cz/blog/hufhendr/2008/9/pripravme-se-na-opencard
Kde se popisuje vlastně jen rozchození čtečky. Nějaké užitečné informace jsou až v posledním příspěvku diskuze.

Takže jsem si řekl že se tomu zkusím trochu dnes večer (vlastně už včera :D ) podívat na zoubek.

Výsledkem prozatím je že jsem aplikaci dostal na x64 systém (na x86 by to snad mohlo jít instalovat rovnou) a že se pomocí aplikace bavím s opencard pomocí proprietární cryptoplus aplikace, operace prováděné s kartou se vypisují v ikonce v trayi, ale pro opensc-tool je karta stále neznámá.
Ve výpisech může chybět nějaká změna pracovního adresáře.


Konfigurace: Kubuntu 11.04 x64
Nejdřív čtečku, viz. http://ubuntuforums.org/showthread.php?t=1447218
Testuji, z karty standardními nástroji (opensc-tool --reader 0 --atr) alespoň vytáhnu sériové číslo, ale to poněkud nestačí.
Kód: [Vybrat]
mkiklhorn@admin3:/usr/local/crplus/bin$ opensc-tool --reader 0 --name
Unsupported card
Karta není podporovaná, takže kde vzít drivery?

Ke stažení, dle přiloženého pdf Ubuntu 6.06, i386 deb binárky.
http://opencard.praha.eu/public/fe/20/9f/160425_21845_opencard_instalacni_balik.zip (odkaz z "vím jak řídím")

WTF? imho coreutils jsou v požadované verzi. Tudy to nepůjde, takže ručně  :-\
Kód: [Vybrat]
sudo dpkg --force-architecture -i crplus-common-1.0.1-0.i386.deb
dpkg: varování: potlačuji problém, protože je nastaveno --force:
 architektura balíku (i386) se neshoduje se systémem (amd64)
dpkg: dívám se na crplus-common-1.0.1-0.i386.deb obsahující crplus-common:i386, před-závislostní problém:
 crplus-common:i386 před-závisí na coreutils (>= 5.93)
dpkg: chyba při zpracovávání crplus-common-1.0.1-0.i386.deb (--install):
 před-závislostní problém - neinstaluji crplus-common:i386
Při zpracování nastaly chyby:
 crplus-common-1.0.1-0.i386.deb
mkiklhorn@admin3:~/Stažené/opencard_instalacni_balik/Software/Linux/deb$ aptitude show coreutils | grep -i vers
Version: 8.5-1ubuntu6
no zkusím to rozbalit a podívat se rovnou co vlastně balíčky obsahují
Kód: [Vybrat]
mkiklhorn@admin3:~/Stažené/opencard_instalacni_balik/Software/Linux/deb$ file `dpkg-deb -X crplus-common-1.0.1-0.i386.deb ./`
./:                                       directory
./etc/:                                   directory
./etc/init.d/:                            directory
./etc/init.d/crpdsptd:                    POSIX shell script text executable
./usr/:                                   directory
./usr/local/:                             directory
./usr/local/crplus/:                      directory
./usr/local/crplus/bin/:                  directory
./usr/local/crplus/bin/crplustba:         ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.2.5, stripped
./usr/local/crplus/bin/lsgempctwin.sh:    POSIX shell script text executable
./usr/local/crplus/bin/lsserial:          ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.2.5, stripped
./usr/local/crplus/lib/:                  directory
./usr/local/crplus/lib/libcrpluscli.so:   ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically linked, stripped
./usr/local/crplus/lib/libcrplustba.so:   ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically linked, stripped
./usr/local/crplus/lib/libcrpluswsync.so: ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically linked, stripped
./usr/local/crplus/sbin/:                 directory
./usr/local/crplus/sbin/crpdspt:          ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.2.5, stripped
mkiklhorn@admin3:~/Stažené/opencard_instalacni_balik/Software/Linux/deb$ file `dpkg-deb -X crplus-opencard-1.0.0-0.i386.deb ./`
./:                                          directory
./usr/:                                      directory
./usr/local/:                                directory
./usr/local/crplus/:                         directory
./usr/local/crplus/bin/:                     directory
./usr/local/crplus/bin/ccmanopcrd:           ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.2.5, stripped
./usr/local/crplus/etc/:                     directory
./usr/local/crplus/etc/opcrd11p.conf:        ASCII text
./usr/local/crplus/lib/:                     directory
./usr/local/crplus/lib/opcrd11.so:           ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically linked, not stripped
./usr/local/crplus/lib/opcrd11p.sig:         data
./usr/local/crplus/lib/opcrd11p.so:          ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically linked, not stripped
./usr/local/crplus/man/:                     directory
./usr/local/crplus/man/man1/:                directory
./usr/local/crplus/man/man1/ccmanopcrd.1.gz: gzip compressed data, was "ccmanopcrd.1", from Unix, last modified: Tue Jan 16 09:12:46 2007, max compression

Hm mám nějaké 32bit knihovny, podívám se co na to strýček a  vidím poprvé jak google mlčí
V man vidím název, CryptoPlus card manager utility, googlím - firma monet+, na helpdesk.cryptoplus.cz je ke stažení několik balíků, vše jen windows. Co dál?

Zkusím jaké mi chybí knihovny, přes ldd se podívám na závislosti, knihovny nakopíruju do /usr/lib32/
Kód: [Vybrat]
ldd usr/local/crplus/bin/ccmanopcrd
        linux-gate.so.1 =>  (0xf7781000)
        libcrypto.so.4 => not found
        libstdc++.so.5 => /usr/lib32/libstdc++.so.5 (0xf76a1000)
        libm.so.6 => /lib32/libm.so.6 (0xf767b000)
        libgcc_s.so.1 => /usr/lib32/libgcc_s.so.1 (0xf765f000)
        libc.so.6 => /lib32/libc.so.6 (0xf7502000)
        libdl.so.2 => /lib32/libdl.so.2 (0xf74fd000)
        /lib/ld-linux.so.2 (0xf7782000)

mkiklhorn@admin3:~/Stažené/opencard_instalacni_balik/Software/Linux/deb$ ldd usr/local/crplus/lib/opcrd11p.so
        linux-gate.so.1 =>  (0xf772c000)
        libpthread.so.0 => /lib32/libpthread.so.0 (0xf7692000)
        libpcsclite.so.0 => not found
        libcrpluswsync.so => not found
        libcrpluscli.so => not found
        libstdc++.so.5 => /usr/lib32/libstdc++.so.5 (0xf75d8000)
        libm.so.6 => /lib32/libm.so.6 (0xf75b1000)
        libgcc_s.so.1 => /usr/lib32/libgcc_s.so.1 (0xf7595000)
        libc.so.6 => /lib32/libc.so.6 (0xf7438000)
        /lib/ld-linux.so.2 (0xf772d000)

Takže mi chybí libpcsclite.so.0 a libcrypto.so.4
V čem tak může být?
Kód: [Vybrat]
mkiklhorn@admin3:~/Stažené/opencard_instalacni_balik/Software/Linux/deb$ sudo dpkg --force-architecture --force-depends --unpack --dry-run crplus-common-1.0.1-0.i386.deb 2>&1| grep závisí
 crplus-common:i386 před-závisí na coreutils (>= 5.93)
 crplus-common:i386 před-závisí na pcscd (<< 2.0.0)
 crplus-common:i386 před-závisí na bash
 crplus-common:i386 před-závisí na sed
 crplus-common:i386 před-závisí na libssl0.9.8
 crplus-common:i386 před-závisí na libstdc++5
 crplus-common:i386 před-závisí na libc6
 crplus-common:i386 před-závisí na libgcc1
 crplus-common:i386 před-závisí na libc6
 crplus-common:i386 před-závisí na libpcsclite1
mkiklhorn@admin3:~/Stažené/opencard_instalacni_balik/Software/Linux/deb$ sudo dpkg --force-architecture --force-depends --unpack --dry-run crplus-opencard-1.0.0-0.i386.deb 2>&1| grep závisí
 crplus-opencard:i386 před-závisí na crplus-common (>= 1.0.0)
takže to vypadá na libpcsclite1 a libssl0.9.8
Kód: [Vybrat]
wget http://ubuntu.ynet.sk/ubuntu//pool/main/o/openssl/libssl0.9.8_0.9.8o-5ubuntu1_i386.deb
wget http://ubuntu.ynet.sk/ubuntu//pool/main/p/pcsc-lite/libpcsclite1_1.7.0-2ubuntu2_i386.deb
mkdir i386miss
dpkg-deb -X libpcsclite1_1.7.0-2ubuntu2_i386.deb ./i386miss/
dpkg-deb -X libssl0.9.8_0.9.8o-5ubuntu1_i386.deb ./i386miss/
cp i386miss/lib/libcrypto.so.0.9.8 /usr/lib32/libcrypto.so.4
sudo cp i386miss/lib/libcrypto.so.0.9.8 /usr/lib32/libcrypto.so.4
sudo cp i386miss/lib/libpcsclite.so.1 /usr/lib32/libpcsclite.so.0
zkontorluji jestli něco nechybí
Kód: [Vybrat]
ldd /usr/lib32/libpcsclite.so.0
ldd /usr/lib32/libcrypto.so.4
je to ok, nakopírujeme knihovny z driverů ať nemusím řešit cesty
Kód: [Vybrat]
cd usr/local/crplus/lib/
sudo cp -i ./* /usr/lib32/
rozbalím naostro
Kód: [Vybrat]
dpkg-deb -X crplus-common-1.0.1-0.i386.deb /
sudo dpkg-deb -X crplus-common-1.0.1-0.i386.deb /
sudo dpkg-deb -X crplus-opencard-1.0.0-0.i386.deb /
cd /usr/local/crplus/bin
ls
#spustim vse, co to asi dela?
/usr/local/crplus/bin/crplustba
#hm zobrazi ikonu v trayi
/usr/local/crplus/bin/ccmanopcrd
#tohle něco píše, asi je čas se podívat do přiloženého pdf
/usr/local/crplus/bin/ccmanopcrd --dci
******************************************************************************

Reader
~~~~~~
Reader slot:        0
Name:               ACS ACR 38U-CCID 00 00


------------------------------------------------------------------------------

Card information
~~~~~~~~~~~~~~~~
Card number:                   92XX XXXX XXXX XXXX
Application identifier:        A0 00 00 00 28 80 10 24 00
Card version:                  9
Validity:                      08/10 - 12/10
Structure version:             7
Card label:                    92XXXXXXXXXXXXXX

Used containers:               2 of 8
Used 1024-bit RSA keys:        0 of 2
Used space for certificates:   900 B of 9092 B
The longest available block:   8192 B

Used data objects:             0 of 4
Used space by public objects:  100 B of 1124 B


******************************************************************************
Pro opensc-tool je karta stále neznámá
nicméně třeba
Kód: [Vybrat]
mkiklhorn@admin3:/usr/local/crplus/bin$ ./ccmanopcrd -dpki

******************************************************************************

Reader
~~~~~~
Reader slot:        0
Name:               ACS ACR 38U-CCID 00 00


------------------------------------------------------------------------------

PKI objects
~~~~~~~~~~~
Reference:          pki0   (delete only)
Certificate:
    Reference:      cer0
    Subject:        C=CZ, OU=opencard, L=Prague, CN=Root Device CA E

Reference:          pki1   (delete only)
Certificate:
    Reference:      cer1
    Subject:        C=CZ, OU=opencard, CN=92XXXXXXXXXXXXXX
Public key:
    Reference:      key1   (export only)
    Key type:       RSA1536


******************************************************************************

něco vypisuje (celkem to trvá)

A to je zatím vše, budete někdo pokračovat?
Jsou ve vašem dotazu OPRAVDU VŠECHNY vám dostupné informace o problému?
Linux user since 2007-10-11, Registered #456007
Virtual
| Distribuce
~/slozka znamená /home/"vase jmeno"/slozka
6521 69DE 0F34 FCBC FB1D  DE76 360E 52B2 F71A B8E8