JCA/CAP-Konverter

Stichwörter

Java, Java Card, Sun, JCRE, Chipkarten, Smartcard, Visual C++, Konverter, Firewall, Entwicklungstool

Aufgabenstellung

Unser Kunde erstellt Java-Card-Programme, die auf Smartcards aufgespielt werden. Folgendes Vorgehen wird dafür gewählt:

  • Die Programme werden mit normalen Java-Entwicklungstools geschrieben und vom Java-Compiler in Java-Bytecode übersetzt
  • Der Bytecode wird vom Java-Konverter in den JCA–Code (Java Card Assembly) übersetzt
  • Der JCA/CAP-Konverter wandelt den JCA-Code in CAP-Code (Converted Applet) um
  • Der CAP-Loader/Linker lädt den CAP-Code auf die Smartcard

Die JCA-Dateien enthalten den JCA-Code, der auf der Smartcard ausgeführt werden soll, in Textform. Das Ziel des Kunden war es hierbei, einen JCA/CAP-Konverter zu entwickeln, um aus einer JCA-Datei mehrere CAP-Dateien zu erzeugen.

JCA/CAP-Konverter

JCA/CAP-Konverter

Lösung

Um den JCA-Code in CAP-Code umzuwandeln, wurde ein Konverter in Visual C++ entwickelt. Dieser besteht aus den Teilen Parser und Wandler/Writer:

Parser
Die gesamte Grammatik der Sprache JCA wurde definiert. Diese Grammatik wurde mit den Werkzeugen lex und yacc beschrieben und in ein C-Programm übersetzt, das die JCA-Dateien verarbeitet.

Wandler/Writer
Die aus den JCA-Dateien mit Hilfe des Parsers gewonnenen Daten wurden in eine Klassenhierarchie in dem Visual C++ Programm übernommen.

Sämtliche Inhalte der Klassen wurden in Bytecode umgewandelt. Der Bytecode wurde in verschiedene CAP-Dateien geschrieben. Diese wurden in eine Java-Archivdatei (JAR) gepackt.


Sie wünschen weitere Informationen oder haben Fragen zur Realisierung eines Projekts? Senden Sie uns eine E-Mail mit Ihrem Anliegen und wir werden uns umgehend mit Ihnen in Verbindung setzen. Gerne helfen wir Ihnen auch telefonisch unter der Nummer 089 547054-0 weiter.