Overview#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 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.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.