53 votos

Firmar digitalmente archivos PDF

Tengo un certificado digital que identifica a un usuario. Necesito utilizarlo para firmar digitalmente archivos pdf.

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

Ejemplos de C# por favor :)

39voto

Darin Dimitrov Puntos 528142

El código abierto iTextSharp le permitirá hacer esto. Aquí hay una Correo electrónico: explicando cómo firmar digitalmente un archivo pdf. Si no quieres usar una librería de terceros, puedes implementarlo tú mismo, pero puede ser una tarea difícil -> puedes empezar leyendo el especificación en pdf (8,6MB)

11voto

La firma correcta del PDF es un muy tarea sofisticada. Hay una serie de archivos que no se ajustan a la especificación del PDF (xrefs rotos, etc.) y su código debe manejarlos todos. Además, las distintas versiones de Acrobat tratan de forma diferente ciertas cosas de los campos firmados. Así que si necesita hacer la tarea (en lugar de estudiar cómo funciona) debe confiar en una solución de terceros, como nuestro PDFBlackbox componentes.

6voto

AffineMesh Puntos 669

Firmar digitalmente un documento PDF sin utilizar un componente de terceros conlleva una gran cantidad de trabajo y, por lo general, es mejor evitarlo.

Los componentes hacen todo el trabajo duro por usted, para que no tenga que hacerlo. Debería encontrar algunos excelentes componentes PDF gratuitos disponibles que se adapten a sus necesidades.

El siguiente ejemplo escrito en C# muestra lo sencillo que es firmar digitalmente un documento PDF utilizando 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: Documentación de ABCpdf - Método de firma

4voto

Corne Puntos 186

Echa un vistazo a este artículo en CodeProject

1voto

user337658 Puntos 1

Perdí mi primera respuesta. Tal vez quiera probar DocQ para texto del enlace Tienen su propio certificado y pueden hacerlo por ti de forma gratuita/barata para sellar y encriptar los PDF. También tienen una API que puedes utilizar.

Iteramos.com

Iteramos es una comunidad de desarrolladores que busca expandir el conocimiento de la programación mas allá del inglés.
Tenemos una gran cantidad de contenido, y también puedes hacer tus propias preguntas o resolver las de los demás.

Powered by:

X