This software library (middleware) implements the standard cryptographic interfaces PKCS#11 and CSP, allowing the use of the authentication certificate and its associated private key stored on the CIE chip.
The library is developed in C++ and supports GNU/Linux OS.
The graphical interface is developed in Java.
Here you can find the binaries generated from this repo for the following GNU/Linux distributions:
- Arch Linux here
- Rocky 9
- Ubuntu 22.04
Furthermore, you can install the Flatpak package using the provided manifest file.
This guide describes the steps required to build a Flatpak package using the provided manifest file.
Before proceeding, ensure you have the following installed on your system:
cie-java/gradlew -b cie-java/build.gradle standalone
cp cie-java/build/libs/CIEID-standalone.jar packages/flatpak
flatpak remote-add --if-not-exists --user flathub https://dl.flathub.org/repo/flathub.flatpakrepo
flatpak-builder --force-clean --user --install-deps-from=flathub --repo=repo --install build-dir packages/flatpak/app.m0rf30.cieid.ymlYou can run the Flatpak package using the following command:
flatpak run --user app.m0rf30.cieidThe following libraries are required:
- crypto++
- curl
- fontconfig
- freetype2
- java (>= 17)
- jdk (>= 17) (make)
- libpng
- libxml2
- meson (make)
- ninja (make)
- openssl
- pcsclite
- pkgconf (make)
- podofo (<= 0.10.4)
From the terminal, navigate to the root of this repo and type:
cie-java/gradlew -b cie-java/build.gradle standalone
meson setup builddir libs
meson configure -Dprefix=/usr builddir
meson compile -C builddirAt the end of the build, the following files will be present:
- builddir/libcie-pkcs11.so
- cie-java/build/libs/CIEID-standalone.jar
To use the library with the following browsers:
- Mozilla Firefox-based
- Google Chromium-based
follow the related instructions below.
NOTE: Only the last 4 digits of the PIN are required in the browser.
Follow the instructions provided in the Cie ID UI by
clicking on the Tutorial button.
Open a terminal and type:
modutil -dbdir sql:$HOME/.pki/nssdb -add CIE -libfile /usr/lib/libcie-pkcs11.so
# Verify the added library
modutil -dbdir sql:$HOME/.pki/nssdb -list