Skip to content
eID Middleware (main repository)
C C++ R C# Objective-C Batchfile Other
Branch: master
Clone or download
Frederik Frederik
Latest commit 69b2cf4 Dec 6, 2019
Type Name Latest commit message Commit time
Failed to load latest commit information.
.travis Disable code signing on travis Aug 20, 2019
VS_2015 windows: removed no_dialogs configuration in minidriver and pkcs11 bu… Feb 22, 2017
VS_2017 VS 2017 solution : use x86 as identifier for 32bit builds Sep 30, 2019
beidmw.xcodeproj Updates from new tools Dec 3, 2019
cardcomm bugfix "error: extra qualification 'eIDMW::CCard::' on member 'ReadRe… Dec 6, 2019
debian Drop Firefox dependency Nov 6, 2019
doc SDK: updated documentation with the new "per record" objects Dec 6, 2019
plugins_tools Allow things to compile with Gtk4 Dec 3, 2019
rpm OpenSUSE wants me to have directories be owned Feb 5, 2019
scripts mac export viewer script: some more echo casing Oct 1, 2019
tests Also eject card reader on Windows Nov 14, 2019
.appveyor.yml Apparently this needs double newlines Nov 7, 2019
.gitattributes Explicitly make a number of files text, so line ending confusion does… Nov 25, 2016
.gitignore Merge remote-tracking branch 'remotes/origin/v4.4' Oct 1, 2019
.travis.yml Don't try to do things we don't support anymore... Nov 19, 2019
AUTHORS Update to reflect current situation Mar 25, 2015
COPYING initial checkin of autotools-based trunk targetting v4.0 Jun 4, 2010 Add a "test" target as an alias for "check" Aug 20, 2019 Update build instructions with new dependency Oct 28, 2019 changed bootstrap to force update of configure, to make sure svn revi… Jun 11, 2010 configure: check for Gtk4 Nov 21, 2019

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, 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


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).
  • (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:

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


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

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


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 (2017) is located in eid-mw\VS_2017 The eID Viewer Visual Studio solution (2017) is located in eid-mw\plugins_tools\eid-viewer\Windows\VS_2017


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

You can’t perform that action at this time.