Release NotesDevelopment Kit for the Java Card™ Platform
|
These 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:
Platform
Required Software
The 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 c:\program files
because of the space
in the program files
element.
This 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:
cjcre.exe
)installer.bat
)jcpackager.bat
)apdutool.bat
)debugproxy.bat
)romizer.bat
)converter.bat
)installer.bat
) is functionaljcpackager.bat
) can be used to both
validate and create classic, web and extended Java Card applets
applicationsdebugproxy.bat
) can be used to debug
applications in an IDE (such as the NetBeans™ IDE)apdutool.bat
) can be used to send APDU
scripts to the extended Java Card applet applicationsromizer.bat
) can be used to create custom
ROM image files to create customized Java Card runtime environment (cjcre.exe
)converter.bat
) can be used to create
classic applet application bundlescjcre.exe
)
FeaturesFor a more thorough description of the installation, contents and use of the development kit, see Development User's Guide, Java Card Platform, Version 3.0.1, Connected Edition included in the download bundle for this release.
An automatic installer tool can be used to unpack the download file
containing this release. During download, you can choose to let the
installer tool unpack the download file into a directory of your choice
on your system or you can save the download file itself to your system.
Note — Do not
install development kit software in any
directory that has a space in its name. For example, on a Windows
platform, do not install software in the c:\program files
directory, or any subdirectory of c:\program files
,
because the program files
element contains a space.
To install the Java Card development kit and associated software, follow these steps:
Alternatively, you can use the command line to unpack the JAR file using the following command:
Where Bundle-Filename is the downloaded development kit JAR file.java -jar
Bundle-Filename
By default, the development kit is installed in c:\jcdk3.0.1_ConnectedEdition
and its associated sub-directories. You can specify a different
directory if you wish.
The directory c:\jcdk3.0.1_ConnectedEdition
(or
the alternate directory you specify during installation) is referred to
as JC_CONNECTED_HOME
in these
release notes. When the development
kit installation is complete, JC_CONNECTED_HOME
contains the following:
JC_CONNECTED_HOME
|
RELEASENOTES.html - These 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 - JavadocTM 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. |
Set System Variables and Paths
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_HOM
E
=c:\jdk6
before running the development kit.
JC_CONNECTED_HOME
. You must set the JC_CONNECTED_HOME
system 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_HOM
E
=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_HOM
E
=
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.Configure the Java Card Runtime
Environment for the Samples
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.
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 reference Implementation. Please send all feedback to bandol-ri-feedback@sun.com.
Copyright
© 2009 Sun Microsystems, Inc. All rights reserved.