Smart Cards

Java Cards and Smart Card OS Explained

Java Card smart card with visible chip module and contactless antenna

Quick answer

A comprehensive introduction to Java Card technology, the GlobalPlatform specification and smart-card operating systems — the secure little computers behind your SIM, bank card and ID badge. Explaining how applets are developed, loaded and managed on secure multi-application cards for B2B identity, payment and access-control solutions.

  • Java Card is a stripped-down Java platform that runs on secure microcontrollers, enabling multiple independent applets to coexist on a single smart card.
  • GlobalPlatform provides the security framework for applet lifecycle management (installation, personalization, locking and deletion) via standardized secure channels.
  • B2B buyers benefit from Java Card's vendor interoperability: applets developed for one manufacturer's chip can be deployed on another's with minimal porting effort.
10+ Years ISO 9001 500+ Clients 50+ Countries

At a glance

Use these short answers to decide whether this page matches the project before moving into the detail.

Key takeaway

Java Card is a stripped-down Java platform that runs on secure microcontrollers, enabling multiple independent applets to coexist on a single smart card.

What is a smart card operating system?

There is a fair chance you are carrying several complete computers in your pockets right now without thinking of them that way: the SIM in your phone, the chip on a bank...

What is a smart card operating system?

There is a fair chance you are carrying several complete computers in your pockets right now without thinking of them that way: the SIM in your phone, the chip on a bank card, the secure element in a transit pass, perhaps the page in your passport. Each runs a tiny operating system built on one defining assumption — that the person holding the card may be the one trying to break into it. That assumption is why smart-card software is its own engineering discipline and not ordinary embedded programming. A smart-card OS manages the card's secure storage, cryptographic coprocessor, communication interface and application lifecycle. Unlike a general-purpose OS, it is designed for resource-constrained environments with as little as 2 KB of RAM, 64 KB of ROM and 32 KB of EEPROM.

Java Card smart card with visible chip contact pad

Proprietary card OSes (JCOP, MULTOS, BasicCard) offer varying degrees of openness. Java Card Open Platform (JCOP), developed originally by IBM and now maintained by NXP, is the dominant commercial Java Card OS and runs on NXP's SmartMX and Infineon's SLE78 secure microcontrollers. MULTOS is a competing multi-application platform with strong presence in EMV payment cards.

  • Java Card OS exposes a subset of the Java language. No floating-point, no multi-threading, no garbage collection on most implementations.
  • Applets communicate with the host via APDU (Application Protocol Data Unit) command-response pairs defined in ISO 7816-4.
  • The card's secure element provides hardware-enforced isolation between applets. One applet cannot access another's data without explicit sharing via shareable interfaces.
  • Card OSes implement on-card cryptographic services including AES, 3DES, RSA, ECC and SHA-family hashing.

What Java Card platform editions exist?

Oracle publishes the Java Card specification in multiple editions. B2B buyers and integrators should understand which edition their vendor supports, as it determines available API features.

Edition Key additions Typical chip targets
Java Card 2.2.x Baseline: AID-based applet selection, basic crypto, T=0/T=1 contactLegacy SIM cards, basic ID cards
Java Card 3.0.1 Classic Contactless (ISO 14443) support, extended APDU, biometric APIDual-interface cards, ePassports, national ID
Java Card 3.0.4 Classic SCP03 secure channel, ECC support, key agreementEMV payment, transit, high-security access
Java Card 3.0.5 Classic TLS 1.2 on-card, enhanced ECC curves, IoT profilesIoT device identity, cloud-connected secure elements
Java Card 3.1 Timers, monotonic counters, extended key managementNext-gen SIM (5G), automotive, eIDAS

How do applet development and deployment lifecycle work?

Developing for Java Card follows a distinct workflow compared to standard Java development. The compiled applet is converted to a CAP file, loaded onto the card via a secure channel and then installed and made selectable through GlobalPlatform commands.

The development cycle begins with writing Java source code using the Java Card API subset. The standard javac compiler produces class files, which are then processed by the Java Card converter tool to generate a CAP (Converted Applet) file. The CAP file is loaded onto the card using a GlobalPlatform-compliant tool such as GPShell, GlobalPlatformPro or the vendor's personalization software.

  • Each applet is identified by an AID (Application Identifier). A 5–16 byte identifier registered with the ISO 7816-5 registry or using a proprietary prefix.
  • GlobalPlatform SCP02 and SCP03 secure channels encrypt and MAC-protect all card-management APDUs, preventing unauthorized applet installation.
  • On-card installation allocates EEPROM for the applet's persistent data and registers the applet's AID with the card manager.
  • Applet deletion frees the allocated EEPROM but may not zero-fill the memory. Secure deletion requires explicit data-wiping logic in the applet.
  • Over-the-air (OTA) applet management is standard for SIM-based Java Cards in telecom, using SMS-PP or HTTPS bearer channels.

What's the difference between contact and contactless vs dual-interface Java Cards?

Java Cards are available in contact-only (ISO 7816), contactless-only (ISO 14443) and dual-interface form factors. Dual-interface cards are increasingly the default for B2B applications because they support both insertion-based and tap-based workflows from a single credential.

  • Contact interface provides reliable, high-throughput communication (up to 921 kbps at T=1) and is preferred for initial card personalization and high-security key injection.
  • Contactless interface operates at 13.56 MHz with typical data rates of 106–848 kbps and supports the fast transaction times needed for transit and access-control tap-and-go.
  • Dual-interface cards share a single secure element between both interfaces. An applet installed via the contact interface is automatically available via contactless and vice versa.
  • Some Java Card implementations restrict certain cryptographic operations to the contact interface for security policy compliance.

How do you handle B2B use cases for java Card technology?

Java Card's multi-application architecture makes it the platform of choice for converged credential programs where a single card serves multiple functions. The appeal is consolidation: one credential for the door, the login, the cafeteria and the print queue, in place of the small fistful of separate cards and fobs it replaces.

  • Corporate identity badges combining physical access (DESFire applet), logical access (PKI applet), cashless vending and secure print-release on one card.
  • Government national ID programs using Java Card for biometric storage, digital signature and ePassport ICAO MRTD compliance.
  • Transit fare-collection systems running a Calypso or CIPURSE applet alongside a general-purpose loyalty applet.
  • Healthcare professional credentials with on-card X.509 certificates for ePrescription signing and facility access.

JCOP 4 vs JCOP 5 vs Java Card 3.1 — what changed and why it matters

NXP's JCOP family is the most widely deployed Java Card operating system in payment, government ID and high-assurance access control. The 4-to-5 jump and the parallel Java Card 3.1 specification update are not cosmetic — they re-platform the cryptographic library, the secure-channel protocol stack and the certifiable footprint that procurement teams must verify on every PO.

  • JCOP 4 (Java Card 3.0.5 + GlobalPlatform 2.3) — Currently shipping on NXP SmartMX3 P71 secure microcontroller; common in EMV cobranded payment, MIFARE Plus + DESFire bundled applets, USIM/SIM, transit, and government eID. Supports RSA up to 4096-bit, ECC NIST P-256/P-384/P-521 + Brainpool, AES-256, 3DES, SHA-256/512. Common Criteria EAL6+ augmented (composite certification with the SmartMX3 hardware).
  • JCOP 5 (Java Card 3.1 features + GlobalPlatform 2.3.1) — Adds extended length APDUs (up to 32 KiB payload), elliptic curve crypto suite expansion (Curve25519 / Ed25519), post-quantum-ready key agreement frameworks, and SCP11 ECDH-based secure channel for key loading. Targeted at FIDO2 authenticators, eID/eMRTD with biometric ICAO 9303, and emerging digital identity wallets including EUDI Wallet and mDL ISO/IEC 18013-5.
  • Java Card 3.1 reference highlights — Logical channels are mandatory, supplementary security domains support per-applet access control, and the new 'Sensitive Result' API allows applets to return cryptographically-tagged results that resist fault injection. Backward compatibility is preserved: a Classic 2.2.2 applet CAP file still loads and runs on a Java Card 3.1 card without recompilation.
  • Hardware substrate matters — A Java Card OS only achieves its certified security level when paired with the certified secure microcontroller it was evaluated on. JCOP 4 P71 is certified on NXP P71D320; JCOP 4.7 SE051 on the SE051 IoT secure element; G+D Sm@rtCafe 7.0 on Infineon SLE 78. Buyers should always cite the OS-and-IC pair (e.g. 'JCOP 4 P71 144K') in the PO, not just 'Java Card'.
  • Memory footprint and applet density — A typical JCOP 4 P71 144K card holds 144 KB of EEPROM available to applets; a single payment applet (Visa VSDC, Mastercard M/Chip 4) consumes 30-60 KB, a transit applet (CIPURSE, Calypso) 20-40 KB, an eID applet (PIV, ICAO MRTD LDS) 80-120 KB. Plan PO around the SKU SAS variant (J3R110/J3R150/J3R200/J3R300/J3R350) that fits the applet bundle plus 20% headroom for keys, certificates and audit logs.

Picking a Java Card vendor and applet ecosystem in 2026

The Java Card market consolidated around four implementations, but the applet ecosystem and certification depth vary widely. Buyers running a multi-application program — campus ID + payment + transit + access — need to evaluate not just the OS but the catalogue of certified applets available off-the-shelf and the personalisation toolchain.

  • NXP JCOP 4 / 5 (SmartMX3) — Largest certified applet catalogue including MIFARE Plus, DESFire EV3 emulation, Visa, Mastercard, AmEx, JCB, Discover/PULSE payment applets; PIV, ICAO MRTD, German nPA, Estonian eID; FIDO2/WebAuthn. Tooling: NXP MIFARE SDK, JCOP Tools, ATR Editor. Ideal for multi-application banks-and-government cards.
  • G+D (Giesecke+Devrient) Sm@rtCafe Expert — Sm@rtCafe Expert 7.0 / 8.0 on Infineon SLE 78/Atos secure element. Deep transit specialisation (Calypso, CIPURSE, NFC mobile credentials), payment, German GeldKarte, Brazilian COMPE. Strong personalisation bureau footprint in Europe and Latin America.
  • Thales Gemalto IDPrime / TOP DL — TOP DL family on Infineon Integrity Guard secure controllers; IDPrime MD line for enterprise PKI smart cards (PIV, CAC, .NET smart card emulation), strong for federal government and large enterprise deployments. ID Confirm and IDCore 3110 for banking.
  • Infineon SECORA — Infineon's Java Card stack on its own SLE 78 / SLE 97 secure controllers; targets payment, transit and eID with very high write endurance (1M write cycles per page) and long retention (25 years). Often selected when a single supplier across IC and OS is a procurement requirement.
  • Open-source applet stacks worth knowing — javacardio.com and crocs-muni/javacard-curated-list catalogue mature open-source applets including IsoApplet (PKCS#15), GidsApplet (Microsoft GIDS), OpenSC compatible cards, OpenPGP card applet, FIDO2 Salty Crypto applet and YubiKey-compatible OATH-HOTP/TOTP. Useful for prototypes and developer tokens; not a substitute for a certified bureau-personalised card in production.

Useful next pages

Use these linked product, guide and comparison pages to keep the next click specific and practical.

Java Card products

Java Card smart cards and dual-interface cards for multi-application identity and access-control deployments.

Smart card development tools

Readers and SDKs for Java Card applet development, testing and personalization.

Java Card and Global Platform standards

Authoritative specifications and developer references for Java Card OS, GlobalPlatform applet management and JCOP.

FAQ

Do I need to know Java to develop Java Card applets?

Basic Java knowledge is sufficient, but Java Card uses a heavily restricted subset of the language. There is no String class, no floating-point, no multi-threading and no standard Java collections. Most applet logic is low-level byte-array manipulation using APDU buffers.

Can I run multiple applets on a single Java Card?

Yes. Multi-application support is a core feature of the Java Card platform. Each applet is isolated in its own security context and is selected by the host using the applet's AID. The number of applets is limited only by available EEPROM and RAM.

What is the difference between JCOP and Java Card?

Java Card is the specification published by Oracle defining the API, runtime and virtual machine. JCOP (Java Card Open Platform) is NXP's commercial implementation of the Java Card specification on their SmartMX secure microcontrollers. JCOP cards are Java Cards, but not all Java Cards are JCOP.

How secure is a Java Card compared to MIFARE DESFire?

Java Cards with Common Criteria EAL5+ certified secure elements offer higher security than DESFire EV2/EV3. Java Card supports on-card RSA, ECC and AES with hardware-protected key storage. DESFire is a fixed-function product optimized for speed and simplicity, while Java Card is a programmable platform for custom security applications.

Can Java Card applets be updated after deployment?

Yes. GlobalPlatform defines a complete applet lifecycle management framework. Applets can be loaded, installed, updated and deleted via secure channels (SCP02/SCP03) using authenticated and encrypted APDU commands. Over-the-air (OTA) management is standard in telecom SIM deployments.

Why do payment networks (Visa, Mastercard, EMVCo) require Java Card and not just any smart card OS?

EMVCo certification of a payment applet (Visa VSDC, Mastercard M/Chip 4, AmEx ExpressPay, Discover D-Pas) is granted to the applet on a specific Java Card OS on a specific secure microcontroller — a 'composite certification' under Common Criteria EAL5+ or EAL6+. The cryptographic library, secure messaging, fault-injection countermeasures, side-channel resistance and applet firewall are all in scope. Re-implementing the same applet on a different OS would require re-certification (typically 9-18 months and $200K-$1M per platform). Java Card became the de-facto payment platform because NXP, G+D, Thales, Idemia and Infineon all maintain certified payment applet portfolios that issuers can mix and match.

How is a Java Card different from a SIM/eSIM and from MIFARE DESFire?

A SIM card is a Java Card with a specific applet loaded (the USIM applet plus optional applets like ISIM, CSIM, or remote-managed applets via OTA OTA-RFM). The OS underneath is typically JCOP, Sm@rtCafe or G+D STARCOS — the same Java Card platforms that go into bank cards. eSIM/eUICC adds remote provisioning per GSMA SGP.22. MIFARE DESFire is a different paradigm: it is a fixed-function file-system smart card OS (DESFire EV3 = NXP's proprietary file-system OS) without programmable applets — you create AID-scoped applications and files via APDUs but cannot upload arbitrary code. DESFire trades programmability for cost and certification simplicity; Java Card trades cost and footprint for full applet flexibility.

10+ Years RFID Manufacturing
ISO 9001 Certified Factory
500+ Enterprise Clients
50+ Countries Served

Proud Tek is a Shenzhen-based RFID & NFC manufacturer supplying hotel chains, transit operators, event venues and retail brands worldwide. Every order includes free samples, RF testing and dedicated project support.

Get a Quick Quote

Tell us about your project and we'll respond within one business day. Fields marked (asterisk) are required.

We'll only use this to reply to your inquiry.
Optional, but helps us route your inquiry faster.
e.g. 5,000 pcs
e.g. hotel, event, asset tracking
Chip preference, timeline, special requirements...

Next step

Ready to discuss your project?

Use the contact route when you are ready for pricing, samples, or compatibility help, or continue into the linked product and comparison pages below.