Skip to main content

fiskaltrust.Middleware for Linux and macOs

Starting with version 1.3.3, it's possible to run the German Middleware on Linux, using Mono. Just configure a CashBox and download the Linux launcher via the respective button in the CashBox overview. Like on Windows, the downloaded zip file contains scripts to install and test the Middleware.

Requirements

In general, it's possible to run the Middleware on each Linux distribution that is supported by Mono (Ubuntu, Debian, Raspbian, CentOS and Fedora, including their derivatives). Most testing at fiskaltrust is performed with Ubuntu and Debian, and we hence recommend to use these distributions.

Please make sure to install the latest Mono version. The default versions in the package repositories are usually extremely outdated, so please follow the official Mono guidelines to get the latest packages. We recommend to use at least version 6.8.0, if possible.

Other than that, no specific software needs to be installed (aside from the dependencies Mono has). When using a Swissbit TSE, it might be required to install the libc or glibc packages, as these are required by Swissbit's libraries.

Supported packages

Local data storage/Linux distribution support matrix

UbuntuDebianOther distributions running Mono
local mySQL Storagetestedtestedshould work (not tested)
local SQLite-Storagetestedtestedshould work (not tested)
local EF-Storagenot testednot tested
local in-memory storagenot testednot tested

Both Entity Framework and SQLite queues can be launched on Linux, starting from version 1.3.3.

SCU/Linux distribution support matrix

UbuntuDebianOther distributions running Mono
A-Trust Cloud TSEUpdate 06.08.2021: Paused by a-trust.Update 06.08.2021: Paused by a-trust.Update 06.08.2021: Paused by a-trust.
Cryptovision Hardware-TSEtestedtestedshould work (not tested)
Deutsche Fiskal Cloud-TSEUbuntu LTS 20.04 certified, not testednot tested
Diebold-Nixdorf Hardware-TSEnot testednot tested
Epson Hardware-TSEnot testednot tested
fiskaly Cloud-TSEtestedtestedshould work (not tested)
Swissbit Hardware TSEtestedtestedshould work (not tested)
Swissbit Cloud TSEUbuntu LTS 20.04 certified, not testednot tested

Limitations

danger

Due to the limited hosting capabilities of Mono, the current version of the Middleware has several limitations and specifics when running on Linux. Therefore, please read this section carefully.

The upcoming major version of the Middleware will include a truly platform-independent Launcher where these limitations will be resolved.

Currently, the Middleware only supports gRPC and REST when executed on Linux. This means that SOAP is right now not supported (due to open bugs in Mono's WCF implementation).

If you haven't already decided for a communication technology, we strongly recommend gRPC, especially in Linux scenarios, as it provides a cleaner, more stable interface. Please refer to our demo project (currently available in C#, Java, Node.js and others) for sample implementations.

REST limitations

When using REST, the HTTP endpoint slightly differs from the Windows version, as the version prefix cannot be included because of the mentioned Mono issues. Hence, a REST endpoint on Linux must be called like this: http://localhost:1500/a4c4e466-721a-4011-a9a5-a23827a21b45/sign:

  • The /json/v1 part needs to be omited
  • The URL must be written in lower case
  • When calling the journal endpoint, the type, from and to GET parameters must be included

Please also note that the content-type must be set:

  • to application/json when calling the sign or echo endpoints
  • to text/plain when calling the journal endpoint