Visualização de Assinatura Digital em PDF

Project Details


(The objective is to integrate upstream if possible, so going to use what upstream uses)

Evince license - GPL v2

Poppler license - GPL v2

Purpose of this project

The most used software for reading pdf documents on Windows (Acrobat Reader) has support for showing and validate signatures in pdf documents. On modern Linux desktops that doesn't yet exist and that's the purpose of this project, change Evince document viewer (default gnome pdf reader) to add those features.

Project description

Evince is a generic document viewer and it uses the poppler library as the backend for pdf documents. The heavy work of pdf signing and verification is being done in poppler by my mentor. The main focus of this project is adding the GUI for those features and make the user aware of them.

Focus on the following features:

  • Show a general conclusion about the signature's validation.
  • Show more detailed information, such as why it failed or not:
    • Was the document altered since it was signed?
    • The person that signed is someone I trust?

Examples on how Acrobat Reader manages this:

Update (20 Sep 2012):

This is how Evince looks like with our changes:

Not in this the project scope:

  • GUI for showing certificates tree and their information.
  • Support for checking revocation status of certificates (CRLs or OCSP queries)

In case there is time, features worth considering:

  • Visible signatures.


Phase 1 - 16/07 a 24/07:

  • Understand the requirements of the project; [DONE]
  • Simple low quality mockup to make sure of the direction to take; [DONE]
  • Edit this wiki page; [DONE]
  • Setup development environment; [DONE]
  • Approach current maintainers of Evince on IRC; [DONE]
  • Prepare presentation; [DONE]

Phase 2 - 25/07 a 14/08:

  • Learn GTK basics, study tutorials; [DONE]
  • Understand the current code structure (with help from current developers); [DONE]
  • Develop the new components for the GUI using dummy information; [DONE]

Phase 3 - 15/08 a 31/08:

  • Understand how poppler works and how it connects with Evince; [DONE]
  • Create command-line simple application to understand the API; [DONE]
  • Change the dummy code on the GUI with the real connection to poppler; [DONE]
  • Test and make necessary changes for it to work; [DONE]

Phase 4 - 03/09 a 14/09:

  • Talk with maintainers and help trying to push it upstream; [IN REVIEW]
  • Review what's done and make final presentation. [DONE]

Risk Mitigation, Monitoring and Management Plan

Risks Identified

  1. The build environment used to develop gnome software has bad documentation and can be confusing.
  2. Evince uses GTK and I never used it.
  3. Adding the connections between poppler and Evince also uses technology I'm not used to. (Glib/GObject).

Risk Mitigation

  1. Contact the official developers (Mailing lists / irc) and ask for directions, best practices, examples.
  2. Learn GTK following online tutorials.
  3. Study the existing code and ask for help on irc.

Risk Management

  1. Talk with mentor about issues that may appear.
  2. Search and ask for help.
  3. Check weekly if progress is being made.

Interaction with the community / Incentives to collaboration

Discussion about these features sometimes show up in the community and can be important for more security oriented users (such as on enterprises): e.g. this bug report from 2008:

It is needed to follow current upstream directions making it easier to push new changes to Evince.

Talking about it with current maintainers since the beginning is necessary.

Mentor information


Caixa Mágica Software

Company description

Caixa Mágica is one of the open source projects with most historical background in Portugal.

Born in a college environment at ISCTE in 2000, has been growing steadily for the last eight years, supported by a set of visions, mission and values and a strategy the help maintaining the focus on open source technologies.

In 2004, a spin-off company started, being held a strong relationship with ADETTI through a contract of shared development. The company Caixa Mágica Software had positive results in 2004 and has been growing 30% each year.

Today, Caixa Mágica has 15 to 20 collaborators distributed along three main areas:

  • Product: engineering team that develops the Linux Caixa Mágica distribution.

Currently, about 900 units are sold each month, spread along online sales, store and special programs.

  • Outsourcing: projects that highly demand open source technologies and where our professionals are an added value.
  • Research: European and National projects that feed technology and competence to other business units. At the moment we have a cycle of three years from the initial research to product availability.

Added to the three main areas, Caixa Mágica has three more areas of smaller dimensions but growing: Training, Professional Services and Appliances.


André Guerreiro

Trainee details

Vasco Dias

Past experience

Worked one year as a junior developer with Java. Most of experience comes from academic projects. My knowledge of Linux and related technologies comes mostly from reading and learning on my free time.

Current situation

Currently finishing Licenciatura in Informatics Engineer at FCUL.

Motivation for the project

Having the opportunity to contribute to the Linux community and at the same time work with people that do the same daily is a great motivational. And it's a chance to improve my skills and learn new ones.


Last modified 7 years ago Last modified on Sep 20, 2012, 7:55:18 PM