|
|
|
|
|
|
|
|
|
Programming Smart Cards with Java Card Technology |
Duration: 2 days |
|
|
This course is designed for Java developers who will write applications for smart cards with the Java card technology.
- Java developers
- Consultants
- Architects
- Technical managers
|
|
It is assumed that students already have some programming experience with Java. If
you do not have Java experience, yet want to move to Java card technology rapidly,
you should consider taking Programming Smart Cards with
Java Card Technology for Non-Java Programmers |
|
|
Description |
A
smart card is a plastic card that looks like a credit card but
has an embedded microprocessor. The microprocessor, together with
the built-in volatile and non-volatile memories, allows the smart
card to do things that credit cards cannot do. For example, store
personal information such as medical records; store electronic
money, etc. The possible applications of smart cards are limitless,
especially in today's wireless and Internet world.
Smart cards are programmed to implement those applications. Because the
inner workings of smart cards differ from one manufacturer to
another, the programming logic for smart cards is manufacturer-specific.
Traditionally it is almost impossible for third parties to develop
smart card applications independently and sell them to card issuers.
Java card technology tries to leverage on Java language's "write once, run everywhere"
nature and make the application development for smart cards more
aligned with today's mainstream of software development. In particular,
Java card technology relieves smart card programmers of having
to work with low-level, manufacturer-specific API. It exploits
Java's natural support for security, object-oriented technology,
and hardware independence. Developers will write applications
for smart cards using standard Java card API. They can be burned
into any Java card compliant smart cards, even after the cards
are issued.
Developing applications (called applets) for smart card with Java card technology is significantly
different from developing normal Java programs. It is more of
art and discipline than science. This course aims to teach students
the full cycle of development for smart cards using Java card
technology.
|
|
Objectives |
Students will use the Java card development kit to write real world applications
and go through all the steps that lead to the final mask (burning
binary into card). Upon finishing this course, students will be able to
- Have a firm understanding of the Java card architecture
- Master the Java card framework and API
- Write Java card applets, optimize them, verify them off the card, and understand
the installation process.
- Master the APDU protocol and use them effectively in applets.
- Master applet firewall and object sharing
- Master Java Card cryptography APIs and platform security
- Understand how to integrate Java Card with the Visa Open Platform framework
|
|
Course Outline |
Smart Card Overview
- What is a smart card
- Smart card and international standards
- Smart card types and hardware
- Smart card communication protocols
- Smart card operating system
Java Card Technology Overview
- Overview of Java card architecture
- Overview of Java language used in Java card
- Java card virtual machine and runtime environment
- Java card framework and API
- Overview of Java card development process
Writing Java Card Applets
- Memory model in Java card
- Persistent and transient objects
- Atomicity and transactions
- Exception handling
- Applet class
- Working with APDU protocols
|
|
Java Card Security
- Fundamentals of Crytography
- Security API in Java
- Java Crytography Extension (JCE)
- Applet firewall
- Object sharing
- Cryptography and Java card cryptography APIs
- Java card security mechanisms
- Applet security
Java Card Programming Guide and Tips
- Applet design and optimization
- Design of the applet class structure
- Applet error checking
- Creation and reuse of objects in applets
- 32-bit arithmetic Operations
- Accessing arrays
Open Platform / GLOBALPLATFORM Initiatives
- Open Platform Card Specification
- Visa Open Platform Card Implementation Specification
- Open Platform Card Architecture
- Open Platform Card and Application Life Cycle
- Open Platform Card Content Management
- Open Platform Terminal Specification
- Java Card and Open Platform Solutions
| |
|
|