JCDK 26.0 DownloadJCDK 26.0 DocumentationDeveloper Forum

The Java Card Development Kit 26.0 is Now Available

Oracle’s Java Card team is pleased to announce version 26.0 of the Java Card Development Kit Simulator and Tools.

This release represents an important evolution of the platform, introducing Preview Features across both the Simulator and the Tools, enabling developers to experiment with upcoming capabilities. The main purpose of introducing preview features is to allow developers to use these capabilities in real-world contexts and provide feedback. Details on Java Card Preview Features are available in the Java Card API documentation and are also explained in a blog “How Preview Features Support Java Card Evolution”.

As with previous versions, the Development Kit provides a complete environment to design, develop, test, and verify Java Card applications.

Please refer to the JCDK 26.0 Release Notes for more details.

Java Card Development Kit 26.0

What’s New ?

Preview Features: Shaping the Future of Java Card

JCDK 26.0 is primarily focused on the introduction of Java Card Preview Features, marking a key step in the evolution of the platform.

Preview features are:

  • Fully specified and implemented
  • Available for real-world usage
  • Subject to change based on developer feedback

They allow developers to experiment early, validate new APIs before they are finalized, and explore upcoming platform capabilities.

Support is enabled via the -enable-preview option, now available consistently across the Simulator and the Tools.

Preview Cryptography Features

In this release, both BDH and ECSDSA, introduced as preview features to support the EMV® Contactless Book E – Security and Key Management v1.1 specification, are available in a stable form for development and validation purposes.

Blinded Diffie-Hellman (BDH)

Adds support for key agreement using the Blinded Diffie-Hellman (BDH) protocol, as defined in the EMV® Contactless Book E – Security and Key Management v1.1 specification. A BDHKeyAgreement object instantiated with the ALG_EC_BDH_SECP256R1 algorithm enables Elliptic Curve BDH key exchange using the secp256r1 curve. The generateSecret() method allows generation of the blinding factor, the blinded public key, and the resulting shared secret.

ECSDSA Digital Signatures

Adds support for generating and verifying digital signatures using the Elliptic Curve Schnorr Digital Signature Algorithm (ECSDSA), in accordance with ISO/IEC 14888-3. A Signature object can be instantiated using SIG_CIPHER_ECSDSA or SIG_CIPHER_ECSDSA_OPTIMIZED, the latter providing an optimized variant where only the x-coordinate of the ephemeral public key is processed.

End-to-End Preview Support in Development

Preview features are now fully integrated into the development workflow:

  • Simulator: execution and testing of preview-enabled applets
  • Eclipse Plug-in: build support for preview features
  • Tools (converter & verifier): support for preview APIs and the -enable-preview option

This ensures a consistent and seamless experience from development to validation.

Improvements in Tools Workflow

The Java Card Development Kit Tools include enhancements to improve usability and correctness:

  • Support for preview features in conversion and verification flows
  • Improved handling of export file processing order

These updates streamline the development pipeline and reduce potential sources of confusion during build and verification phases.

Expanded Platform Support

JCDK 26.0 also broadens platform compatibility and modernizes dependencies:

  • ARM 32-bit support on Linux Ubuntu 24.04 LTS
  • Updated OpenSSL 3.5 integration
  • Alignment with JDK 25 environment

These changes ensure better portability and alignment with current development ecosystems

I encourage you to download JCDK 26.0, explore the new capabilities, and share your feedback with the Java Card community (Developer Forum).