Swiss Army Knife for working with Fidesmo devices and Fidesmo API

api-client, cli, fidesmo, java


FiDeSMo Utility · MIT licensed Build Status Maven Central Release

FDSM is the developer's Swiss Army Knife for working with a Fidesmo device and the Fidesmo API. It supersedes gradle-fidesmo for interacting with the Fidesmo API and provides an alternative to Fidesmo Android app when delivering services to a device via a PC/SC reader (contact or contactless). All from the command line.

Getting started

You will need the following:

Grab a copy of fdsm.jar (or fdsm.exe wrapper for Windows) from the release area. It is an executable JAR file, so start by running

java -jar fdsm.jar -h

or fdsm.exe -h on Windows. With Linux or macOS, it is recommended to add a handy alias to your ~/.bashrc or ~/.profile (assuming ~/Downloads is where you saved fdsm.jar):

alias fdsm="java -jar ~/Downloads/fdsm.jar"


FDSM should be easy to use for JavaCard developers with some knowledge of the Fidesmo API. We will cover the full development cycle with the following HOWTO-s

  1. Develop and build your JavaCard applet with ant-javacard
  2. Test your applet on a Fidesmo device with fdsm
  3. Manage your application and associated applets in the Fidesmo API with fdsm


License and development

FDSM is open source software, developed by Fidesmo AB and licensed under MIT license. Pull requests are most welcome, please refer to

To contribute you will need Apache Maven to build and test the software, but a wrapper to download the right version is included.

To produce a build, execute ./mvnw package and use the generated target/fdsm.jar.

Environment variables

fdsm is a command line application and takes most of its input from command line arguments but some behavior can be tuned by setting environment variables.

  • FIDESMO_AUTH - the app ID and app key from developer portal in appId:appKey format, equivalent of using --auth appId:appKey
  • FIDESMO_API_URL - the URL of the the Fidesmo backend (do not change if unsure)