Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to get started with Javacard?

Tags:

javacard

I'm new to smart-card development. Please help me understand how to get started.

  1. What's the relationship between Javacard and JCOP?
  2. How do I map a JCOP version to a GlobalPlatform Card Specification?
    • For example, what specification does JCOP 2.4.1 map to?
  3. When do I need to code against one API versus the other?
  4. Where can I find a good tutorial to get started?
like image 754
Gili Avatar asked Aug 25 '11 12:08

Gili


People also ask

How to create Java Card applet?

The following sections step you through the Wallet source code in detail. See Java Card Classes Used in the Wallet Applet for a description of the classes in the javacard. framework package that are used in the Wallet applet. The Reference section of this article contains a list of all the javacard.

How do Java cards work?

Java Card is a software technology that allows Java-based applications (applets) to be run securely on smart cards and more generally on similar secure small memory footprint deviceswhich are called “secure elements” (SE).

What is applet in smart card?

Java Card Applet Loading and UnloadingJava Card allows applications to be loaded on-the-fly. Thus, a smart card with a Java Card operating system can change features during its lifetime. This is beneficial for both the cardholder and the card issuer and eliminates time consuming paperwork.


1 Answers

  1. JCOP is a software platform originally from IBM that implements Javacard API and GlobalPlatform (formerly Open Platform). Now owned and managed by NXP.
  2. JCOP 2.4.1? Probably GP 2.1.1. Do a web search for specific product specifications.
  3. javacard and GP:
    • Javacard is used to write applications - javacard applets - for smartcard platforms, using the Java Programming language and a limited version of the JVM and java libraries.
    • GlobalPlatform is a specification for managing applet-aware smartcards, defining operations for things like:
      • managing card lifecycle,
      • card/host authentication,
      • installing/deleting/instantiating/selecting applets, and
      • managing security policies on the card.
    • Using GlobalPlatform you'll exchange APDUs with the GP card for the aforementioned operations; using javacard you'll write applets that can accept and process APDUs that are specific to your application. GlobalPlatform isn't javacard specific, but javacard is the only relevant technology for smartcard applet development.
  4. For javacard tutorials, start with the javacard site. Look through the documentation section for Getting Started stuff. Download the dev kit and you'll find some html howtos. For GlobalPlatform, you'll need to begin with the latest GP spec; it's certainly not a tutorial, but I don't think you'll find anything more useful. The spec will require strong smartcard fundamentals. Also see Required Things to start Smartcard Programming Using Javacard
like image 99
pb2q Avatar answered Sep 28 '22 04:09

pb2q