Java Card


Java Card refers to a software technology that allows Java-based applications (applets) to be run securely on Smart Cards, Chip Cards, Secure Elements, Secure Enclave, SIM cards (GSM Mobile Devices) and similar small memory footprint devices.

Java Card is the tiniest of Java platforms targeted for embedded devices.

Java Card gives the user the ability to program the devices and make them application specific.

Java Card is widely used in SIM/UICC cards (used in GSM mobile phones) and ATM cards.

Java Card was introduced in 1996 by Schlumberger's card division which later merged with Gemplus to form Gemalto.

Java Card products are based on the Java Card Platform specifications developed by Sun Microsystems (later a subsidiary of Oracle Corporation).

Java Card products also rely on the GlobalPlatform specifications for the secure management of applications on the card (download, installation, personalization, deletion).

Java Card technology main design goals are portability and security.

Java Card API#

Application Programming Interface (API) for the Java Card technology defines the calling conventions by which an applet accesses the Java Card Runtime Environment and native services. The Java Card API allows applications written for one Java Card-enabled platform to run on any other Java Card-enabled platform.

The Java Card API is compatible with formal international standards, such as ISO 7816, and industry-specific standards, such as EMVCo’s EMV standards for payment, and ESI/3GPP standards for UICC/SIM cards.

GlobalPlatform Card Specification#

The GlobalPlatform consortium has issued a Card Specification that defines a card management framework. This specification complements the Java Card specifications by defining a set of commands that can be used to manage applications on a Java Card product.

The GlobalPlatform Card Specification also defines a Java Card API that allows Java Card developers to further integrate GlobalPlatform support in their applications.

Most Java Card products include at least some support for the GlobalPlatform Card specification. Please refer to GlobalPlatform for more information.

More Information#

There might be more information for this subject on one of the following: