We have just released a new version of Java Card, Classic Edition. Java Card 3.0.5 specifications and development kit are now available for download.
What's new in this release?
This release includes a lot of new features for Java Card developers, as well as a new IDE plug-in that works with Eclipse.
Here is a short summary of the new features:
- PIN extensions for banking. The OwnerPIN class has been an issue for EMV application developers for a long time, and the new PIN extensions address these issues, for instance allowing the update of the number of PIN presentation attempts after the allocation of the PIN object.
- Secure variables and arrays. This new API allows developers to protect the integrity of data against external attacks by using a specific API. It has the potential to greatly simplify the development of some sensitive applications.
- Secure basic operations. This new API allows developers to protect the integrity of sensitive operations against external attacks without having to perform the operation twice.
- Static cryptography. This new API simplifies and optimizes the use of cryptographic engines when they are needed for a single operation.
- Elliptic curve domain conservation. This new features simplifies the initialization of elliptic domain key sets by conserving the domain definition between operations.
- Diffie-Hellman support. Improved key agreement coverage.
- Support of Java language improvements. Java Card can now be compiled with Java 7 or Java 8, and the language improvements defined in Java 7 that can apply to Java Card are now supported, for instance binary literals.
- One-to-many biometry support. The biometry API has been extended to support one-to-many biometry, where a biometric sample can be compared to several templates.
- Utilities for analyzing an APDU. Utilities have been added to perform simple APDU analysis tasks that are commonly performed by applications.
In addition to these new features, new cryptographic algorithms are now supported, including AES-CMAC, PACE, SHA-3, AEAD_CCM, and AEAD_GCM.
Some of these new features can have a significant impact on the development of applications, and you can take a look at it today:
We will also describe the new features in greater details in further blog posts, so stay tuned.