[Tex/LaTex] How to create a PDF file that can be digitally signed

pdfpdftexSecurity

We are using Acrobat digital signatures in my organization. Digital signatures are data structures created using the application of public key infrastructure (PKI) technology. They are different from "electronic" signatures or "digitized signatures," which are simply digitized handwritten signatures that are pasted onto a document.

With Acrobat Professional you can put in a signature block that allows signing with a client-side digital signature. This is something that can be then done by someone using Acrobat Reader. This is not the same as adding a digital signature to the document—this is adding a space where a signature can be added by someone else to indicate acceptance of the produced PDF.

How do I create a PDF file with LaTeX that can be digitally signed?

Best Answer

In order to be able to sign a document using Adobe Reader or Adobe Acrobat, you need a so-called signature field in your PDF, which is a special kind of form field. In order to add it to a file you have the choice between two different LaTeX packages:

The digsig package

This is a small package that enhances the form capabilities of the hyperref package to support signature fields. It is not available on CTAN, but you can find it on the author's website. To use it, simply add \usepackage{digsig} to the preamble of your document (if you're already using hyperref, load it after \usepackage{hyperref}). Now you can add signature fields to your document using the \digsigfield macro, which expects the width and height of the form field and a freely chosen name. Note that you have to enclose the command in a Form environment, like this:

\documentclass{article}
\usepackage{digsig}
\begin{document}
\begin{Form}
  \digsigfield{5cm}{3cm}{My signature}
\end{Form}
\end{document}

The eforms package

eforms is another package to create PDF forms, with support for signature fields. You can find it on CTAN, but it is not included in TeX Live, so you may have to install it manually. It is very similar in use to the digsig package:

\documentclass{article}
\usepackage{eforms}
\begin{document}
\sigField{My signature}{5cm}{3cm}
\end{document}

In both cases, the output is a rectangular field you can fill with a digital signature using e.g. Adobe Reader or Adobe Acrobat:

a signature field as displayed by Adobe Reader

Note that many other PDF viewers don't support these fields and won't display anything at all. A "live" example of a signature field can be found in the eforms manual on page 17.