Test in einer Live-Umgebung
Test in der Produktion ohne Wasserzeichen.
Funktioniert überall, wo Sie es brauchen.
Eine digitale Signatur ist ein mathematischer Algorithmus, der verwendet wird, um die Identität des Unterzeichners zu authentifizieren und die Integrität eines Dokuments sicherzustellen. Es erstellt einen eindeutigen Bezeichner, der mit dem Dokument verknüpft ist und mit einem nur dem Unterzeichner bekannten privaten Schlüssel signiert wird. Um die Authentizität eines digital signierten Dokuments zu überprüfen, verwendet der Empfänger den öffentlichen Schlüssel, um die Signatur zu entschlüsseln und deren Gültigkeit zu bestätigen.
In diesem Artikel werden wir vergleichen, wie man digitale Signaturen zu PDF-Dokumenten mit den Bibliotheken QuestPDF und IronPDF in C# hinzufügt. Beide Bibliotheken bieten robuste Funktionen zur PDF-Bearbeitung, einschließlich der Möglichkeit digitaler Signaturen.
Digitale Signaturen gewährleisten, dass der Inhalt eines Dokuments nicht manipuliert wurde, und beweisen die Identität des Unterzeichners. Dies bietet ein höheres Maß an Sicherheit im Vergleich zu herkömmlichen Signaturen. Digitale Signaturen sind in vielen Ländern rechtlich bindend und werden häufig für Verträge, Vereinbarungen und andere rechtliche Dokumente verwendet.
Bevor wir beginnen, stellen Sie sicher, dass Sie über grundlegende Kenntnisse in C# und dem .NET Framework verfügen. Sie müssen beide installierenQuestPDF undIronPDF. QuestPDF kann über NuGet installiert werden, und IronPDF kann von der IronPDF-Website oder über den NuGet-Paketmanager heruntergeladen werden.
Sie müssen auch eine digitale Signatur bereit haben, und falls Sie keine haben, gibt es viele Ressourcen, die Ihnen bei der Erstellung einer neuen helfen.
Nun lassen Sie uns diese beiden Bibliotheken genauer betrachten und sehen, wie sie die Aufgabe des Anwendens digitaler Signaturen auf PDF-Dokumente bewältigen.
QuestPDF ist eine Open-Source-Bibliothek, die sich auf die Erstellung von PDF-Dokumenten mit einer fließenden API zur Erstellung komplexer Layouts dank ihres umfassenden Layout-Engines konzentriert. Sie ist weniger auf die PDF-Manipulation ausgerichtet, kann aber in Verbindung mit anderen Tools zum Signieren von PDFs verwendet werden. Es wird auch mit einer Begleit-App geliefert, die es den Benutzern ermöglicht, die Dokumentstruktur ihrer PDFs mühelos zu erkunden, und nutzt eine Hot-Reload-Funktion, um Ihnen Live-Dokumentvorschauen ohne erneute Codekompilierung bereitzustellen.
IronPDF ist eine robuste .NET-Bibliothek, die leistungsstarke Funktionen für die PDF-Dokumentenerstellung und -bearbeitung bietet.PDF-Dokumente unterschreiben. Es ist für .NET-Entwickler konzipiert, die nach einer umfassenden und benutzerfreundlichen Lösung suchen. Mit IronPDF können Sie problemlosPDF-Dokumente verschlüsseln, hinzufügenanmerkung, hTML in PDF konvertieren, extrahiere Inhalte und mehr!
QuestPDF unterstützt native keine digitalen Signaturen. Allerdings können Sie es mit anderen Bibliotheken kombinieren(wie BouncyCastle oder PdfSharp)für diese Funktionalität. Nachdem Sie Ihr Dokument mit QuestPDF erstellt haben, können Sie es mit einer Bibliothek signieren, die PDF-Signatur-Tools anbietet, wie zum BeispieliTextSharpdie QuestPDF-Bibliothek selbst jedoch keine PDF-Signierung verarbeitet.
Es bietet andere grundlegende Formen der PDF-Sicherheit in Form von PDF-Verschlüsselung sowie erweiterte PDF-Erstellung und die Fähigkeit, PDF-Dokumente zu gestalten. Daher kann es immer noch eine praktikable Option für diejenigen sein, die eine PDF-Bibliothek suchen, die in der Lage ist, grundlegende PDF-Aufgaben ohne allzu viel Schnickschnack zu bewältigen.
IronPDF bietet eine unkomplizierte API zum Signieren von PDFs mit einem digitalen Zertifikat. Der folgende Code zeigt, wie man eindigitale Signaturin eine PDF-Datei mit IronPDF.
using IronPdf;
using IronPdf.Signing;
using System.Security.Cryptography.X509Certificates;
public class Program
{
static void Main(string[] args)
{
PdfDocument pdf = PdfDocument.FromFile("invoice.pdf");
X509Certificate2 cert = new X509Certificate2("IronSoftware.pfx", "your-password", X509KeyStorageFlags.Exportable);
var sig = new PdfSignature(cert);
pdf.Sign(sig);
pdf.SaveAs("signed.pdf");
}
}
using IronPdf;
using IronPdf.Signing;
using System.Security.Cryptography.X509Certificates;
public class Program
{
static void Main(string[] args)
{
PdfDocument pdf = PdfDocument.FromFile("invoice.pdf");
X509Certificate2 cert = new X509Certificate2("IronSoftware.pfx", "your-password", X509KeyStorageFlags.Exportable);
var sig = new PdfSignature(cert);
pdf.Sign(sig);
pdf.SaveAs("signed.pdf");
}
}
Imports IronPdf
Imports IronPdf.Signing
Imports System.Security.Cryptography.X509Certificates
Public Class Program
Shared Sub Main(ByVal args() As String)
Dim pdf As PdfDocument = PdfDocument.FromFile("invoice.pdf")
Dim cert As New X509Certificate2("IronSoftware.pfx", "your-password", X509KeyStorageFlags.Exportable)
Dim sig = New PdfSignature(cert)
pdf.Sign(sig)
pdf.SaveAs("signed.pdf")
End Sub
End Class
Dieser Code zeigt, wie man ein PDF-Dokument mit IronPDF und einem X.509-Zertifikat digital signiert. Zuerst lädt es ein vorhandenes PDF(invoice.pdf)in ein PdfDocument-Objekt. Dann lädt es ein Zertifikat aus einer .pfx-Datei(IronSoftware.pfx)durch Eingabe des Passworts(Passw0rd)und das Setzen der Flagge X509KeyStorageFlags.Exportable, um das Exportieren des privaten Schlüssels des Zertifikats bei Bedarf zu ermöglichen.
Als nächstes wird ein PdfSignature-Objekt mit dem geladenen Zertifikat erstellt. Diese Signatur wird dann auf das PDF-Dokument angewendet und signiert es effektiv. Schließlich wird die signierte PDF als neue Datei namens signed.pdf gespeichert. Dieser Prozess gewährleistet, dass das PDF sicher signiert ist und seine Authentizität und Integrität überprüft wird.
IronPDF bietet auch eine einfache Möglichkeit, digitale Signaturen zu überprüfen. Sie können die Methode VerifyPdfSignatures aufrufen, um die Gültigkeit der Signaturen im Dokument zu überprüfen.
using IronPdf;
PdfDocument pdf = PdfDocument.FromFile("signed_test_document.pdf");
bool isValid = pdf.VerifyPdfSignatures();
if (isValid)
{
Console.WriteLine("The digital signature is valid.");
}
else
{
Console.WriteLine("The digital signature is invalid or missing.");
}
using IronPdf;
PdfDocument pdf = PdfDocument.FromFile("signed_test_document.pdf");
bool isValid = pdf.VerifyPdfSignatures();
if (isValid)
{
Console.WriteLine("The digital signature is valid.");
}
else
{
Console.WriteLine("The digital signature is invalid or missing.");
}
Imports IronPdf
Private pdf As PdfDocument = PdfDocument.FromFile("signed_test_document.pdf")
Private isValid As Boolean = pdf.VerifyPdfSignatures()
If isValid Then
Console.WriteLine("The digital signature is valid.")
Else
Console.WriteLine("The digital signature is invalid or missing.")
End If
Diese Methode gibt true zurück, wenn alle Signaturen im Dokument gültig sind, und false, wenn eine Signatur ungültig ist oder fehlt.
Benutzerfreundlichkeit: IronPDF bietet eine viel einfachere API zum Signieren von PDFs im Vergleich zu QuestPDF. QuestPDF bietet keine native Unterstützung für digitale Signaturen und benötigt externe Bibliotheken(z.B. BouncyCastle)für diese Funktionalität. Im Gegensatz dazu verfügt IronPDF über integrierte Methoden zum Signieren und Verifizieren von PDFs, wodurch die Implementierung digitaler Signaturen einfacher wird.
Zertifikatsverwaltung: Beide Bibliotheken können mit Zertifikaten arbeiten, aber IronPDF verarbeitet sie direkt über seine integrierten Methoden.(SignWithFile), vereinfacht den Prozess. Es ermöglicht Ihnen auch, Signaturberechtigungen festzulegen, was von QuestPDF nicht angeboten wird. Signieren Sie PDF-Dokumente mit IronPDF in nur wenigen Zeilen Code.
Digitale Signaturüberprüfung: IronPDF bietet eine benutzerfreundliche Methode(VerifyPdfSignatures)die Gültigkeit digitaler Signaturen in PDFs zu überprüfen, während QuestPDF dieses Feature nicht hat und auf externe Bibliotheken zur Signaturüberprüfung angewiesen ist.
Lizenz & Kosten: QuestPDF ist eine Open-Source-Bibliothek, die kostenlos genutzt werden kann. Dies geht auf Kosten des Fehlens fortgeschrittener Funktionen wie der Unterstützung digitaler Signaturen. IronPDF ist für die Entwicklung kostenlos, und darüber hinaus bietet es eine Reihe von Preiskategorien für seinekommerzielle Lizenzierungum es auszuprobieren, bevor Sie es kaufen.
Zusammenfassend lässt sich sagen, dass QuestPDF zwar hervorragend darin ist, PDFs mit komplexen Layouts zu erstellen, jedoch keine native Unterstützung für digitale Signaturen bietet und daher externe Bibliotheken wie BouncyCastle für diese Funktionalität erforderlich sind. Im Gegensatz dazu bietet IronPDF eine integrierte Lösung zum Signieren und Verifizieren digitaler Signaturen, die einen einfacheren und effizienteren Prozess ermöglicht.
Für Entwickler, die eine umfassende PDF-Lösung mit integrierterdigitale SignaturFähigkeiten ist IronPDF die bessere Wahl, mit einer breiten Palette vonmerkmale, umfangreiche Dokumentationund mehr. QuestPDF bleibt jedoch eine starke Open-Source-Option für die PDF-Erstellung, aber das digitale Signieren erfordert zusätzliche Komplexität. Die Entscheidung hängt letztendlich von den Anforderungen des Projekts und dem gewünschten Maß an Einfachheit ab.
10 .NET API-Produkte für Ihre Bürodokumente