Giter VIP home page Giter VIP logo

webpdfsigner's Introduction

Web-signing PDF files with client certificates

A module that allows web applications sign PDF files using locally installed certificates

A desktop module that runs in the background and allows a browser to digitally sign a PDF file uploaded by the user, using her own certificates installed in the Windows Certificates Store.

Features

  • Use any locally installed certificate (digital or hardware tokens) to sign pdf files uploaded with the browser.
  • Sends only hashes for signing, instead of complete files, to boost performance and protect PDFs from traveling between endpoints.
  • Signed files are automatically downloaded from the web page.

Components

The solution is made up of 3 projects:

  • The windows application desktop module (WinForms)
  • The web application: handles file uploads and performs the signature preparation (hash calculation) and completion (embedding the signed hash into the prepared file).
  • An installer project to generate the module setup (and .msi installer)

Software used

The desktop module solution uses the following software stack:

Installation

Build the solution in release mode and run the generated .msi installer.

The setup package installs the desktop module and configures it to autorun after the Windows login.

The setup also installs a couple of certificates needed for SSL communication between the desktop module and the page from the web project.

After the module is installed and running, launch the web project, upload a PDF and click the "Sign file" button. Select a certificate from the list and that's it, wait for the signed PDF file is prepared for downloading.

Blog post

There's a blog post detailing all the stuff about this project, from its internal workings to the build and installation procedures. You can find it at https://www.alexgaio.com/post/signing-pdf-files-from-a-web-application

License

MIT

webpdfsigner's People

Contributors

alegaio7 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.