One of the aims of this blog is to (slowly) build a tutorial on Java Card technology. The tutorial remains under construction, but significant material is already available, on two tracks:
- JC101 is a tutorial about Java Card 2.2 technology, which also introduces a few concepts about smart cards and security.
- JC301 is a tutorial about Java Card 3.0 technology, which mostly focuses on the newly introduced servlet application model, and on Smart Card Web applications.
The tutorial also includes some examples, which should be available shortly.
There is also a Miscellaneous/Q&A section.
JC101: Java Card 2.x
The following articles are already available in JC101:
- Tutorial introduction
- JC101-1J: Hello world for Java developers
- JC101-1C: Hello world, for smart card developers
- JC101-2C: A simple counter (for smart card developers)
- JC101-3C: A real application
- JC101-4C: A basic password manager
- JC101-5C: Data management and transactions
- JC101-6C: Specifying the APDU’s
- JC101-7C: Processing APDU’s (1/2)
- JC101-8C: Processing APDU’s (2/2)
- JC101-9C: Authentication and lifecycle
- JC101-10C: Adding a password and state management
- JC101-11C: Attacks on smart cards
- JC101-12C: Defending against attacks
- JC101-13C: Testing Java Card applications
- JC101-17C: Communication testing rationale
- JC101-18C: Defining a secure channel from scratch
- JC101-19C: A secure channel protocol
- JC101-20C: A secure channel API
JC301: Java Card 3.0
This tutorial is only starting, and the following articles are already available in JC301:
- JC301-1: Introducing Java Card 3.0
- JC301-2: Why change Java Card ?
- JC301-3: Connected vs. Classic
- JC301-4: Where are the differences?
Miscellaneous, Question and Answers
The Q&A section just got started, and only a few are available for now, with a few other standalone topics: