PDFelement
PDFelement: PDF-Editor, Scanner
PDF bearbeiten, konvertieren, mit Anmerkungen versehen
PDF bearbeiten, mit Kommentaren versehen
Öffnen Öffnen

C# Digitale Signatur: PDFs durch Programmierung signieren

author avatar

2024-02-22 15:36:31 • Filed to: Signatur • Proven solutions

Sie brauchen kein eSign Tool, um digitale Dokumente zu signieren. Aber wie können Sie das tun? Sie können Programmiersprachen wie C# verwenden. Alles, was Sie brauchen, ist also eine IDE anstelle eines speziellen eSign-Tools. Wenn Sie ein Programmierer sind, haben Sie wahrscheinlich schon eines. Sie können also sofort loslegen. Wenn Sie neugierig auf die digitale Signatur in C# sind, lesen Sie weiter.

Machen Sie sich keine Sorgen, wenn Sie kein Programmierer sind. Wir haben auch ein alternatives Tool, Wondershare PDFelement, bereitgestellt, das sehr benutzerfreundlich ist!

Teil 1. Wie man mit der digitalen Signatur in C# ein zertifiziertes Unterschriftsfeld zu einer PDF-Datei hinzufügt

Bevor Sie eine PDF-Datei mit C# signieren können, müssen Sie zunächst ein Signaturfeld hinzufügen. Dort befindet sich die Unterschrift. Machen Sie sich keine Sorgen.

  1. Holen Sie sich das PDF und die Seite mit diesem Code:

using (PDFDoc doc = new PDFDoc(docpath)) 
{ Page page1 = doc.GetPage(1); }
  1. Erstellen Sie ein Textfeld, das Sie mit der Feldberechtigungsfunktion sperren können. Verwenden Sie diesen Code:

TextWidget annot1 = TextWidget.Create(doc, new Rect(50, 550, 350, 600), "new_text_field");
page1.AnnotPushBack(annot1);
  1. Erstellen Sie mit diesem Codeschnipsel ein Signaturfeld in der PDF-Datei:


 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. Nehmen wir an, Sie haben ein Erscheinungsbild für ein Signaturfeld vorbereitet. Fügen Sie es der PDF-Datei mit diesem Codeschnipsel hinzu:

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

Wenn Sie kein Signaturfeld angelegt haben, können Sie diesen Schritt überspringen.

  1. Bereiten Sie die Berechtigungsstufe für die Dokumentensperre vor, die nach der Zertifizierung des Dokuments angewendet wird.

certification_sig_field.SetDocumentPermissions(DigitalSignatureField.DocumentPermissions.e_annotating_formfilling_signing_allowed);
  
  1. Bereiten Sie nun das Sperren des Textfeldes vor, das Sie in Schritt 2 erstellt haben.

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. Speichern Sie das Dokument, indem Sie die Save Methode aufrufen. PDFNet signiert das Dokument anhand der angegebenen Informationen.

doc.Save(outpath, 0);

Der Code sollte wie folgt aussehen:


    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);
}

Teil 2. Wie man ein PDF mit der digitalen Signatur von C# signiert

Da das PDF nun ein Signaturfeld enthält, können Sie es endlich signieren. Folgen Sie diesen Schritten, um sie mit der digitalen Signatur von C# zu signieren:

  1. Rufen Sie das Feld für die unsignierte Signatur mit diesem Codeschnipsel ab:

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. Bereiten Sie die Signatur und den Signatur-Handler mit diesem C#-Schnipsel für das Signieren vor:

approval_digsig_field.SignOnNextSave(private_key_file_path, keyfile_password);
  1. Führen Sie einen inkrementellen Speichervorgang durch, um das Dokument mit der Signatur zu speichern.

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

Der endgültige Code sollte wie folgt aussehen:


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);
}

Teil 3. Wie man eine zertifizierte Signatur in einer PDF-Datei mit der digitalen Signatur von C# prüft

Mit C# können Sie auch eine zertifizierte Signatur überprüfen. Sie benötigen jedoch eine spezielle API für digitale Signaturen wie die apryse Docs API zur Überprüfung digitaler Signaturen.

Warum sollten Sie das tun? Sie müssen sicherstellen, dass digitale Signaturen authentisch und nicht gefälscht sind. Es stellt auch sicher, dass die Vereinbarung rechtsverbindlich ist.

Um eine digitale Signatur mit C# zu überprüfen, gehen Sie folgendermaßen vor:

  1. Wählen Sie eine Sicherheitsstufe, die Sie verwenden möchten. Ändern Sie dann alle Verifizierungsoptionen, die Sie ändern möchten.

VerificationOptions opts = new VerificationOptions(VerificationOptions.SignatureVerificationSecurityLevel.e_compatibility_and_archiving);
  1. Trust Root hinzufügen, um die in VerificationOptions enthaltenen vertrauenswürdigen Zertifikate zu speichern.

opts.AddTrustedCertificate(in_public_key_file_path);
  1. Überprüfen Sie die digitale Signatur.

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

Der vollständige Code sollte wie folgt aussehen:


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);
}

Sie erhalten möglicherweise die folgenden Ergebnisse:

  • SignaturesVerificationStatus.e_unsigned: Die PDF-Datei enthält keine signierten Signaturfelder.
  • SignaturesVerificationStatus.e_failure: Bei mindestens einer Signatur ist die Verifizierung fehlgeschlagen. Es beinhaltet keine Vertrauensfragen.
  • SignaturesVerificationStatus.e_untrusted: Das Vertrauen für mindestens eine Signatur konnte nicht überprüft werden.
  • SignaturesVerificationStatus.e_verified: Alle signierten Signaturen des Dokuments sind geprüft. Bitte beachten Sie, dass nicht signierte Felder übersprungen werden.

Teil 4. Fügen Sie einer PDF-Datei eine zertifizierte Signatur hinzu, ohne C# zu verwenden: Wondershare PDFelement verwenden

Es gibt ein eklatantes Problem bei der Verwendung der digitalen Signatur in C# zum Signieren von PDFs. Es ist zu technisch. Dazu müssen Sie Programmierer sein oder zumindest C# können. Für technisch nicht versierte Menschen ist es daher unmöglich, dies zu tun.

Zum Glück gibt es einfachere Tools, die Sie zum Signieren digitaler Dokumente verwenden können. Eines davon ist Wondershare PDFelement. Wondershare PDFelement ist ein so universelles Tool, dass jeder es benutzen kann. Eine Eigenschaft, für die es bekannt ist, ist seine Benutzerfreundlichkeit. Damit können Sie nämlich ganz einfach unterschreiben oder sogar Unterschriften sammeln.

dokument mit wondershare pdfelement signieren

Bitte beachten Sie, dass Wondershare PDFelement eSign gesetzliche und industrielle Standards wie ISO 27001 und HIPAA einhält. Sie können also sicher sein, dass die unterzeichneten Dokumente authentisch und sicher sind. Es hat sogar einen eingebauten Zertifikatsprüfer!

Aber genug der Einleitung. Wir zeigen Ihnen, wie Sie Wondershare PDFelement eSign verwenden können.

Teil 4.1. Wie man PDFs für Signaturen versendet

Das ist richtig. Mit Wondershare PDFelement können Sie nicht nur PDFs signieren. Außerdem können Sie damit Unterschriften von anderen Personen sammeln. Damit können Sie Vereinbarungen abschließen, auch wenn Sie nicht physisch zusammen sind. Wondershare PDFelement benachrichtigt Sie auch, wenn eine Person das Dokument unterzeichnet hat. So verpassen Sie keinen Beat und fahren sofort mit dem nächsten Schritt fort.

Hier sind die Schritte zum Sammeln von Unterschriften mit Wondershare PDFelement:

  1. Öffnen Sie die Vereinbarung, die von anderen Personen unterschrieben werden muss, mit Wondershare PDFelement. Klicken Sie auf Schützen > eSignatur anfordern.
esign auf wondershare pdfelement anfordern
  1. Es öffnet sich ein neues Fenster. Fügen Sie die E-Mail-Adressen der Unterzeichner in das Feld "Empfänger hinzufügen" ein.
  2. Wählen Sie, ob das Dokument zuerst oder zuletzt signiert werden soll. Aktivieren Sie das entsprechende Kontrollkästchen für Ihre Entscheidung.
  3. Legen Sie unter "Einstellungen" die Reihenfolge der Signierung und die Häufigkeit der Updates fest.
Einrichten der E-Sign Anfrage
  1. Klicken Sie auf Weiter.
  2. Fügen Sie die wichtigsten Signaturfelder per Drag & Drop hinzu und weisen Sie sie zu.
Hinzufügen der Signaturfelder
  1. Klicken Sie auf Senden.

Teil 4.2. Wie man PDFs mit Wondershare PDFelement signiert

Was aber, wenn Sie das Dokument unterschreiben müssen? Wie bereits erwähnt, können Sie dies auch mit Wondershare PDFelement tun. Und es gibt zwei Methoden. Sie können die PDF-Datei über die Desktop-App oder den E-Mail-Link signieren. Wir werden beide Methoden diskutieren:

A. PDFs mit der Wondershare PDFelement Desktop App signieren
  1. Öffnen Sie Wondershare PDFelement und melden Sie sich bei Ihrem Konto an. Klicken Sie im linken Bereich auf Vereinbarung. Öffnen Sie eine Vereinbarung mit der Beschriftung "Wartet auf mich".

Eröffnung einer Vereinbarung, die unterzeichnet werden muss
  1. Klicken Sie auf den Signieren Tag, um zu den Signaturfeldern zu gelangen, in denen Sie unterschreiben müssen.
  2. Wählen Sie das Feld für die Signatur, um sie zu unterschreiben.
Die richtigen Signaturfelder finden
  1. Erstellen Sie Ihre Signatur, indem Sie sie tippen, zeichnen oder ein Bild hochladen. Klicken Sie auf OK.
Die Erstellung der digitalen Signatur
  1. Klicken Sie in der Benachrichtigungsleiste, die unten erscheint, auf "Klicken zum Signieren" und dann auf "Weiter".
Unterzeichnung des Vertrags mit wondershare pdfelement
B. PDFs mit der Wondershare PDFelement Desktop App signieren

Angenommen, Sie sind von zu Hause weg. Sie haben Ihren Laptop nicht dabei. Sie können Dokumente immer noch über die Unterschreiben Schaltfläche in der E-Mail-Benachrichtigung unterschreiben. Folgen Sie dazu dieser Anleitung:

  1. Öffnen Sie die E-Mail-Benachrichtigung über die eSign-Anforderung. Klicken Sie auf die Schaltfläche "Dokument signieren".

E-Mail-Benachrichtigung über Esign-Anfrage
  1. Aktivieren Sie das Kontrollkästchen für "Ich stimme der EULA und dem Datenschutz zu", um elektronische Aufzeichnungen und Unterschriften zu verwenden. Klicken Sie auf Weiter.
Zustimmung zu Eula und Datenschutzrichtlinie
  1. Klicken Sie auf das Signaturfeld, das Sie signieren möchten. Wenn Sie zum ersten Mal ein solches Dokument unterschreiben, erstellen Sie Ihre Signatur. Sie können ein Bild eingeben, zeichnen oder hochladen.
Die Erstellung der digitalen Signatur
  1. Klicken Sie auf Speichern, um die Signatur auf das Dokument anzuwenden und für die zukünftige Verwendung zu speichern.

Fazit

Sie können C# verwenden, um PDFs digitale Signaturen hinzuzufügen. Aber das bedeutet nicht, dass Sie dafür programmieren lernen müssen. Es gibt alternative Methoden, von denen viele einfacher zu handhaben sind.

Eines der besten Tools zum Signieren von PDFs ist Wondershare PDFelement. Es ist eine PDF-Lösung mit vielen nützlichen Tools. Die standardkonforme eSign-Funktion ermöglicht das einfache Signieren von PDFs. Und nicht nur das: Sie können auch Signaturanfragen an andere senden. Daher wählen viele Menschen Wondershare PDFelement als ihr eSign Tool. Trotzdem sollten Sie es sich ansehen.

Gratis Testen oder PDFelement Kaufen Jetzt!

Gratis Testen or PDFelement Kaufen Jetzt!

PDFelement Kaufen Jetzt!

PDFelement Kaufen Jetzt!

author avatar

Noah Hofer

staff Editor

(Click to rate this post)

Generally rated4.5(105participated)


Home > Signatur > C# Digitale Signatur: PDFs durch Programmierung signieren