Ticket #204 (new task)

NB! Read about ReportingBugs before filing a ticket!

Opened 23 months ago

Last modified 20 months ago

Clarify the LGPL situation with OpenSC usage in Portuguese eID software

Reported by: martin Owned by: joao
Priority: high Milestone:
Component: opensc Version:
Severity: normal Keywords: licensing
Cc: Blocked By:
Blocking:

Description

PortugueseEid apparently includes OpenSC code (probably modified) but does not come with source code or instructions from where to get the source.

A message must be sent to the official agency in Portugal, asking for explanations and source.

This ticket is created to track the communication and collect additional gathered information.

Change History

comment:1 Changed 23 months ago by joao

 AMA appears to be the government entity responsible for the supervision of all things related to the "Cartão de Cidadão".

 Zetes is the agency responsible for the creation of the official middleware.

comment:2 Changed 23 months ago by martin

  • Keywords licensing added

See  the post on opensc-devel for more information

comment:3 Changed 23 months ago by martin

Carlos Lima from Zetes  replied, acknowledging the problem and delegating the fix to PT government.

comment:4 Changed 22 months ago by martin

e-mail has been sent to contact addresses found on the web page.

comment:5 Changed 21 months ago by martin

As of the result of the mailing, the source code of the modified libopensc is available from the  website ( direct link).

Preliminary review suggests some parts required to build it are missing, but it's a good start. Based on OpenSC 0.8.1.

comment:6 Changed 20 months ago by joao

Two drivers exist in the source. card-ias.c, which implements partial support for the IAS/ECC specification, and card-pteid.c, which implements partial support for the GemsafeV2 applet. The implemented functionality appears to be the minimum needed for the core OpenSC functionality to work (e.g., select file, read binary, etc.).

In card-ias.c, some specific PTEID hacks can be seen, as the applet does not appear to be fully IAS/ECC compatible.

The official PT middleware is, however, made of more parts that are not OpenSC derived, and therefore are not included in the available source code. Namely:

  • A Secure Messaging and crypto layer, which appears to be written in C++.
  • A high level card access library. This library allows operations such as reading the citizen photograph, address, ID number, among other data. Please note that this information is ultimately available through OpenSC - but the API makes the access to the data more straightforward, and also validates the data in the card transparently (i.e., it verifies that it was not tampered with).
Note: See TracTickets for help on using tickets.