Die digitale Signatur ist ein vertrauenswürdiges Verfahren zur Überprüfung der Echtheit Ihrer Dokumente. Digitale Signaturen werden häufig verwendet, um elektronische Signaturen zu implementieren. In diesem Artikel erfahren Sie, wie Sie PDF- und Word-Dokumente mit digitalen Zertifikaten unter Verwendung von C# elektronisch signieren.

.NET-API für digitale Signaturen und Zertifikate

Zum Signieren von Dokumenten mit dem digitalen Zertifikat verwende ich in den C#-Beispielen dieses Artikels die API GroupDocs.Signature for .NET. Neben dem Signieren von PDF-Dokumenten unterstützt diese API digitale Signaturen für Textverarbeitungsdokumente und Tabellenkalkulationsformate.

Laden Sie die DLLs oder das MSI-Installationsprogramm aus dem Download-Bereich herunter oder installieren Sie die API in Ihrer .NET-Anwendung über NuGet.

PM> Install-Package GroupDocs.Signature

PDF mit digitalem Zertifikat in C# signieren

Nach dem Einrichten der Umgebung sind Sie nur wenige Zeilen von der erfolgreichen Signierung Ihrer Dokumente entfernt. Führen Sie die folgenden Schritte aus, um Ihr Dokument mit dem verfügbaren digitalen Zertifikat unter Verwendung von C# signieren zu lassen.

  • Initialisieren Sie das Objekt Signatur mit dem zu signierenden Dokument.
  • Initialisieren Sie das Objekt DigitalSignOptions mit der Zertifikatsdatei.
  • Stellen Sie die erforderlichen Zeichenoptionen wie Passwort und Position ein.
  • Rufen Sie die Methode Sign auf, um das Dokument mit dem digitalen Zertifikat zu signieren.

Das folgende Codebeispiel signiert die PDF-Dokumente mit dem Zertifikat in C#.

// PDF mit digitalem Zertifikat in C# signieren
using (Signature signature = new Signature("document.pdf"))
{
    DigitalSignOptions options = new DigitalSignOptions("certificate.pfx");
    {
        ImageFilePath = "sampleImage.jpg", // Optional - Set image file path
        Left = 50,                    // Set signature position
        Top = 50,
        Password = "GroupDocs"       // Set Password
    };
    signature.Sign("signedDocument.pdf", options);
}

Signieren mit digitaler Signatur mit benutzerdefiniertem Erscheinungsbild in C#

Die digitale Signatur kann angepasst werden, um unterschiedliche Präsentationen zu haben. Für das personalisierte Erscheinungsbild können die folgenden Optionen mithilfe der Klasse PdfDigitalSignatureAppearance angepasst werden.

  • Hintergrund
  • Kontaktinformation
  • Datum unterzeichnet am
  • Digital signiert
  • Standort
  • Grund
  • Schriftfamilie
  • Schriftgröße

Außerdem können Sie folgende Eigenschaften ändern:

  • Höhe
  • Breite
  • Rahmenstil
  • Auf Alle Seiten oder Nicht anzeigen
PDF mit digitalem Zertifikat signieren

Signiertes PDF-Dokument mit digitalem Zertifikat mit GroupDocs.Signature for .NET in C#

Im folgenden Beispiel verwende ich fast alle der oben genannten Eigenschaften. In diesem Beispiel wird das Erscheinungsbild der digitalen Signatur in einem PDF-Dokument mithilfe von C# angepasst.

// PDF mit digitalem Zertifikat in C# mit benutzerdefinierter Darstellung und Einstellung signieren
using (Signature signature = new Signature("document.pdf"))
{
    DigitalSignOptions options = new DigitalSignOptions("certificate.pfx")
    {
        Password = "GroupDocs",
        // Details zum digitalen Zertifikat
        Reason = "Approved",
        Location = "New York",

        // Benutzerdefiniertes Aussehen der PDF-Signatur
        Appearance = new PdfDigitalSignatureAppearance()
        {
            // Kontaktdaten nicht anzeigen
            ContactInfoLabel = string.Empty,
            // Grundbezeichnung vereinfachen
            ReasonLabel = "?",
            // Ortsbezeichnung ändern
            LocationLabel = "From",
            DigitalSignedLabel = "By",
            DateSignedAtLabel = "On",
            Background = Color.Red
        },
        AllPages = true,
        Width = 160,
        Height = 80,
        // Signaturrand festlegen
        Border = new Border()
        {
            Visible = true,
            Color = Color.Red,
            DashStyle = DashStyle.DashDot,
            Weight = 2
        }
    };
    SignResult signResult = signature.Sign("signedDocument.pdf", options);
}

Word-Dokumente mit digitalem Zertifikat in C# signieren

Ebenso können Sie Word-Dokumente mit dem Zertifikat signieren. Geben Sie einfach das richtige Dokument an, wenn Sie mit der Initialisierung des Signature-Objekts beginnen.

  • Initialisieren Sie das Objekt Signatur mit dem zu signierenden Word-Dokument.
  • Initialisieren Sie das Objekt DigitalSignOptions mit der Zertifikatsdatei.
  • Legen Sie Zeichenoptionen wie Passwort und Position fest.
  • Signieren Sie das Dokument mit dem digitalen Zertifikat mit der Methode Signieren.

Das Beispiel signiert die Word-Dokumente mit dem Zertifikat in C#.

// Word-Dokument mit digitalem Zertifikat in C# signieren
using (Signature signature = new Signature("document.docx"))
{
    DigitalSignOptions options = new DigitalSignOptions("certificate.pfx");
    {
        ImageFilePath = "sampleImage.jpg", // Optional - Set image file path
        Left = 50,                    // Set signature position
        Top = 50,
        Password = "GroupDocs"       // Set Password
    };
    signature.Sign("signedDocument.docx", options);
}

Fazit

In diesem Artikel haben Sie gelernt, PDF- und Word-Dokumente mit dem digitalen Zertifikat mit C# elektronisch zu signieren. Außerdem können Sie das Erscheinungsbild der Signatur ganz einfach anpassen. Jetzt können Sie versuchen, Ihre eigene .NET-Anwendung zum Signieren von PDF- und Word-Dokumenten mit digitalen Zertifikaten zu erstellen, die ein benutzerdefiniertes Erscheinungsbild in C# haben.

Siehe auch