Java Card applications on the Fidesmo Card

August 26th, 2014

by Yves

Bringing the “smart” to the smart card, we now allow not only the storage of MIFARE tickets on the Fidesmo Card, but also the installation of Java Card applets. These applets are programmed in a reduced version of the Java programming language and are directly executed on the card, while it is powered up by a NFC terminal. The possible applications cover a broad  range of a scenarios: electronic ticketing (like VDV in Germany), unlocking your door, store passwords or keys securely, implement NFC based two-factor-auth and most commonly nowadays: the logic inside the credit cards that allows you to authenticate transactions with the card.

The Fidesmo Card Content Management API (ccm) is a package manager for your Java Card applications on the Fidesmo Cards distributed to your  customers. Using the Fidesmo service delivery flow you may install and remove any number of applications. Your application runs isolated from other service providers, protected by a mechanism that is trusted by Visa and Mastercard.

The existing Java Card application base is quite extensive, but also new applications can easily be created due to the powerful abstraction offered by Java. And Fidesmo aims at making the development even easier by providing tools that plug seamlessly into an existing modern Java development environment. This is why the release of this new Fidesmo feature comes together with two plugins for the gradle build tool, which for instance Google also recommends for building Android applications. Our javacard-gradle plugin connects Oracle’s Java Card Toolkit to gradle and therefore allows for dependency management and an easily configurable build process. The fidesmo-gradle plugin allows you to install a Java Card program directly onto a Fidesmo card using an NFC reader attached to your computer. It uses the same API as the Fidesmo App but shortens your development cycle and is hence ideal for frequent and early testing of cardlets. The usage of both plugins with the Fidesmo platform is shown in our  example project.

Together the API and the gradle plugins provide a strong basis for Java Card development and flexible over-the-air deployment of your applications, and you can read more about it here.