IntroductionThese release notes describe the development kit for the Java Card Platform, Version 3.0.1, Connected Edition, binary release. Java Card technology combines a subset of the Java programming language with a runtime environment optimized for smart cards and similar small-memory embedded devices. The goal of Java Card technology is to bring many of the benefits of the Java programming language to the resource-constrained world of smart cards. The Java Card API is compatible with international standards such as ISO 7816, and industry-specific standards such as Europay, Master Card, and Visa (EMV). Java Card platform version 3.0.1 is the latest evolution of Java Card technology. This development kit is based on the Version 3.0.1 of the Java Card Specifications. For the first time, the Java Card platform is available in two editions, both of which are backward compatible with previous versions and share key security features:
RequirementsPlatform
Required SoftwareThe following software must be installed for the Java Card development kit to work:
For use with the samples, the Firefox browser is considered a trusted client by the RI. Firefox is available at http://www.mozilla.com. Note — Do not install any software in a directory that contains a space in its name. For example, do not install software in any subdirectory of Contents of This ReleaseThis binary release contains only binary code for the RI. Note that the Java Card specifications are not included in this release. The specifications must be downloaded separately. This release contains features required to support classic applets, web applications, and extended Java Card applet applications on the card. Specifically, this release includes the following:
Application SupportThis release supports web applications and classic and extended Java Card applet-based applications. The card manager application, which is built in, allows the user to do the following:
Tools
Java Card Runtime Environment (
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
JC_CONNECTED_HOME |
RELEASENOTES.html - The release notes. platform.properties - contains information about the Java Card Platform for use by developer tools such as the NetBeans IDE. Copyright files. |
docs |
JCDevKitUG-Connected-3_0_1.pdf - Development Kit User's Guide for the Java Card Platform, Version 3.0.1, Connected Edition.UserGuide_html\index.html - HTML version of the user's guide. apduiojavadocs.pdf - Javadoc tool file for use with the user's guide. rmijavadocs.pdf - Javadoc tool file for use witht the user's guide. |
docs\api |
The development kit's API files. |
api_export_files |
Contains java, javacard, and javacardx directories of API export files. |
bin |
Development kit executable files. |
samples\classic_applets |
The ClassicChannels sample shows how logical channels work. |
samples\extended_applets |
HelloWorld sample using an extended applet. |
samples\keystore |
Keystore and certificate files for use by the samples. |
samples\reference_apps\Transit |
The Transit sample application suite, also published in the Programming Notes for the Java Card 3 Platform, Connected Edition, is included here as a reference application. Please see the NOTE for this below in Known Bugs. |
samples\web |
Samples using various web-based features. |
lib |
Configuration and JAR files for the API, tools. Third-party libraries. |
legal |
License files. |
System variables and paths must be set before running the development kit. See the Development Kit User's Guide more details on how to set them. Note that if you choose to set the variables and paths each time you run the development kit rather than permanently in your system, you can place the appropriate commands in a batch file.
JAVA_HOME. You must set the JAVA_HOME system variable to the JDK root directory before running the development kit.
JAVA_HOME from the command line, enter the command: set JAVA_HOME=c:\path before running the development kit. For example, if the Java platform software is stored in your c:\jdk6 directory, enter set JAVA_HOME=c:\jdk6 before running the development kit.JC_CONNECTED_HOME. You must set the JC_CONNECTED_HOMEsystem variable to the directory in which the development kit is installed before running the development kit. JC_CONNECTED_HOME from the command line, enter the command: set JC_CONNECTED_HOME=c:\path before running the development kit. For example, if the Java Card development kit is stored in your c:\jcdk3.0.1_ConnectedEdition directory, enter set JC_CONNECTED_HOME=c:\jcdk3.0.1_ConnectedEdition before running the development kit. ANT_HOME from the command line, enter the command: set PATH=c:\path before running the development kit. For example, if Apache Ant is stored in your c:\ant\apache-ant1.6.5 directory, enter set ANT_HOME=c:\ant\apache-ant1.6.5 before running the development kit. MinGW. You must set the path to the location of MinGW before running the development kit. Note that the path has to point to the \bin subdirectory of the MinGW installation directory where the gcc.exe file is located.
set PATH=c:\MinGW_path;%PATH%. For example, if MinGW is installed in c:\mingw, enter the command set PATH=c:\mingw\bin;%PATH% before running the development kit.Note that the Java Card RE (cjcre) implementation is not optimized for memory or performance and, therefore, requires more memory than an actual optimized implementation on a card. To run the samples provided with the development kit, the Java Card RE must be configured with at least 1M of RAM, 4M of EEPROM, and 4K of COR (Clear-On-Reset). These parameters can be provided to the Java Card RE using the Java Card RE command line as follows:
cjcre.exe -ramsize 1M -e2psize 4M -corsize 4K
For details see the Java Card RE command reference in the Development Kit User's Guide for the Java Card Platform, Version 3.0.1, Connected Edition.
To completely remove the development kit, simply delete the JC_CONNECTED_HOME directory and all of its contents.
This section describes known bugs and issues in the reference implementation.
NOTE: When running the Transit sample, you will need a User Name and PIN to authorize the remote admin. In the user guide's procedure "Run the Transit Sample" within Step #5, "Run the POSWEB sample application," there is a Sub-step #f. After clicking the "AUTHORIZE" button in that step, you will need to enter the User Name as "owner-admin" and the PIN as "8888".
Bug ID |
Description |
|---|---|
6836385 |
SecurityException is thrown during an attempt to access shareable service in constructor or init |
6841620 |
ECDSA Signature.init fails after card reset |
6834466 |
resources from ext. libs should be visible to other ext. libst (regardless the order of libs) |
6843228 |
ECDSA Signature - incorrect transactional behavior |
6840273 |
applet is not installed if exception is thrown after register() |
6842527 |
JCSystem.getAppletShareableInterfaceObject(JCSystem.getAID(), ..) throws SecurityException |
6836643 |
IllegalAccessError is not detected during loading of the modules |
6833322 |
JCint.setInt does not set all bytes correctly |
6833320 |
ArrayLogic.arrayFillGenericNonAtomic works incorrectly |
6840918 |
CLEAR_ON_DESELECT array becomes an CLEAR_ON_RESET array after card reset |
6798109 |
Methods EventRegistry.unregister() don't unregister listeners by relative URI |
6783969 |
Register and unregister methods don't throw IAE as specified |
6843219 |
Listener registered for relative URI isn't notified of event with the same canonicalized URI |
6762416 |
Implementation returns wrong status code while redirecting to secure port |
6796195 |
java.security.AccessControlException is thrown instead of IllegalArgumentException |
6835891 |
CLEAR_ON_DESELECT arrays cannot be created during application creation |
6747078 |
To secure the platf. when using Basic/Digest auth., Authorization headers should be filtered out |
6747080 |
Behavior of container when login-config is not defined must be aligned with the spec |
6747084 |
Matching of <scheme> component of authenticator URIs with the web app auth-method must be relaxed |
6753926 |
Authenticator URI should have a "realm-name" path component that should match web app realm name |
6808246 |
Card Manager does not support protection domain names |
6808317 |
EventRegistry.unregister must unregister only the entries regsitered by current app URI |
Visit the product web site at https://java-partner.sun.com/portal/service/ent/platform/javacardgroup This site has the most up-to-date information on the following:
We greatly appreciate your feedback on the specifications.
|
| ||||||||||||