Thursday, March 28, 2024

The arrival of the Java Card Development Kit 24.0

The arrival of the Java Card Development Kit 24.0

I am delighted to announce the release of the latest Java Card Development Kit, version 24.0. This release marks a big step forward for application developers, and the entire Java Card team is excited to offer and maintain it for wide adoption.

The Java Card Development Kit is a suite of components and tools for developing applets based on the Java Card Specifications and designing implementations of Java Card technology.

The Java Card Development Kit consists of three independent downloads:

  • The Java Card Development Kit Tools are used to convert and verify Java Card applications. The Tools can be used with products based on version 3.2 of the Java Card specifications as well as products based on versions 3.0.4, 3.0.5 and 3.1 of the Java Card Platform specifications.
  • The Java Card Development Kit Simulator offers a reference runtime to Java Card applications which implements version 3.2 of the Java Card specifications.
  • The Java Card Development Kit Eclipse Plug-in offers an easy path for developing, testing, and debugging Java Card applications using the Eclipse IDE.

Together, these three downloads provide a complete, stand-alone development environment in which applications written for the Java Card platform can be developed and tested.

This release is part of Oracle's desire to enrich the Java Card application developer ecosystem. This new development kit includes numerous improvements to provide a more complete set of features and better integration with development environments. The following are release highlights:

Linux and Windows Support


To provide a more complete development experience, the development kit is now supported on Linux as well as Windows.

The simulator and its plug-in for Eclipse as well as the tools are available for these two operating systems to reach an even larger audience of developers. Expanded operating system support provides more options to use various CI/CD frameworks to continuously build and test Java Card applications during the development process.

Improved Client Host API


The API allowing communication with a smart card from a host environment is now based on standards.

Multiple communication options are available to use the simulator:

  • Java™ Smart Card I/O API (javax.smartcardio): This package defines a Java API for communication with Smart Cards using ISO/IEC 7816-4 APDUs, which allows Java applications to interact with applications running on the Smart Card, to store and retrieve data on the card, etc.
  • PCSC interface: Allows you to communicate with the simulator as if it were a card reader.

These two new ways of communicating allows developers to interact with Java card applications running on the simulator in the same manner as if they were interacting with applications on a real Java Card.

Improved Application Management Interface


Managing applications on a smart card is a crucial point for the deployment of security services once smart cards are in the field. GlobalPlatform is an organization that has been established by leading companies from the payments and communications industries, the government sector and the vendor community. GlobalPlatform defines a flexible and powerful specification for Card Issuers to create single- and multi-Application chip card systems to meet the evolution of their business needs.

The simulator has been aligned with the best-in-class standards to more closely resemble Java Card products being manufactured today. The simulator supports the GlobalPlatform v2.3.1 specifications for application management as well as its API version 1.6

Extended Cryptography Support


The Java Card cryptographic API continues to reflect state of the art algorithms and key management. The simulator offers support for a wide choice of cryptographic algorithms and related operations.

Algorithms Operations  Keys

NIST SP 800-90A DRBG

Pseudo Random Generation 
CRC16, CRC32 Checksum
SHA-1, SHA-224, SHA-256, SHA-384, SHA-512, MD5, RIPEMD-160  Message Digest 
Symmetric Cryptography     
HMAC (SHA-1, SHA-256)  Signature  up to 512 bits
HKDF (SHA-1, SHA-256)  Key Derivation  up to 512 bits
DES, 3DES (2 keys, 3 keys)  Cipher, MAC Modes: ECB, CBC Paddings: ISO 9797 (M1, M2), PKCS5  64, 128, 192 bits 
AES  Cipher, AEAD, MAC Modes: ECB, CBC, CFB, XTS, CCM, GCM Paddings: ISO 9797 (M1, M2), PKCS5  128, 192, 256 bits 
Korean Seed  Cipher, MAC Modes: ECB, CBC  128 bits 
Asymmetric Cryptography     
DSA  DSA Signature 

1024, 2048 bits

RSA Cipher, Signature schemes: PKCS1, PSS, OAEP up to 4096 bits 
DH DH Key Agreement 1024, 2048 bits
ECC ECDSA Signature, ECDH & PACE Key Agreement NIST & Brainpool (112 to 521 bits

Source: oracle.com

Related Posts

0 comments:

Post a Comment