lägg till digital signatur till PDF C#

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 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#.

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.

relaterade artiklar