I den här guiden kommer vi att visa dig hur du lägger till en digital signatur till en PDF-fil i C#, inklusive nödvändig kod och steg för att komma igång. Oavsett om du är en utvecklare eller användare, kommer den här guiden att ge dig den information du behöver för att lägga till en digital signatur i ett PDF-dokument i C#. Vi kommer också att visa hur man verifierar en digitalt signerad PDF-fil programmatiskt i C#.
- C#-bibliotek för att digitalt signera PDF
- Lägg till digitala signaturer i PDF-dokument med C#
- Signera PDF-dokument digitalt med en tidsstämpelserver i C#
- Verifiera digital signatur i PDF med C#
C# bibliotek för digitala signaturer i PDF
För att lägga till och verifiera digitala signaturer i PDF använder vi Aspose.PDF för .NET. Det är ett kraftfullt PDF-manipuleringsbibliotek för att skapa, redigera, konvertera och digitalt signera PDF-dokument. Inte bara detta, du kan få en gratis licens för att signera dina PDF-filer utan några begränsningar.
Du kan ladda ner Aspose.PDF för .NET eller installera det med NuGet.
PM> Install-Package Aspose.PDF
Hur man lägger till digital signatur till PDF i C#
Följande är stegen för att lägga till en digital signatur till en PDF-fil i C#.
- Skapa ett objekt av klassen Document och initiera det med PDF-dokumentets sökväg.
- Skapa ett objekt av klassen PdfFileSignature och initiera det med klassen Documents objekt.
- Skapa ett objekt av klassen PKCS7 och initiera det med en certifikatsökväg och lösenord.
- Skapa och initiera objektet i klassen DocMDPSignature för MDP-signaturtypen.
- Skapa en Rektangel för signaturplacering.
- Signera PDF-dokument digitalt med metoden PdfFileSignature.Certify().
- Spara dokumentet med metoden PdfFileSignature.Save().
C#-kod för att lägga till digital signatur till PDF
Följande kodexempel visar hur man lägger till en digital signatur i en PDF-fil i C#.
// Ladda PDF-dokument
using (Document pdfDocument = new Document("Document.pdf"))
{
using (PdfFileSignature signature = new PdfFileSignature(pdfDocument))
{
PKCS7 pkcs = new PKCS7("certificate.pfx", "1234567890"); // Use PKCS7/PKCS7Detached objects
DocMDPSignature docMdpSignature = new DocMDPSignature(pkcs, DocMDPAccessPermissions.FillingInForms);
System.Drawing.Rectangle rect = new System.Drawing.Rectangle(100, 100, 200, 100);
// Ställ in signaturutseende
signature.SignatureAppearance = @"aspose-logo.png";
// Skapa någon av de tre signaturtyperna
signature.Certify(1, "Signature Reason", "Contact", "Location", true, rect, docMdpSignature);
// Spara digitalt signerad PDF-fil
signature.Save("Digitally Signed PDF.pdf");
}
}
C# Signera PDF digitalt med Timestamp Server
Du kan också lägga till en digital signatur till ett PDF-dokument med TimeStamp-servern genom att tillhandahålla dess detaljer med klassen TimestampSettings.
Följande kodexempel visar hur man digitalt signerar ett PDF-dokument med en TimeStamp-server i C#.
// Ladda PDF-dokument
using (Document pdfDocument = new Document("Document.pdf"))
{
using (PdfFileSignature signature = new PdfFileSignature(pdfDocument))
{
PKCS7 pkcs = new PKCS7("certificate.pfx", "WebSales"); // Use PKCS7/PKCS7Detached objects
TimestampSettings timestampSettings = new TimestampSettings("https:\\your_timestamp_settings", "user:password"); // User/Password can be omitted
pkcs.TimestampSettings = timestampSettings;
System.Drawing.Rectangle rect = new System.Drawing.Rectangle(100, 100, 200, 100);
// Skapa någon av de tre signaturtyperna
signature.Sign(1, "Signature Reason", "Contact", "Location", true, rect, pkcs);
// Spara utdata-PDF-fil
signature.Save("Output.pdf");
}
}
Verifiera digitalt signerad PDF i C#
Följande är stegen för att verifiera den digitala signaturen i ett PDF-dokument:
- Skapa ett objekt av klassen Document och initiera det med PDF-dokumentets sökväg.
- Skapa ett objekt av klassen PdfFileSignature och initiera det med klassen Documents objekt.
- Få tillgång till alla signaturer i PDF-dokumentet.
- Verifiera giltigheten av signaturen med metoden PdfFileSignature.VerifySigned().
Följande kodexempel visar hur du verifierar den digitala signaturen i PDF med C#.
// Ladda PDF-dokument
using (Document pdfDocument = new Document("Document.pdf"))
{
using (PdfFileSignature signature = new PdfFileSignature(pdfDocument))
{
IList<string> sigNames = signature.GetSignNames();
if (sigNames.Count > 0) // Any signatures?
{
if (signature.VerifySigned(sigNames[0] as string)) // Verify first one
{
if (signature.IsCertified) // Certified?
{
if (signature.GetAccessPermissions() == DocMDPAccessPermissions.FillingInForms) // Get access permission
{
// Göra någonting
}
}
}
}
}
}
Gratis PDF-bibliotek för digitala signaturer
Du kan få en gratis tillfällig licens och lägga till digitala signaturer till PDF-filer utan några begränsningar.
Slutsats
I den här artikeln har du lärt dig hur du lägger till digitala signaturer till PDF-filer i C#.NET. Dessutom har du sett hur du verifierar de digitalt signerade PDF-filerna programmatiskt i C#. Du kan helt enkelt installera Aspose.PDF för .NET i dina applikationer och signera dina PDF-filer sömlöst digitalt.