Assinatura digital C#: assine PDFs por meio de programação

author avatar

2024-10-17 21:25:50 • Arquivado para: Solução de Assinatura • Soluções comprovadas

Uma ferramenta de assinatura eletrônica não é algo necessário para você conseguir assinar seus documentos digitais. Mas como você pode fazer isso? É possível utilizar linguagens de programação como C#. Assim, tudo o que você realmente necessita é de um IDE, não necessariamente uma ferramenta especializada em eSign. Caso você seja um desenvolvedor de software, provavelmente já tem uma. Dessa forma, você pode ir direto ao assunto. Se você está interessado em aprender sobre assinatura digital em C#, continue essa leitura.

Não se preocupe caso não seja um desenvolvedor de software. Também vamos te mostrar uma outra ferramenta, o Wondershare PDFelement, que é perfeito para quem precisa de uma usabilidade mais intuitiva.

Parte 1. Como adicionar um campo de assinatura certificada a um PDF usando assinatura digital C#

Para assinar um PDF usando C#, você deve primeiro incluir um campo designado para a assinatura. É para onde vai a assinatura. Não se preocupe.

  1. Utilize este código para recuperar o PDF e a página associada:

using (PDFDoc doc = new PDFDoc(docpath)) 
{ Page page1 = doc.GetPage(1); }
  1. Desenvolva um campo de texto que seja possível bloquear utilizando a funcionalidade de permissão de campo. Utilize este código:

TextWidget annot1 = TextWidget.Create(doc, new Rect(50, 550, 350, 600), "new_text_field");
page1.AnnotPushBack(annot1);
  1. Crie um campo de assinatura no PDF utilize seu trecho 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. Digamos que você tenha configurado uma aparência para o campo de assinatura. Adicione-o ao PDF usando este trecho de código:

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

Caso não tenha criado um campo de assinatura, você pode ignorar esta parte.

  1. Defina o nível de bloqueio de documentos que será ativado após a certificação do documento.

certification_sig_field.SetDocumentPermissions(DigitalSignatureField.DocumentPermissions.e_annotating_formfilling_signing_allowed);
  
  1. Esteja preparado para bloquear o campo de texto que foi criado na etapa anterior.

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. Salve o documento chamando o método Save. Utilizando as informações fornecidas, o PDFNet irá proceder com a assinatura do documento.

doc.Save(outpath, 0);

O código deve ficar assim:


    using (PDFDoc doc = new PDFDoc(docpath))
{
Page 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);
SignatureWidget widgetAnnot = SignatureWidget.Create(doc, new Rect(0, 100, 200, 150), certification_sig_field); page1.AnnotPushBack(widgetAnnot);
Image img = Image.Create(doc, appearance_image_path); 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(outpath, 0);
}

Parte 2. Como assinar um PDF usando assinatura digital C#

Com um campo de assinatura presente no PDF, agora você pode concluir a assinatura. Siga estas instruções para assiná-lo com assinatura digital C#:

  1. Recupere o campo de assinatura não assinado usando este trecho de código:

using (PDFDoc doc = new PDFDoc(docpath))
{
Field found_approval_field = doc.GetField(approval_field_name);
DigitalSignatureField approval_digsig_field = new DigitalSignatureField(found_approval_field);
}
  1. Configure a assinatura e o manipulador de assinatura para assinar utilizando este trecho de código em C#:

approval_digsig_field.SignOnNextSave(private_key_file_path, keyfile_password);
  1. Salve o documento com a assinatura utilizando uma operação de salvamento incremental.

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

O código final deve ficar assim:


using (PDFDoc doc = new PDFDoc(docpath))
{
Field found_approval_field = doc.GetField(approval_field_name);
DigitalSignatureField approval_digsig_field = new DigitalSignatureField(found_approval_field);
approval_digsig_field.SignOnNextSave(private_key_file_path, keyfile_password);
doc.Save(outpath, SDFDoc.SaveOptions.e_incremental);
}

Parte 3. Como verificar uma assinatura certificada em um PDF usando assinatura digital C#

No ambiente C#, é possível verificar uma assinatura certificada. Contudo, é necessário utilizar uma API específica para assinatura digital, como a API de verificação de assinatura digital da Apryse Docs.

Por que você deveria fazer isso? É crucial assegurar que as assinaturas digitais sejam autênticas e não fraudulentas. Além disso, garante que o acordo tenha validade legal.

Para verificar uma assinatura digital com C#, siga estas etapas:

  1. Selecione um nível de segurança para aplicar. Posteriormente, modifique todas as configurações de verificação que precisar modificar.

VerificationOptions opts = new VerificationOptions(VerificationOptions.SignatureVerificationSecurityLevel.e_compatibility_and_archiving);
  1. Inclua a raiz confiável para armazenar os certificados confiáveis presentes em VerificationOptions.

opts.AddTrustedCertificate(in_public_key_file_path);
  1. Confira a assinatura digital.

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

O código completo deve ficar assim:


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

Você pode obter os seguintes resultados:

  • SignaturesVerificationStatus.e_unsigned: O PDF não possui campos de assinatura assinados.
  • SignaturesVerificationStatus.e_failure: Foi identificada uma falha crítica na verificação de pelo menos uma assinatura. Não inclui questões de confiança.
  • SignaturesVerificationStatus.e_untrusted: Pelo menos uma assinatura não pôde ser validada quanto à sua credibilidade.
  • SignaturesVerificationStatus.e_verified: A verificação foi realizada em todas as assinaturas do documento. Lembre-se de que os campos não assinados são deixados de lado.

Parte 4. Adicione uma assinatura certificada a um PDF sem usar C#: Use Wondershare PDFelement

É perceptível um problema claro ao usar a assinatura digital em C# para assinar PDFs. É muito técnico. Para executar essa tarefa, é fundamental ser um programador ou ter algum conhecimento em C#. Logo, para aqueles que não têm familiaridade com tecnologia, isso pode ser visto como algo impossível de ser feito.

É bom saber que existem opções mais simples disponíveis para assinar documentos digitais, como o Wondershare PDFelement. O Wondershare PDFelement é acessível a todos, o que o torna uma ferramenta universal. É conhecido por sua simplicidade e facilidade de uso. Na realidade, possibilita assinar documentos ou até mesmo coletar assinaturas com extrema facilidade.

Baixe Grátis Baixe Grátis Baixe Grátis Baixe Grátis

seguridad garantizada100% Seguro | Sem software malicioso |ai Impulsionado por IA

assinando documento usando o Wondershare PDFelement

É importante observar que o Wondershare PDFelement eSign adere a padrões legais e da indústria, como ISO 27001 e HIPAA. Assim, pode-se garantir que os documentos assinados são autênticos e protegidos. Ele ainda possui um verificador de certificado integrado!

Mas chega de introdução. Vamos começar a usar o Wondershare PDFelement eSign.

Parte 4.1. Como enviar PDFs para assinaturas

É isso mesmo. O Wondershare PDFelement não possibilita somente assinar PDFs. Também facilita a coleta de assinaturas de terceiros. Com essa funcionalidade, é possível concluir acordos mesmo sem estar presente fisicamente junto. O Wondershare PDFelement notifica quando o documento é assinado por alguém. Portanto, você pode continuar sem perder o ritmo, passando diretamente para a próxima etapa.

Aqui estão os passos para coletar assinaturas com Wondershare PDFelement:

Baixe Grátis Baixe Grátis Baixe Grátis Baixe Grátis

seguridad garantizada100% Seguro | Sem software malicioso |ai Impulsionado por IA

  1. Acesse o contrato que necessita de assinatura por outras pessoas usando o Wondershare PDFelement. Clique em Proteger > Solicitar assinatura eletrônica.
solicite esign no Wondershare PDFelement
  1. Uma nova janela vai aparecer. Preencha o campo “Adicionar destinatários” com os endereços de e-mail dos signatários.
  2. Selecione se você prefere assinar o documento antes ou depois dos outros signatários. Marque a caixa de seleção apropriada para sua decisão.
  3. Na seção "Configurações", defina a sequência de assinatura e a periodicidade das atualizações.
configurando o pedido de esign
  1. Clique em Avançar.
  2. Para adicionar e atribuir os campos de assinatura essenciais, utilize a funcionalidade de arrastar e soltar.
adicionando os campos de assinatura
  1. Clique em Enviar.

Parte 4.2. Como assinar PDFs com Wondershare PDFelement

Agora, e se for você quem precisa assinar o documento? Como foi dito, o Wondershare PDFelement também facilita essa ação. E existem dois métodos. É possível assinar o PDF utilizando o aplicativo de desktop ou o link recebido por e-mail. Vamos falar sobre os dois métodos:

A. Assine PDFs usando o aplicativo Wondershare PDFelement Desktop
  1. Abra o Wondershare PDFelement e faça login na sua conta. Clique em Contrato no painel esquerdo. Acesse um contrato intitulado "Esperando por mim".

Baixe Grátis Baixe Grátis Baixe Grátis Baixe Grátis

seguridad garantizada100% Seguro | Sem software malicioso |ai Impulsionado por IA

abrindo um acordo que precisa de assinatura
  1. Clique na etiqueta "Assinar" para acessar os campos onde é necessário inserir sua assinatura.
  2. Selecione o campo de assinatura para assiná-lo.
encontrando os campos de assinatura corretos
  1. Você pode criar sua assinatura digitando, desenhando ou importando uma imagem. Clique OK.
criando a assinatura digital
  1. Após aparecer a barra de notificação na parte inferior, clique em "Clique para assinar" e depois em "Avançar".
assinando o acordo usando o Wondershare PDFelement
B. Assinar PDFs usando o aplicativo Wondershare PDFelement Desktop

Suponha que você não esteja em casa. Seu computador não está com você. Ainda assim, você pode assinar seus documentos através da assinatura na notificação de e-mail. Siga este conjunto de instruções para fazer isso:

  1. Acesse o e-mail de notificação sobre a solicitação de assinatura eletrônica. Clique em Assinar o Documento.

Baixe Grátis Baixe Grátis Baixe Grátis Baixe Grátis

seguridad garantizada100% Seguro | Sem software malicioso |ai Impulsionado por IA

notificação por e-mail de solicitação de esign
  1. Assinale a caixa para concordar com o EULA e a política de privacidade, permitindo o uso de registros eletrônicos e assinatura. Clique em Continuar.
concordando com eula e política de privacidade
  1. Clique no campo de assinatura que você precisa assinar. Para quem está assinando documentos como este pela primeira vez, é necessário criar sua assinatura. Você pode digitar, desenhar ou fazer upload de uma imagem.
criando a assinatura digital
  1. Após aplicar sua assinatura ao documento, clique em "Salvar" para armazená-la para uso posterior.

Considerações Finais

É possível utilizar C# para inserir assinaturas digitais a PDFs. Mas isso não significa que você tenha que estudar programação apenas para fazer isso. Há opções alternativas, várias das quais são mais fáceis de executar.

O Wondershare PDFelement é amplamente reconhecido como uma excelente ferramenta para assinar PDFs. É uma solução PDF com muitas ferramentas úteis. Com o recurso de assinatura eletrônica do Wondershare PDFelement, que é compatível com padrões, assinar PDFs se torna fácil. Além disso, ele facilita o envio de solicitações de assinatura a outras pessoas. Portanto, é comum que muitos indivíduos optem pelo Wondershare PDFelement para suas necessidades de assinatura digital. Dito isto, é algo que você deve conferir.

Download Gratis ou Compre PDFelement agora!

Free Download or Compre PDFelement right now!

Compre PDFelement agora!

Compre PDFelement agora!

author avatar

Ana Sophia

staff Editor

(Clique para avaliar esta postagem)

Classificação geral4.5(105participou)

Início > Solução de Assinatura > Assinatura digital C#: assine PDFs por meio de programação