Java Card
Java Card ist eine Variante der Programmiersprache Java, die es erlaubt, Java Card Applets, einem reduzierten Java-Standard folgend, Java Applets auf Chipkarten auszuführen.
Java Card Applets werden nur ausgeführt, wenn eine Chipkarte an eine externe Stromversorgung angeschlossen ist und die Java VM der Karte die Anweisung erhalten hat, ein bestimmtes Applet zu selektieren. Die Sicherheitsmechanismen von Java erlauben, dass eine Java Chipkarte mehrere Applets enthalten kann, die einander nicht beeinflussen, soweit die Speicherkapazität der Karte nicht überschritten wird. Java Card Applets können nachträglich auf einer Java-Chipkarte installiert werden und sind, wie Java-Programme, von der Hardware der Chipkarte unabhängig. Java Card Applets kommunizieren ausschließlich über APDUs (Application Protocol Data Units) mit einem angeschlossenen Kartenleser; ein mögliches Protokoll für diesen Datenkanal ist Java Card Remote Method Invocation, ein Protokoll zum Aufruf von Objektmethoden zwischen Java VMs.
Java Card Applets dienen primär der sicheren Speicherung und Anwendung von kryptographischen Schlüsseln. Die Schlüssel können zu diesem Zweck auf der Chipkarte erzeugt werden und ein Auslesen der privaten Schlüssel aus der Karte wird nach Möglichkeit verhindert.