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.
You will need the following:
- Latest Java 21 for running the app
- a Fidesmo Developer account for your
$FIDESMO_AUTHtoken and$FIDESMO_APPID - a Fidesmo device (get one from the shop)
- a PC/SC NFC reader
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
- Develop and build your JavaCard applet with
ant-javacard - Test your applet on a Fidesmo device with
fdsm - Manage your application and associated applets in the Fidesmo API with
fdsm
- please open a new issue on Github if you find a mistake in code or documentation
- for general support, please contact Fidesmo support via support@fidesmo.com
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.
- To release run
make releaseon up-to-date main/master branch. - After checking the output of the tests,
git pushto move to next version. - Run
git push --tagsto 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.
- Manually pushing any tag named
- Update release description with the latest changes.
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:passwordor--auth tokenFIDESMO_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>