GPshell: Global Platform Shell installieren

01.12.2014 yahe administration legacy linux

Im Moment versuche ich, mich in die Entwicklung von Java-Card-Applets einzuarbeiten. Ich habe mir einen Smartcard-Leser und ein paar Smartcards gekauft. Unglücklicherweise benötigt man jedoch auch noch passende Software, um die Karten überhaupt ansprechen zu können. Hierfür habe ich es mit der Global Platform Shell probiert, die in einigen Kreisen als die Standard-Shell gilt. Für meine spezifischen Karten hilft sie nicht, aber vielleicht kann jemand anderes damit etwas anfangen. Die Verwendung des Tools ist ziemlich spartanisch und nur schlecht dokumentiert.

Zuerst einmal sollte man sich die drei benötigten Dateien besorgen und entpacken:

wget https://netcologne.dl.sourceforge.net/project/globalplatform/GlobalPlatform%20Library/GlobalPlatform%20Library%206.0.0/globalplatform-6.0.0.tar.gz
wget https://netcologne.dl.sourceforge.net/project/globalplatform/GlobalPlatform%20Library/GlobalPlatform%20Library%206.0.0/gppcscconnectionplugin-1.1.0.tar.gz
wget https://netcologne.dl.sourceforge.net/project/globalplatform/GPShell/GPShell-1.4.4/gpshell-1.4.4.tar.gz

tar -xzvf ./globalplatform-6.0.0.tar.gz
tar -xzvf ./gppcscconnectionplugin-1.1.0.tar.gz
tar -xzvf ./gpshell-1.4.4.tar.gz

Wenn das erledigt ist, muss noch eine Entwicklerbibliothek installiert werden, ohne die später die einzelnen Teile nicht konfiguriert und kompiliert werden können:

sudo apt-get install libpcsclite-dev

Nun kann damit begonnen werden, die einzelnen Teile zu kompilieren und zu installieren:

cd ./globalplatform-6.0.0/
./configure
make
sudo make install
make clean

cd ../gppcscconnectionplugin-1.1.0/
./configure
make
sudo make install
make clean

cd ../gpshell-1.4.4/
./configure
make
sudo make install
make clean

Wenn ihr nun jedoch versucht, das Tool Über den Befehl "gpshell" zu starten, werdet ihr eventuell feststellen, dass es die benötigten Bibliotheken nicht findet. Behelfen könnt ihr euch, indem ihr passende Verlinkungen zu den Bibliotheken erzeugt:

sudo ln -s /usr/local/lib/libglobalplatform.so.6 /usr/lib
sudo ln -s /usr/local/lib/libgppcscconnectionplugin.so.1.0.1 /usr/lib

Nun sollte sich die Global Platform Shell mit dem Befehl "gpshell" starten lassen. Leider ist das Tool nicht gerade interaktiv. Es gibt keine Hilfe, Antwort-APDUs werden nicht großartig geparsed oder aufbereitet angezeigt und bei einem Fehler (z.B. einem falsch geschriebenen Befehl) beendet sich das Tool sofort.


Search

Categories

administration (45)
arduino (12)
calcpw (3)
code (38)
hardware (20)
java (2)
legacy (113)
linux (31)
publicity (8)
raspberry (3)
review (2)
security (65)
thoughts (22)
update (11)
windows (17)
wordpress (19)