Introducing Swelio – new library for Belgian eID cards

The freeware Belgian eID cards access library called Swelio is available for download: https://github.com/perevoznyk/swelio-sdk

Features

  • No external dependencies
  • x32 and x64 versions
  • All functions have Unicode and Ansi version
  • Simple to use, easy to embed in any programming language
  • C#, C++ and Delphi SDK with samples and documenation are included
  • Works in Windows XP – Windows 10
  • Provides more than 200 different functions
  • QR codes generation
  • Export card data to XML
  • Multiple readers support
  • Exports photo in different graphical formats
  • No eID Middleware required
  • Hash functions and encryption supported
  • Check of the pin code
  • Can create and verify digital signatures
  • Many other useful things…
  • Additionally, you can use Swelio to sign PDF documents using Belgian eid card: https://github.com/perevoznyk/swelio-pdf
  • 21 thoughts on “Introducing Swelio – new library for Belgian eID cards

    1. Marc-olivier March 22, 2017 / 13:07

      Hi,

      Is there a possibility to read an EID Card from a webserver?

      Thanks a lot

      Like

    2. Marc-olivier March 22, 2017 / 14:47

      Hi,

      Is there a possibility to read an EID card with the swelio.dll from our Webserver in place of a local pc?

      Many thanks

      Like

      • Serhiy Perevoznyk May 18, 2017 / 11:22

        No, it’s not possible. swelio.dll is designed to be used at the client side, for desktop applications only.

        Like

    3. Ledeganck May 31, 2017 / 16:19

      Hi,
      Is Swelio reading all belgium eID car type (A,B,C,D,E,E+,F,F+,H) ?
      Thanks

      Like

        • Luc Delcoigne July 14, 2022 / 15:00

          Does Swelio read the new Belgian EiD cards as well ?

          Like

        • Luc Delcoigne July 14, 2022 / 15:28

          Up till now I had some trouble with the most recent eiD cards, where the chip is on the back instead of the front of the card. When trying to read it (the chip is now on the back of the card) I get the ‘insert card’ error message…

          Like

    4. Jonathan June 26, 2017 / 00:25

      Thank you for releasing this.

      After a first usage of the library, the reader is not recognised anymore.
      Any idea how this could happen ?

      Like

      • Serhiy Perevoznyk June 26, 2017 / 20:00

        Jonathan,

        Swelio Manager class Active property is used to activate and deactivate the engine, including memory allocation, creation and disposal of CardReader instances, etc.. It should be set to true at the start of application or when needed, and set to false when you finish to use it. When Manager is deactivated, all internal objects, including the instances of CardReader and Card classes are destroyed.

        The second important property is TraceEvent. When TraceEvent is set to true, the event will be triggered when card is inserted, removed or the list of the card readers changes (new reader is attached to PC or connected reader is removed).
        When event is triggered, TraceEvent value is automatically changes to false and event listener is deactivated.
        You can activate it again in your event handler, after you processed the event.

        For example:

        void engine_CardInserted(object sender, CardEventArgs e)
        {
        GetInfoFromCard();
        engine.TraceEvents = true;
        }

        The reason for this is the possible change of the card readers list. Also deactivation of the engine during event processing prevents dead locks.

        Like

    5. Dirk Verdonck June 7, 2018 / 10:30

      Serhiy, thank you so very much for this wonderful tool. It worked perfectly the first time I tried it. You’ve created a very usable interface to connect to in Delphi.

      Do you have an example of how I could allow a user to digitally sign a PDF?

      many thanks from a grateful colleague đŸ™‚

      Like

    6. Andy Declerck December 19, 2019 / 19:51

      Thank you for this very interesting project.
      Is it possible to read electronic identity cards of other countries with this dll ?

      Thanks for an answer,
      Andy.

      Like

    7. Michel September 2, 2020 / 09:15

      Very nice work !

      I would like to integrate your library and make usage of it in a company software fork for our customer from belgium.But first please could you say with which license is this library offered ?

      Thanks by advance.
      Michel

      Like

      • Serhiy Perevoznyk September 2, 2020 / 14:33

        The library is distributed under MIT license. I think this is less restrictive license than others

        Like

        • Michel September 2, 2020 / 15:13

          Cool.

          Thanks for your quick answer by the way.

          Like

    8. Danny November 8, 2021 / 13:56

      Thanks for your library. I have a problem checking PIN codes having more than 4 digits (Belgian eid allows PIN codes from 4 up to 12 digits). Whenever I use Swelio.Engine Card.VerifyPinCode for PIN code having 5 or more digits it always returns false (when using 4 digit PIN code it works without a problem). I use Swelio.Engine dll version 1.18.8 and Swelio32.dll 1.18.0.0. Does the library prevent in any way the verification of 5 digit or more PIN codes?

      Like

    9. Thierry March 11, 2022 / 14:41

      Hi
      thanks a lot for making this available. Lifesaver for many years…
      Not sure what I’m doing wrong with the latest version from GitHub though.
      No matter what platform I target, it always tries to load Swelio32.dll. I’d really like to use the 64-bit version. Workaround I use is renaming Swelio64.dll to Swelio32.dll and that does the trick. Any ideas?
      Thanks

      Like

        • Tim September 1, 2022 / 17:47

          Hi,

          I’ve just updated to version 1.18.19 and our target platform is AnyCPU. Now the Swelio64.dll is missing and the application is crashing when running on a 64-bit pc. What am I supposed to do? Also install the Swelio-x64 nuget next to the ‘normal’ one? Because if I do that, I also get an error when setting the Manager active.

          Thanks for the great work by the way.

          Like

    Leave a comment

    This site uses Akismet to reduce spam. Learn how your comment data is processed.