Java Card Classic Development Kit 3.0.5u2
Java Card technology provides a secure environment for applications that run on smart cards and other trusted devices with limited memory and processing capabilities. Multiple applications can be deployed on a single card, and new ones can be added to it even after it has been issued to the end user. Java Card also includes a set of unique tools for developing new products.
The Java Card Development Kit includes a complete, standalone development environment in which applications written for the Java Card platform can be developed and tested.
JAVA CARD CLASSIC PLATFORM SPECIFICATION 3.0.5
Java Card technology is the leading open, interoperable platform that enables smart cards and other resource-constrained devices to securely run Java technology-based applications. Java Card 3.0.5 Specification continues the traditional cross-platform and cross-vendor applet interoperability that exist in the Java Card 3.0.x and 2.2.x platforms.
The Java Card Platform specification, consists of two editions: Classic Edition, and Connected Edition. In this latest release, only the Classic Edition has been modified, so its version number has changed to 3.0.5.
The Classic Edition is based on an evolution of the Java Card Platform, Version 2.2.2 and targets resource-constrained devices that support applet-based applications. Release 3.0.5 is the third release of the Classic Edition. Bug fixes and clarifications against the Java Card 3.0.4 specifications and new security algorithms have been added, while backwards compatibility is maintained. In addition, several new features have been added, for instance related to security and static cryptography. Specification documents include:
Virtual Machine Specification for the Java Card Platform, Classic Edition provides the instruction set of the Java Card Virtual Machine (VM), the supported subset of the Java language, and the file formats used to install applets and libraries into Java Card technology-enabled devices. This VM mirrors those VMs found in previous releases of the Java Card platform, including v2.2.2.
Runtime Environment Specification for the Java Card Platform, Classic Edition defines the necessary behavior of the runtime environment (RE) in any implementation of Java Card technology. The RE includes the implementation of the Java Card Virtual Machine, the Java Card API classes, and runtime support services such as the selection and deselection of applets. This RE mirrors those REs found in previous releases of the Java Card platform, including v2.2.2.
Application Programming Interface for the Java Card Platform, Classic Edition complements the Java Card RE Specification, and describes the application programming interface of the Java Card technology. It contains the class definitions required to support the Java Card VM and the Java Card RE. This API mirrors those APIs found in previous releases of the Java Card platform, including v2.2.2.
The documents are accessible on any computer system with an unzip utility, Adobe Acrobat Reader (version 4.0 or later), and a CSS-compliant web browser.
HTML can be viewed with any CSS-compliant browser software, such as:
Download and unzip the specifications bundle
The bundle unzips into the subdirectory javacard_specifications-3_0_5-RR, within which you will find the subdirectory classic. Within the classic subdirectory you will find the specifications:
JAVA CARD PROTECTION PROFILE DOWNLOADS
Java Card technology provides a secure environment for applications that run on smart cards and other devices with very limited memory and processing capabilities. Multiple applications can be deployed on a single card, and new ones can be added to it even after it has been issued to the end user. Java Card also includes a set of unique tools for developing new products.
To help creators of products based on Java Card technology meet the demand by banks, governments, and other card issues for security evaluations that comply with rigorous, widely accepted standards, the Java Card Protection Profile provides a modular set of security requirements designed specifically for the characteristics of the Java Card platform. It reduces the time and cost for developers of Java Card-based products to complete security evaluations under the Common Criteria for IT Security Evaluation. This work is part of Oracle's Global Initiative on Common Criteria (CC).
A profile defines a set of security requirements for the Java Card Runtime Environment, the Java Card Virtual Machine, the Java Card API Framework, and the on-card Installer components. It provides guidelines to develop a secure Java Card platform and obtain high-level security certifications.
The design strategy behind protection profiles represents a breakthrough in the world of security evaluations, as it specifically accommodates the flexible, modular, and open characteristics of Java Card technology. In Particular, it is intended to complement existing protection profiles available for Java Card technology-based smart cards.
Java Card Protection Profile version 3.0.5
The Java Card Protection Profile version 3.0.5, is aligned with the Java Card Specifications version 2.2.x, 3.0.1, 3.0.4 and 3.0.5.
This version of the Protection Profile has been certified by BSI (Bundesamt für Sicherheit in der Informationstechnik) to a certification level of CC EAL4+, ALC_DVS.2, AVA_VAN.5 and can be used to reach certification levels of EAL4+ and above for Java Card products. It relies on CC version 3.1 revision 5.
Java Card Protection Profile v3.0.5 Open Configuration is registered under the reference BSI-CC-PP-0099-2017, and applies to evaluations of Java Card - based smart cards or similar devices that support post-issuance downloading of applications. It replaces the Java Card Protection Profile v 3.0 Open Configuration.
The following sections describe the changes to the Classic Edition specifications for the Java Card platform since the Version 3.0.4 release.
Application Programming Interface, Version 3.0.5, Classic Edition
This section describes the changes to the Application Programming Interface Specification, Java Card Platform, Version 3.0.5, Classic Edition since the Version 3.0.4 release.
The export files associated with the API packages of the Java Card Platform, Classic Edition, are included in the reference implementation bundle. The export files are subject to change until the final release. The new package version numbers are:
Updates to the API specification, Version 3.0.5, since Version 3.0.4 include:
This section describes the changes to the Runtime Environment Specification, Java Card Platform, Version 3.0.5, Classic Edition since the Version 3.0.4 release.
Updates to the Runtime Environment specification, Version 3.0.5, since Version 3.0.4 include:
Tools related to CAP file generation and verification in the Java Card Development Kit by Oracle, have been updated to support JDK 7 class format. Virtual Machine Specification, Java Card Platform, Classic Edition, however, were not changed to provide this support. The changes to the Virtual Machine Specification, Java Card Platform, Version 3.0.5, Classic Edition since the Version 3.0.4 release include:
This section describes the bugs that have been fixed in this release of the Java Card specifications, Classic Edition, Version 3.0.5.
BUG ID | DESCRIPTION |
JCCL-2873 |
SPEC: javadoc for javacard.security.KeyAgreement.ALG_EC_SVDP_DH_PLAIN_XY should be clarified |
JCCL-2746 | JavaDoc: JCSystem.getPreviousContextAID() |
JCCL-2692 | [SC] It's not clear in JCVM that defining an initialized non-primitive final static field in an interface is prohibited |
JCCL-2678 | Key check requirements in API spec for the init methods of Signature, Cipher, KeyAgrement class and KeyPair.genKeyPair method unclear |
JCCL-2873 | SPEC: javadoc for javacard.security.KeyAgreement.ALG_EC_SVDP_DH_PLAIN_XY should be clarified |
JCCL-2657 | bertlv spec clarification needed |
The Java Card technology web site is http://www.oracle.com/technetwork/java/javacard.
Visit this website to access most up-to-date information on the following: