What is a Java Card applet?
A Java Card application is called a Java Card applet. Although they have the same name, the only thing a Java Card applet and a Java applet have in common is that both are objects. An arbitrary number of classes and interfaces may compose an applet, as long as one of the classes extends javacard.framework.Applet. These classes and interfaces need to be stored in a package, which the converter transforms into a unique CAP file. The converter will also assign an AID (Application Identifier) to the applet. The CAP file may then be loaded and the applet may be instantiated. The applet may then be selected using its AID and sent commands to.
How does Java Card differ from Java?
Massively. Both platforms are only similar in the sense that they use the Java language and run bytecode, but that’s about it. We don’t think that one can call Java Card a Java subset like one would do for J2ME. Java Card should rather be seen as a Java implementation targeted at smart cards: The Java Card API is totally specific, except for a couple of downsized java.lang classes. The Java Card Virtual Machine doesn’t support any of these features: dynamic class loading, bytecode verification, Security Manager, threads, garbage collection, JNI, etc. It’s not even able to process Java class files.
How safe is Java Card?
The security of Java cards is evaluated using the Common Criteria (CC) methodology. A number of platforms have passed security level EAL1+. No Java Card platform has passed the EAL4+ level yet: this level is the minimum safety level requested by banking applications.