As Assinaturas Digitais em documentos são semelhantes às assinaturas em papel, no entanto, sendo assinaturas eletrônicas baseadas em certificados, elas contêm a identidade do signatário de forma criptografada. Os certificados são emitidos por Autoridades de Certificação confiáveis e autorizadas. Essas autoridades identificam a pessoa para quem os certificados são emitidos. É por isso que os documentos assinados digitalmente podem ser verificados a qualquer momento. Neste artigo, mostrarei como verificar programaticamente a assinatura digital em PDF, Word e Excel, documentos usando GroupDocs.Signature for .NET API com C#.
Etapas para verificar o documento PDF assinado digitalmente
Para demonstração, estou usando um documento PDF para verificação de assinatura digital. No entanto, o mesmo código funcionará para os formatos de documento MS Word e Excel.
1. Faça o download do GroupDocs.Signature for .NET ou instale-o usando o NuGet.
2. Adicione os seguintes namespaces em seu código.
using GroupDocs.Signature;
using GroupDocs.Signature.Domain;
using GroupDocs.Signature.Options;
3. Carregue um documento PDF assinado digitalmente usando uma instância da classe Signature.
using (Signature signature = new Signature("sample.pdf"))
{
// Seu código vai aqui.
}
4. Instancie o objeto DigitalVerifyOptions e especifique as opções de verificação.
DigitalVerifyOptions options = new DigitalVerifyOptions("certificate.pfx")
{
Comments = "Test comment"
};
5. Chame o método Verify da instância _Signature _class’ e passe _DigitalVerifyOptions _para ele.
// verificar assinaturas de documentos
VerificationResult result = signature.Verify(options);
6. Verifique os resultados da verificação do objeto VerificationResult.
if (result.IsValid)
{
Console.WriteLine("\nDocument was verified successfully!");
}
else
{
Console.WriteLine("\nDocument failed verification process.");
}
Código completo
using GroupDocs.Signature;
using GroupDocs.Signature.Domain;
using GroupDocs.Signature.Options;
using (Signature signature = new Signature("sample.pdf"))
{
DigitalVerifyOptions options = new DigitalVerifyOptions("certificate.pfx")
{
Comments = "Test comment"
};
// verificar assinaturas de documentos
VerificationResult result = signature.Verify(options);
if (result.IsValid)
{
Console.WriteLine("\nDocument was verified successfully!");
}
else
{
Console.WriteLine("\nDocument failed verification process.");
}
}
Assim, você pode determinar se a assinatura digital no documento PDF atende ou não aos critérios especificados. Por fim, você pode marcar o documento como válido ou inválido. Leia mais sobre GroupDocs.Signature for .NET API aqui.