Digitale Signatur in PowerPoint

Digitales Zertifikat wird verwendet, um eine passwortgeschützte PowerPoint-Präsentation zu erstellen, die als von einer bestimmten Organisation oder Person erstellt gekennzeichnet ist. Das digitale Zertifikat kann durch Kontaktaufnahme mit einer autorisierten Organisation - einer Zertifizierungsstelle - erhalten werden. Nach der Installation des digitalen Zertifikats ins System kann es verwendet werden, um eine digitale Signatur zur Präsentation hinzuzufügen über Datei -> Informationen -> Präsentation schützen:

todo:image_alt_text

Eine Präsentation kann mehr als eine digitale Signatur enthalten. Nachdem die digitale Signatur zur Präsentation hinzugefügt wurde, wird eine spezielle Nachricht in PowerPoint angezeigt:

todo:image_alt_text

Um eine Präsentation zu signieren oder die Authentizität der Präsentationssignaturen zu überprüfen, bietet die Aspose.Slides API die IDigitalSignature Schnittstelle, die IDigitalSignatureCollection Schnittstelle und die IPresentation.DigitalSignatures Eigenschaft. Derzeit werden digitale Signaturen nur im PPTX-Format unterstützt.

Digitale Signatur aus PFX-Zertifikat hinzufügen

Das folgende Codebeispiel zeigt, wie man eine digitale Signatur aus einem PFX-Zertifikat hinzufügt:

  1. PFX-Datei öffnen und das PFX-Passwort an das DigitalSignature Objekt übergeben.
  2. Die erstellte Signatur zum Präsentationsobjekt hinzufügen.
using (Presentation pres = new Presentation())
{
    // Erstellen Sie ein DigitalSignature-Objekt mit der PFX-Datei und dem PFX-Passwort 
    DigitalSignature signature = new DigitalSignature("testsignature1.pfx", @"testpass1");

    // Kommentar zur neuen digitalen Signatur
    signature.Comments = "Aspose.Slides digitale Signatur-Test.";

    // Digitale Signatur zur Präsentation hinzufügen
    pres.DigitalSignatures.Add(signature);

    // Präsentation speichern
    pres.Save("SomePresentationSigned.pptx", SaveFormat.Pptx);
}

Jetzt ist es möglich zu überprüfen, ob die Präsentation digital signiert wurde und nicht verändert wurde:

// Präsentation öffnen
using (Presentation pres = new Presentation("SomePresentationSigned.pptx"))
{
    if (pres.DigitalSignatures.Count > 0)
    {
        bool allSignaturesAreValid = true;

        Console.WriteLine("Signaturen, die zur Signierung der Präsentation verwendet wurden: ");

        // Prüfen, ob alle digitalen Signaturen gültig sind
        foreach (DigitalSignature signature in pres.DigitalSignatures)
        {
            Console.WriteLine(signature.Certificate.SubjectName.Name + ", "
                    + signature.SignTime.ToString("yyyy-MM-dd HH:mm") + " -- " + (signature.IsValid ? "GÜLTIG" : "UNGÜLTIG"));
            allSignaturesAreValid &= signature.IsValid;
        }

        if (allSignaturesAreValid)
            Console.WriteLine("Die Präsentation ist echt, alle Signaturen sind gültig.");
        else
            Console.WriteLine("Die Präsentation wurde seit der Signierung geändert.");
    }
}