Skip to content

Latest commit

 

History

History
130 lines (89 loc) · 7.42 KB

File metadata and controls

130 lines (89 loc) · 7.42 KB
App Logo

English | Italiano

Software for the Italian Electronic Identity Card

Build Status Custom Badge

Description

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.

Components

The library is developed in C++ and supports GNU/Linux OS.

The graphical interface is developed in Java.

Installation

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.

Building the Flatpak from the Manifest

This guide describes the steps required to build a Flatpak package using the provided manifest file.

Prerequisites

Before proceeding, ensure you have the following installed on your system:

Build Instructions

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.yml

You can run the Flatpak package using the following command:

flatpak run --user app.m0rf30.cieid

Building from sources

Requirements

The 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)

Build Instructions

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 builddir

At the end of the build, the following files will be present:

  • builddir/libcie-pkcs11.so
  • cie-java/build/libs/CIEID-standalone.jar

Usage in the Browser

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.

Mozilla Firefox-based Browsers

Follow the instructions provided in the Cie ID UI by clicking on the Tutorial button.

Google Chromium-based Browsers

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