PDF Digital Signature Validation

Project Details

Purpose of this project

Validation of digital signatures in PDF files using free software.

Project Description

This project will consist of implementing the digital signature validation feature in Free and Open Source software libraries and applications as well as validating the certificate chain and the signature's timestamp.

Project Source Code

Source Code and Documentation


Phase 1 - State of the art and Architecture [July 15 to July 24]

  • Tutor meeting and goals definition
  • Creation of the project wiki page
  • Project planning
  • Initial Presentation
  • Learning new programming language (C)

Phase 2 - Tests and Documentation [July 27 to August 28]

  • Reading documentation/code of the NSS Library
  • Create and Implement desired functionalities in Poppler + Tests
  • Communicate with upstream developers and maintainers

Phase 3 - Improvements and Submission [August 31 to September 16]

  • Functionality Improvements according to suggestions by the maintainers
  • Improvement of code quality and final clean up
  • Upstream Submission
  • Final Presentation

Weekly Reports

Week 1 - July 15 to July 17

Understanding the basis of the project as well as reading documentation and getting informed about new technologies.

Week 2 - July 20 to July 24

weekly report . Acquiring knowledge about NSS implementation . Learning to write code in C

Week 3 - July 27 to July 31

weekly report . Start of concrete problem solution using the NSS libraries . Basic Signature Validation is Working

Week 4-5

weekly report . Starting Certificate Validation Tests . Starting integration into poppler

Week 6-7

weekly report . Poppler integration patch submitted . Negotiating upstream contribution

Week 8

weekly report . Refactoring project according to indication by maintainers . New type of signature validated . Getting final presentation ready

Trainee details

. Love to Code . Love to Juggle

Trainee Name

André Jorge Esser

Past Experience

I did a couple of academic projects while taking my BSc at ISCTE. These include OOP, multi-threaded and distributed programming.

During the last summer I got into Unity, which is mostly a game/simulation creating software for different kinds of Operating Systems.

Current Situation

I’m a BSc graduated student in Telecommunications and Informatics Engineering, ISCTE. I'm looking forward to starting my MSc in Telecommunications and Informatics Engineering.

Motivation for the Project

Definitely gaining experience in a professional environment and learning how to contribute to free software. Since coding is a passion I'm eager to sharpen these skills by learning new languages and working with new technologies. Other than that it's a good way to stay occupied during the summer.


André Guerreiro

Feedback from the Poppler community

Poppler project

Evince PDF Reader

Last modified 4 years ago Last modified on Sep 18, 2015, 11:44:06 AM