Java-Karte

Definition - Was bedeutet Java Card?

Java Card ist eine Java-Technologie, die für kleine Anwendungen, sogenannte Applets, auf extrem ressourcenbeschränkten Geräten verwendet wird. Diese Java-Technologie wird auf SIM-Karten (Financial Subscriber Identity Module), Finanzkarten, Gesundheitsausweisen, Smart Tickets und vielen anderen Geräten verwendet.

Wie andere Anwendungen, die mit der Programmiersprache Java erstellt wurden, verfügen Java Card-Applets über Funktionen zum einmaligen Ausführen. Dies bedeutet, dass sie auf jeder Smartcard mit Java Card-Technologie ausgeführt werden können, unabhängig vom Hersteller der Karte oder der verwendeten Hardware, solange die erforderliche Java Virtual Machine (JVM) vorhanden ist.

Technische.me erklärt Java Card

Die Java Card-Technologie ist weit verbreitet. Auf Java Card-Hersteller entfallen mehr als 90 Prozent der gesamten Smartcard-Branche.

Da die Applets in solchen eingeschränkten Umgebungen ausgeführt werden müssen, ist der Bytecode der Java-Karte verständlicherweise winzig. Tatsächlich wird beim Schreiben des Quellcodes für ein Java Card-Applet nur eine Teilmenge der gesamten API (Application Programming Interface) der Java-Programmiersprache verwendet. Nachdem der Quellcode geschrieben und als Java-Datei gespeichert wurde, wird er wie in einer normalen Java-Anwendung in eine .class-Datei kompiliert. Der Entwicklungsprozess endet hier jedoch nicht. Die .class-Datei muss dann in ein kleineres konvertiertes Applet oder eine .cap-Datei konvertiert werden. Nach der Konvertierung kann die .cap-Datei überprüft und schließlich auf der Karte installiert werden.

In den meisten Fällen kann das endgültige Applet nicht alleine betrieben werden. Vielmehr bestehen die Elemente einer vollständigen Java Card-Anwendung normalerweise aus einer Back-End-Anwendung, einer Host-Anwendung, einem Schnittstellengerät und dem Applet auf der Karte. Als einfaches Beispiel kann die Back-End-Anwendung ein Programm sein, das eine Verbindung zu einer Datenbank oder der Host-Anwendung (eine Anwendung, die auf einem Mobiltelefon ausgeführt wird) oder dem Schnittstellengerät (dem Mobiltelefon) herstellt.