C# Digital Signature: Firma PDFs Mediante Programación

¿Sabías que puedes firmar PDFs mediante programación? Puedes usar códigos de firma digital C# para hacerlo. Aquí tienes una guía de cómo hacerlo.

Prueba gratis Prueba gratis Descarga gratis en App Store Descarga gratis en Play Store
seguridad garantizada100% Seguro | Sin anuncios |aiImpulsado por IA
inicio Inicio >PDFelement: How-Tos > C# Digital Signature: Firma PDFs Mediante Programación

No necesitas una herramienta eSign para firmar documentos digitales. Pero, ¿cómo puedes hacerlo? Puedes utilizar lenguajes de programación como C#. Por tanto, lo único que necesitas es un IDE en lugar de una herramienta especializada de eSign. Si eres programador, es probable que ya tengas uno. Por lo tanto, puede ponerse manos a la obra. Si sientes curiosidad por la firma electrónica en C#. sigue leyendo.

No te preocupes si no eres programador. También te ofrecemos una herramienta alternativa, Wondershare PDFelement, que es muy fácil de usar.

Parte 1. Cómo Agregar un Campo de Firma Certificada a un PDF Usando C# Digital Signature

Antes de poder firmar un PDF usando C#, primero necesitas añadir un campo de firma. Es donde va la firma. No te preocupes.

  1. Obtén el PDF y la página utilizando este código:

usando (PDFDoc doc = new PDFDoc(docpath)) 
{ Página1 = doc.ObtenerPágina(1); }
  1. Crea un campo de texto que puedas bloquear con la función de permisos de campo. Utiliza este código:

TextWidget annot1 = TextWidget.Create(doc, new Rect(50, 550, 350, 600), "new_text_field");
page1.AnnotPushBack(annot1);
  1. Crea un campo de firma en el PDF utilizando este fragmento de código:


 DigitalSignatureField certification_sig_field = doc.CreateDigitalSignatureField(cert_field_name);    
SignatureWidget widgetAnnot = SignatureWidget.Create(doc, new Rect(0, 100, 200, 150), certification_sig_field); page1.AnnotPushBack(widgetAnnot);

  1. Supongamos que has preparado un aspecto de campo de firma. Añádelo al PDF utilizando este fragmento de código:

Image img = Image.Create(doc, appearance_image_path); widgetAnnot.CreateSignatureAppearance(img);

Si no has creado un aspecto de campo de firma, puedes omitir este paso.

  1. Prepara el nivel de permiso de bloqueo del documento, que se aplicará tras el proceso de certificación del documento.

certification_sig_field.SetDocumentPermissions(DigitalSignatureField.DocumentPermissions.e_annotating_formfilling_signing_allowed);
  
  1. Ahora, prepárate para bloquear el campo de texto que has creado en el paso 2.

string[] fields_to_lock = new string[1]; fields_to_lock[0] = "new_text_field"; certification_sig_field.SetFieldPermissions(DigitalSignatureField.FieldPermissions.e_include, fields_to_lock);
certification_sig_field.CertifyOnNextSave(private_key_file_path, keyfile_password); 
  1. Guarda el documento con el método Guardar. PDFNet firmará el documento utilizando la información proporcionada.

doc.Save(ruta_salida, 0);

El código debería lucir así:


    using (PDFDoc doc = new PDFDoc(docpath))
{
Página page1 = doc.GetPage(1);
TextWidget annot1 = TextWidget.Create(doc, new Rect(50, 550, 350, 600), "new_text_field");
page1.AnnotPushBack(annot1);
DigitalSignatureField certification_sig_field = doc.CreateDigitalSignatureField(cert_field_name);
WidgetAnnot de SignatureWidget = SignatureWidget.Create(doc, new Rect(0, 100, 200, 150), certification_sig_field); page1.AnnotPushBack(widgetAnnot);
Image img = Image.Create(doc, ruta_imagen_apariencia); widgetAnnot.CreateSignatureAppearance(img);
certification_sig_field.SetDocumentPermissions(DigitalSignatureField.DocumentPermissions.e_annotating_formfilling_signing_allowed);
string[] fields_to_lock = new string[1]; fields_to_lock[0] = "asdf_test_field";
certification_sig_field.SetFieldPermissions(DigitalSignatureField.FieldPermissions.e_include, fields_to_lock);
certification_sig_field.CertifyOnNextSave(private_key_file_path, keyfile_password);
doc.Save(ruta_salida, 0);
}

Parte 2. Cómo firmar un PDF utilizando la firma digital de C#

Ahora que hay un campo de firma en el PDF, por fin puedes firmarlo. Sigue estos pasos para firmarlo con firma digital C#:

  1. Recupera el campo de firma sin firmar utilizando este fragmento de código:

using (PDFDoc doc = new PDFDoc(docpath))
{
Campo encontrado_campo_aprobación = doc.GetField(nombre_campo_aprobación);
DigitalSignatureField approval_digsig_field = new DigitalSignatureField(campo_aprobación_encontrado);
}
  1. Prepara la firma y el controlador de firma para firmar utilizando este fragmento de C#:

approval_digsig_field.SignOnNextSave(ruta_archivo_clave_privada, contraseña_archivo_clave);
  1. Realiza una operación de guardado incremental para guardar el documento con la firma.

doc.Save(outpath, SDFDoc.SaveOptions.e_incremental);

El código final debería tener este aspecto


using (PDFDoc doc = new PDFDoc(docpath))
{
Campo found_approval_field = doc.GetField(approval_field_name);
DigitalSignatureField approval_digsig_field = new DigitalSignatureField(campo_aprobación_encontrado);
approval_digsig_field.SignOnNextSave(ruta_archivo_clave_privada, contraseña_archivo_clave);
doc.Save(ruta_salida, SDFDoc.SaveOptions.e_incremental);
}

Parte 3. Cómo verificar una firma certificada en un PDF utilizando C# Digital Signature

C# también te permite verificar una firma certificada. Sin embargo, necesitas una API de firma digital especial como la API de verificación de firma digital de apryse Docs.

¿Por qué debería hacer esto? Necesitas asegurarte de que las firmas digitales son auténticas y no falsificadas. También garantiza que el acuerdo es legalmente vinculante.

Para verificar una firma digital con C#, sigue estos pasos:

  1. Elige el nivel de seguridad que deseas utilizar. A continuación, cambia las opciones de verificación que desees.

VerificationOptions opts = new VerificationOptions(VerificationOptions.SignatureVerificationSecurityLevel.e_compatibilidad_y_archivo);
  1. Añadir raíz de confianza para almacenar los certificados de confianza contenidos en VerificationOptions.

opts.AddTrustedCertificate(in_public_key_file_path);
  1. Verificar la firma digital.

 PDFDoc.SignaturesVerificationStatus result = doc.VerifySignedDigitalSignatures(opts);

El código completo debería tener este aspecto


using (PDFDoc doc = new PDFDoc(in_docpath))
{
VerificationOptions opts = new VerificationOptions(VerificationOptions.SignatureVerificationSecurityLevel.e_compatibilidad_y_archivo);
opts.AddTrustedCertificate(in_public_key_file_path);
PDFDoc.SignaturesVerificationStatus result = doc.VerifySignedDigitalSignatures(opts);
}

Puedes obtener los siguientes resultados

  • SignaturesVerificationStatus.e_unsigned: El PDF no tiene campos de firma firmados.
  • SignaturesVerificationStatus.e_failure: Hay un fallo grave en la verificación de al menos una firma. No incluye problemas de confianza.
  • SignaturesVerificationStatus.e_untrusted: No se ha podido verificar la confianza de al menos una firma.
  • SignaturesVerificationStatus.e_verified: Se han verificado todas las firmas del documento. Ten en cuenta que los campos sin firma se omiten.

Parte 4. Añadir una firma certificada a un PDF sin usar C#:Utilice Wondershare PDFelement

Hay un problema evidente con el uso de C # firma digital para firmar archivos PDF. Es demasiado técnico. Necesitas ser programador o al menos saber C# para hacerlo. Por lo tanto, para las personas sin conocimientos técnicos, es imposible hacerlo.

Por suerte, hay herramientas más sencillas que puedes utilizar para firmar documentos digitales, una de las cuales es Wondershare PDFelement. Wondershare PDFelement es una herramienta universal porque cualquiera puede utilizarla. Una de sus cualidades es su facilidad de uso. De hecho, te permite firmar o incluso recoger firmas muy fácilmente.

Descarga gratis Descarga gratis Descarga gratis en App Store Descarga gratis en Google Play

seguridad garantizada100% Seguro | Sin software malicioso |ai Impulsado por IA

firmar documento usando wondershare pdfelemento

Ten en cuenta que Wondershare PDFelement eSign se adhiere a las normas legales y de la industria como ISO 27001 y HIPAA. Así que puedes estar seguro de que los documentos firmados son auténticos y seguros. Incluso tienes un verificador de certificados integrado.

Pero basta de introducciones. Empecemos a explicarte cómo utilizar Wondershare PDFelement eSign.

Parte 4.1. Cómo enviar archivos PDF para tu firma

Así es. Wondershare PDFelement no sólo le permite firmar archivos PDF. También te permite recolectar firmas de otras personas. Con esto, puedes completar acuerdos incluso si no están juntos de manera presencial. Wondershare PDFelement también proporciona notificaciones cuando una persona ha firmado el documento. De este modo, no te perderás ni un detalle y pasarás al siguiente paso inmediatamente.

Estos son los pasos para recoger firmas con Wondershare PDFelement:

Descarga gratis Descarga gratis Descarga gratis en App Store Descarga gratis en Google Play

seguridad garantizada100% Seguro | Sin software malicioso |ai Impulsado por IA

  1. Abre el acuerdo que necesita la firma de otras personas en Wondershare PDFelement. Haz clic en Proteger > Solicitar eSign.
solicitar firma electrónica en wondershare pdfelement
  1. Aparecerá una ventana nueva. Añade las direcciones de correo electrónico de los firmantes en el campo "Añadir destinatarios".
  2. Selecciona si deseas firmar el documento en primer lugar o en último. Marca la casilla correspondiente a tu decisión.
  3. En "Configuración", establece el orden de firma y la frecuencia de las actualizaciones.
configuración de la solicitud de firma
  1. Haz clic en Siguiente.
  2. Añade y asigna los campos de firma esenciales mediante arrastrar y soltar.
añadir los campos de firma
  1. clic en Enviar.

Parte 4.2. Cómo firmar PDFs con Wondershare PDFelement

Ahora. ¿qué pasa si tu eres el que necesita para firmar el documento? Como se mencionó anteriormente. Wondershare PDFelement también te permite hacerlo. Y hay dos métodos. Puedes firmar el PDF utilizando la aplicación de escritorio o el enlace de correo electrónico. Vamos a tratar ambos métodos:

A.Firmar PDFs utilizando la aplicación de escritorio Wondershare PDFelement
  1. Abre Wondershare PDFelement e inicia sesión en tu cuenta. Haz clic en Acuerdo en el panel izquierdo. Abre un acuerdo con la etiqueta "Esperándome".

Descarga gratis Descarga gratis Descarga gratis en App Store Descarga gratis en Google Play

seguridad garantizada100% Seguro | Sin software malicioso |ai Impulsado por IA

abrir un acuerdo que necesita firma
  1. Haz clic en la etiqueta Firmar para acceder a los campos de firma.
  2. Selecciona el campo de firma para firmarlo.
encontrar los campos de firma adecuados
  1. Crea tu firma escribiéndola, dibujándola o cargando una imagen. Haz clic en Aceptar.
crear la firma digital
  1. clic clic para firmar en la barra de notificaciones que aparecerá en la parte inferior y, a continuación, haz clic en Siguiente.
firma del acuerdo utilizando wondershare pdfelement
B. Firmar archivos PDF con la aplicación de escritorio Wondershare PDFelement

Supon que estás fuera de casa. No tienes tu laptop contigo. Aún puedes firmar documentos utilizando el botón de firma de la notificación por correo electrónico. Sigue estas instrucciones para hacerlo:

  1. Abre la notificación por correo electrónico sobre la solicitud de eSign. Haz clic en el botón Firmar el documento.

Descarga gratis Descarga gratis Descarga gratis en App Store Descarga gratis en Google Play

seguridad garantizada100% Seguro | Sin software malicioso |ai Impulsado por IA

notificación por correo electrónico de la solicitud de firma
  1. Marca la casilla de verificación Estoy de acuerdo con el CLUF y la Privacidad para utilizar registros y firma electrónicos. Haz clic en Continuar.
acuerdo con el eula y la política de privacidad
  1. Haz clic en el campo de firma que desees firmar. Si es la primera vez que firmas documentos de este tipo, crea tu firma. Puedes Escribir, Dibujar o Cargar una imagen.
crear la firma digital
  1. Haz clic en Guardar para aplicar la firma al documento y guardar la firma para tu uso futuro.

Conclusión

Puede utilizar C# para añadir firmas digitales a los PDF. Pero esto no significa que tengas que estudiar programación sólo para hacerlo. Hay métodos alternativos, muchos de los cuales son más fáciles de seguir.

Una de las mejores herramientas para firmar PDFs es Wondershare PDFelement. Es una solución PDF que cuenta con muchas herramientas útiles. Su función eSign compatible con los estándares te permite firmar PDF fácilmente. No sólo eso, sino que también te permite enviar solicitudes de firma a otras personas. Por ello, muchas personas eligen Wondershare PDFelement como su herramienta eSign. Dicho esto, es lo debes comprobar hacia fuera.

Wondershare Editor

Publicado por a Solución de Firma Electrónica
Actualizado: 09/30/2024

Teletrabajo en PDF

Q: ¿Cómo lograr una oficina remota eficiente?
A: Utilice PDFelement para ayudarlo a editar, anotar, firmar y convertir documentos PDF rápidamente.

Digitaliza documentos en papel y optimiza la forma de crear, preparar y firmar los documentos.

Disponible para Windows, Mac, iOS & Android.

Prueba gratuita Comprar
¡Comienza tu prueba gratuita!

Saltar y descargar

×