Find a file
2025-03-10 13:51:31 +01:00
.ci Revert "Add dnf-3" 2024-11-18 15:00:26 +01:00
.github/workflows Don't build for just the docs 2020-10-05 16:11:35 +02:00
.travis Disable code signing on travis 2019-08-20 13:45:33 +02:00
beidmw.xcodeproj Update version number for macOS Viewer to 5.1.22 2024-12-13 11:34:26 +01:00
cardcomm Making 1 installer for arm64 and x64 Windows 2025-03-10 13:50:10 +01:00
debian Update the way of searching for OpenSSL 2024-10-22 10:54:46 +02:00
doc Update documentation for kids foreigner card 2023-11-30 15:00:50 +01:00
installers These binaries should not be tracked 2025-03-10 13:50:52 +01:00
plugins_tools Upgrade eID Middleware and eID Viewer to 5.1.23 2025-03-10 13:50:51 +01:00
rpm Whoops, don't commit in-progress work 2024-09-10 15:03:28 +02:00
scripts Update some readme 2025-03-10 13:51:31 +01:00
tests sign_state.c:74:23: error: incompatible pointer to integer conversion passing void to parameter of type CK_SESSION_HANDLE (aka unsigned long) [-Wint-conversion] 2024-02-25 16:44:53 +01:00
VS_2015 Windows build system: remove no_dialog configurations from pkcs11 and minidriver projects 2016-12-08 09:46:23 +01:00
VS_2017 Windows eidmw solution: add a config that buids only the minidriver 2021-02-01 10:19:41 +01:00
VS_2019 beid solution for VS 2019: add Minidriver_Release config, like we had in VS_2017 solution 2021-06-22 14:38:02 +02:00
VS_2022 Adding project files for Visual Studio 2022 2025-03-10 13:48:34 +01:00
.appveyor.yml Apparently this needs double newlines 2019-11-07 12:14:34 +02:00
.gitattributes Explicitly make a number of files text, so line ending confusion doesn't happen anymore. 2016-11-25 13:40:12 +01:00
.gitignore Update gitignore 2025-03-10 13:51:31 +01:00
.gitlab-ci.yml Return to docker build 2023-02-09 13:33:28 +01:00
.travis.yml Don't try to do things we don't support anymore... 2019-11-19 18:20:26 +02:00
AUTHORS added Anthony Capobianco to the contributors list, for finding an out of bound issue in base64enc.c 2022-03-18 08:44:40 +01:00
bootstrap.sh changed bootstrap to force update of configure, to make sure svn revision is taken into account 2010-06-11 15:27:47 +00:00
configure.ac Update the way of searching for OpenSSL 2024-10-22 10:54:46 +02:00
COPYING initial checkin of autotools-based trunk targetting v4.0 2010-06-04 15:54:15 +00:00
Makefile.am Add a "test" target as an alias for "check" 2019-08-20 13:45:32 +02:00
README.md Update some readme 2025-03-10 13:51:31 +01:00

BeID middleware

About

This repository contains the software and viewer for the Belgian electronic identity card. With this, you can:

  • Communicate with secure websites that require eID authentication
  • Sign documents and emails using your eID
  • Using the viewer, read the identity data on eID cards, verify their validity, and store them for future usage
  • Using the provided API, do all of the above in custom applications of your own.

If you wish to contribute, use the normal github procedures (i.e., file an issue, open a pull request, ...).

For help with getting the software to work, please contact the support desk of the administration whose services you are attempting to use.

Installation

Binary installation

The instructions below are meant for people who want to work on the eID software. If you want to just use the software, these instructions are not for you; in that case, we instead recommend you download it from the official website.

Code from git repository:

  • Make sure you have libtool 2.2.7c or above, autoconf, automake, libassuan, and the autoconf archive installed, and (where relevant) in your $PATH
  • run autoreconf -i
  • proceed to the next step

Code from a source package, or code you just bootstrapped as above

GNU/Linux

Make sure you have the development packages for the following libraries installed:

For the PKCS#11 authentication module:

If the dialogs and/or the viewer are not disabled:

  • GTK3 (note: GTK2 is no longer supported)
  • (Optionally) libassuan, for better integration of the dialogs with desktop environments

If the viewer is not disabled:

  • OpenSSL. Note: you'll also need the "openssl" binary in your path, which is often not part of the openssl development package.
  • libxml2
  • cURL
  • libproxy

After that it's just:

./configure 
make
sudo make install

You should now have beid* libraries in /usr/local/lib and one beid* executable in /usr/local/bin

At runtime, you will need a running pcsc daemon ("pcscd") with the correct driver for your type of card reader (ccid drivers are generally installed automatically along with the pcscd package)

Pin dialogs can be disabled eg for applications that have their own dialogs:

./configure --enable-dialogs=no # the default is yes

macOS

To build the eID middleware (CTKToken + pkcs#11) and its installer: run the buildscript located at eid-mw\scripts\mac\make-mac.sh To build the eID Viewer and its installer: run the buildscript located at eid-mw\scripts\mac\make-viewer.sh

The xcode project for the CTKToken is located in eid-mw\cardcomm\ctkToken The xcode project for pkcs#11 and the eID Viewer is located in the top directory eid-mw

Windows

Run the buildscript located at eid-mw\scripts\windows\build_all.bat This script will generate some version dependant files that are used in the Visual Studio projects It will also build the middleware and viewer, as well as their installers

The eID Middleware Visual Studio solution (2022) is located in eid-mw\VS_2022 The eID Viewer Visual Studio solution (2022) is located in eid-mw\plugins_tools\eid-viewer\Windows\VS_2022

Firefox

To use the Belgian eID in Firefox, we recommend the Firefox extension to handle configuration automatically. The extension will be installed on Linux and OSX. The default install locations:

  • Linux: DATADIR/mozilla/extensions/{ec8030f7-c20a-464f-9b0e-13a3a9e97384} (DATADIR is by default PREFIXDIR/lib - PREFIXDIR is by default /usr/local)
  • OSX: /Library/Application Support/Mozilla/Extensions/{ec8030f7-c20a-464f-9b0e-13a3a9e97384}

To change the install location:

./configure --with-mozext=/mozilla/firefox/extensions/directory

To create an XPI package, run:

make xpipackage   

Common errors

Q: I see

./configure: line 11859: syntax error near unexpected token `ac_ext=c'
./configure: line 11859: `ac_ext=c'

How do I fix that?

A: you missed the autoconf-archive dependency. Please install that and retry.

Status badges

Coverage Status Coverity Scan Build Status CII Best Practices