GPshell: Global Platform Shell installieren

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 lediglich auf einer einzelnen Wikiseite zusammengefasst.

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

1
2
3
4
5
6
7
wget http://heanet.dl.sourceforge.net/project/globalplatform/GlobalPlatform%20Library/GlobalPlatform%20Library%206.0.0/globalplatform-6.0.0.tar.gz
wget http://heanet.dl.sourceforge.net/project/globalplatform/GlobalPlatform%20Library/GlobalPlatform%20Library%206.0.0/gppcscconnectionplugin-1.1.0.tar.gz
wget http://heanet.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, müssen wir noch eine Entwicklerbibliothek installieren. Ohne sie werden wir später die einzelnen Teile nicht konfigurieren und kompilieren können:

1
sudo apt-get install libpcsclite-dev

Nun können wir damit anfangen, die einzelnen Teile zu kompilieren und zu installieren:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
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 damit, dass ihr passende Verlinkungen zu den Bibliotheken erzeugt:

1
2
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.

Ihr könnt mir ja mal schreiben, wenn ihr mit dem Tool schon mehr Zustande gekriegt habt, als nur zu prüfen, dass tatsächlich mit einer Smartcard kommuniziert werden kann. Dinge wir das Installieren eines Applets schlagen bei mir jedenfalls permanent fehl. 🙁

Globale Grüße, Kenny

Schreibe einen Kommentar

Um Ihnen beim weiteren Kommentieren auf dieser Webseite die erneute Eingabe Ihrer Daten zu ersparen, wird beim Absenden Ihres Kommentars ein Cookie an Ihren Browser gesendet und von diesem gespeichert. Mit dem Absenden eines Kommentars auf dieser Webseite stimmen Sie der Speicherung und Übertragung dieses Cookies explizit zu.

Pflichtfelder sind mit * markiert.