CIE (Carta di Identità Elettronica) Linux middleware
This product is beta software. Use it in production at your own judgment.
Forked on 25 March 2022. The aim is to obtain something that works smoothly with Debian-derived Linux distribution using FireFox and command line tools.
-
running pcscd
-
cmake >=3.15
-
pcsclite library (for SC communication )
-
ssl library
On Debian and derivatives the lib requirements can be installed with the
packages libpcsclite-dev libssl-dev
.
Library versions as of Ubuntu 18.04 are reported to work.
The official building approach is using Eclipse, for historical reasons. Versions from 4.18 onward are working, this is due to JDT version being tied to the IDE's one. For a more up-to-date approach using gradle check the user fork mentioned in the comments at 1.
Build happens in three steps:
- build signing library
cie_sign_sdk
using cmake - build C++ middleware project
cie-pkcs11
using Eclipse - compile Java application
CIEID
using Eclipse
This will build a static library and copy it into cie-pkcs11/Sign
cd cie_sign_sdk
cmake -B build/
cmake --build build/
cmake --install build/
Run build-cie-pkcs11
from the project's root directory. Note that there
are two alternative linking. By defining NO_DEP
, most project-local
dependencies are discarded.
These steps can be performed with or without Eclipse.
If using Eclipse install the JDT plugin, switch to "Java" perspective,
select CIEID in the Package Explorer view, add a Debug or Run configuration
starting it.ipzs.cieid.MainApplication
as main class.
Add -Djna.library.path=".:../Debug"
to VM arguments.
When directly calling the JVM be sure to make the libcie-pkcs11.so
available
to JNA either using the jna.library.path
property or installing the library
in a path searched by default, e.g. /usr/local/lib
.