Firmar digitalmente archivos PDF

Tengo un certificado digital que identifica a un usuario. Necesito usarlo para firmar digitalmente archivos PDF.

¿Alguien tiene un ejemplo que no usa un componente de terceros? Necesito hacer esto, pero sería bueno comprender completamente cómo se hacen las cosas.

C # Ejemplos, por favor 🙂

La biblioteca de código abierto iTextSharp te permitirá hacer esto. Aquí hay una publicación que explica cómo firmar digitalmente un archivo pdf. Si no desea utilizar una biblioteca de terceros, puede implementarla usted mismo, pero podría ser una tarea difícil -> puede comenzar leyendo la especificación en PDF (8.6MB)

La firma correcta de PDF es una tarea muy sofisticada. Existe una cantidad de archivos que no cumplen con la especificación PDF (xrefs rotos, etc.) y su código debe manejarlos todos. Luego, varias versiones de Acrobat tratan ciertas cosas en campos firmados de manera diferente. Entonces, si necesita hacer la tarea (en lugar de estudiar cómo funciona) debe confiar en una solución de terceros, como nuestros componentes PDFBlackbox .

Firmar digitalmente un documento PDF sin usar un componente de un tercero implica una gran cantidad de trabajo y, en general, es mejor evitarlo.

Los componentes hacen todo el trabajo duro por ti, por lo que no tienes que hacerlo. Debería encontrar que hay algunos excelentes componentes de PDF gratuitos disponibles que se adaptarán a sus necesidades.

El siguiente ejemplo escrito en C # muestra lo simple que es firmar digitalmente un documento PDF con ABCpdf:

Doc theDoc = new Doc(); theDoc.Read(Server.MapPath("../Rez/Authorization.pdf")); Signature theSig = (Signature)theDoc.Form["Signature"]; theSig.Location = "Washington"; theSig.Reason = "Schedule Agreed"; theSig.Sign(Server.MapPath("../Rez/JohnSmith.pfx"), "111111"); theDoc.Save(Server.MapPath("Signed.pdf")); 

Fuente: ABCpdf documentation – Sign method

Perdí mi primera respuesta. Puede que desee probar DocQ para vincular texto. Tienen su propio certificado y pueden hacer esto por usted de forma gratuita / económica para sellar y cifrar archivos PDF. También tienen una API que puedes usar.