eID Middleware (main repository)
Frederik Frederik
Latest commit 7d9f474 Dec 14, 2018
Type Name Latest commit message Commit time
Failed to load latest commit information.
.travis Explicitly select pkg-config Sep 13, 2018
VS_2015 windows: removed no_dialogs configuration in minidriver and pkcs11 bu… Feb 22, 2017
VS_2017 Added a new VS 2017 project file for the eID Viewer Backend, and a ne… Nov 22, 2018
beidmw.xcodeproj Mac build: remove prefix.h Dec 14, 2018
cardcomm Remove some dead code regarding caching Dec 14, 2018
debian Also add AppStream metadata for PKCS#11 module Oct 4, 2018
doc Add v2.40 version of PKCS#11 includes Oct 16, 2018
installers Updated the eID Viewer Wix installer Nov 30, 2018
plugins_tools Add UML file generation to the "make dist" output Dec 7, 2018
rpm Merge branch 'v4.4' Dec 4, 2018
scripts windows buildscripts: added a sign_eidmw that signs only the middlewa… Nov 30, 2018
tests removed unused c files from the test_dialogs project Dec 13, 2018
.gitattributes Explicitly make a number of files text, so line ending confusion does… Nov 25, 2016
.gitignore ignore some more windows build directories Nov 26, 2018
.travis.yml Stop trying to compile for OSX on Travis Mar 29, 2018
AUTHORS Update to reflect current situation Mar 25, 2015
COPYING initial checkin of autotools-based trunk targetting v4.0 Jun 4, 2010
Makefile.am Do fuzzing with libFuzzer Nov 22, 2018
README.md Update instructions to clarify which dependencies are needed for what Jan 18, 2018
bootstrap.sh changed bootstrap to force update of configure, to make sure svn revi… Jun 11, 2010
configure.ac Add UML file generation to the "make dist" output Dec 7, 2018


BeID middleware


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.


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 and automake installed, and in your $PATH
  • run autoreconf -i
  • proceed to the next step

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


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 still supported for now, but this support will be dropped at some point in the future).

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:

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


Just open the project in Xcode (6 or above) and hit "start"


Just open the project in Visual Studio (2012 or above)


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   

Status badges

Coverage Status Build Status Coverity Scan Build Status CII Best Practices