Skip to content

fidesmo/fdsm

Repository files navigation

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 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"

HOWTO

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

Support

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 CONTRIBUTING.md.

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.

Releasing

  • To release run make release on up-to-date main/master branch.
  • After checking the output of the tests, git push to move to next version.
  • Run git push --tags to push the tag (generated in first step) and trigger automatic release with Github Actions.
    • Manually pushing any tag named v* will also trigger the release.
  • Update release description with the latest changes.

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 - user and password, or token. Equivalent of using --auth user:password or --auth token
  • FIDESMO_API_URL - the URL of the Fidesmo backend (do not change if unsure)
  • FIDESMO_APPID - the Application ID to use. Equivalent of using --app-id <id>