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.