Bruegger.IT logo

Table Of Contents

Previous topic

About Me

Next topic

eIDs – Electronic Identity

A description of selected activities

As time permits, I describe my past activities in a structure differently form the resume – less formal and more topic-oriented, detailed, and annotated. I also include some links to software I wrote or presentations I gave.

eIDs – electronic identity

I was very active in the area of eIDs. An even more detailed description of this experience at eIDs – Electronic Identity is a good illustration of the way I work.

My eID related activities included:

  • as consultant at the Municipality of Grosseto, I was technically responsible for the second national eID pilot project conducted by the Ministry of the Interior and created various (open source) software including:

    • multi-platform middleware for the eID card by adding support in OpenSC.
    • multi-eID access control system
    • interface between population register and card issuing stations

    Other activities included:

    • work on “liberating” the initially secret spec of the eID. I managed eventually to get official permission to distribute an open source middleware.
    • worked on community building, including a national community of Municipalities and others working on the Italian eID, and an internationa technical community for interaction among national eID projects and beyond, participated in the eForum’s eID working group, in the OpenSC community, and much more.
    • I represented the municipality in various technical committees at the Ministry.
  • I represented the Ministry of the Interior towards Microsoft in the Government Security Program.

  • I created the Open Source eID Interoperability Demonstrator in the Porvoo Group that worked with the Italian (2x), Belgian, Finnish, and Estonian eID cards both on the client (middleware) and server (authentication). [IDABC Conference, 2005], [Porvoo 7, 2005], [Porvoo 8, 2006], [Porvoo 9, 2006]

  • I co-organized the Porvoo 12 meeting in Grosseto.

  • I proposed “TLS-Federation” as a secure solution for interoperability with non-certificate-based eIDs in Europe. [IDABC workshop on eID Interoperability], [White Paper], [BioSIG], [World eID]

  • I developed a cryptographic protocol to authenticate Certificate Signing Requests with a one time password without the risk of a Man in the Middle attack.

  • I disseminated my work in various ways. [ePractice Journal], [OSOR-Open Source: to have or to do], [OSOR-Open Portal Guard], [OSOR-Porvoo Group], etc.

Open Source Advocacy and Software


I’m a long-time open source advocate. Among the things I did are:

  • In 1998, I pioneered open source at FAO, convincing my client to release the TADinfo System that I developed for them in open source.
  • In 2001/2, I was one of three partners in the EC-funded SPIRIT project [1] that promoted open source in health care. It’s still visible on
  • I was active in the early days in the Open Source Health Care Alliance (OSHCA), for which I wrote the first charter, organized the inauguration meeting at FAO in Rome, and organized the developing country session at the OSHCA Meeting in London in 2001.
  • I’m one of the co-founders of a somewhat failed association of local government for collaboration on open source projects (ELISA–Enti Locali Italiani per il Software Libero)
  • I worked hard for the liberation of the Italian eID through lifting the secrecy on the technical specification, in order to make e-Government services accessible from non-Windows platforms.
  • I “converted” the Municipality of Grosseto to open source by demonstrating “open source in action”.
  • I proposed to OSOR to standardize for a single open license for spatial data for INSPIRE.


Doing is better than just talking, though. When it is possible, I like to contribute code back to the community.

Here are some of the things I’ve done.


Eventually, I plan to put up cache copies on this site. So far it is mostly a list.

  • I reverse engineered the Italian eID and in the process wrote a python library to access it.
  • I added support for it in OpenSC. Daniele Pucciarelli later much improved the module and I contributed some testing having at disposition cards with chips from different vendors.
  • Open Portal Guard is a multi-eID access control system that consists in an Apache module written in mod_python. Copyright is with the This software is reused in a modified version by the Municipalities of and Imola.
  • Interface of population register with eID emission station is a small HTTP daemon written in that implements the proprietary protocol of the emission stations and interfaces to the DBMS of the population register. Grosseto runs it against Oracle; has adapted the software to interface to a DB2 on AS/400.
  • I wrote a REST interface to a dinasaur VT220 application that calls the motor vehicle department over a dedicated ISDN line to look up the owner of a vehicle, given the license plate number. “Form input” and screen scraping in VT220 is fun ;-) This is for the municipal police that needs to send fines, BTW.
  • A converter (parser and backend) from Italian “Cadaster Markup Language” to shapefile in order to be able to import cadastral data into the municipalitie’s GIS.
  • A recipe how to use open source software (proj) to change the spatial reference from that of the cadaster to that of the regional base map. (Way more complicated than it sounds)
  • A converter from the Italian national format of geodetic grid shift files to the de-facto standard format (NTv2) used by all open source and commercial GIS software. Among others, this enables precise on-the-fly conversion across Italian reference systems with Mapserver or PostGIS.
  • An OCSP module for pyASN1
  • A partial ASN.1 parser and code generator for pyANS1.
  • python recipes for:
  • I’m hoping to be able to release a unix communications daemon of just below 6000 lines of python code (sloccount) in open source...

More Detailed Descriptions

Here you find more detail on certain activities and experiences.


[1]Sistema was my company in those days