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. Ein digitales Zertifikat kann durch Kontaktaufnahme mit einer autorisierten Organisation - einer Zertifizierungsstelle - erhalten werden. Nach der Installation des digitalen Zertifikats im System kann es verwendet werden, um eine digitale Signatur zur Präsentation über Datei -> Informationen -> Präsentation schützen hinzuzufügen:

todo:image_alt_text

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

todo:image_alt_text

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

Digitale Signatur aus PFX-Zertifikat hinzufügen

Das folgende Коде-Beispiel zeigt, wie eine digitale Signatur aus einem PFX-Zertifikat hinzugefügt wird:

  1. Öffnen Sie die PFX-Datei und geben Sie das PFX-Passwort an den DigitalSignature Objekt weiter.
  2. Fügen Sie die erstellte Signatur dem Präsentationsobjekt hinzu.

#[TODO:Exception] RuntimeError: Proxy error(FileNotFoundException): Konnte die Datei oder Assembly 'System.Security.Cryptography.Xml, Version=4.0.2.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51' nicht laden. Datei wurde nicht gefunden.

import aspose.slides as slides

with slides.Presentation() as pres:
    # Erstellen Sie das DigitalSignature-Objekt mit der PFX-Datei und dem PFX-Passwort 
    signature = slides.DigitalSignature(path + "testsignature1.pfx", "testpass1")

    # Kommentieren Sie die neue digitale Signatur
    signature.comments = "Aspose.Slides digitale Signaturtest."

    # Fügen Sie die digitale Signatur der Präsentation hinzu
    pres.digital_signatures.add(signature)

    # Präsentation speichern
    pres.save("SomePresentationSigned.pptx", slides.export.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
with slides.Presentation("SomePresentationSigned.pptx") as pres:
    if len(pres.digital_signatures) > 0:
        allSignaturesAreValid = True

        print("Signaturen, die zur Unterzeichnung der Präsentation verwendet wurden: ")
        # Prüfen, ob alle digitalen Signaturen gültig sind
        for signature in pres.digital_signatures:
            print(signature.certificate.subject_name.name + ", "
                    + signature.sign_time.strftime("yyyy-MM-dd HH:mm") + " -- " + "GÜLTIG" if signature.is_valid else "UNGÜLTIG")
            allSignaturesAreValid = allSignaturesAreValid and signature.is_valid
        
        if allSignaturesAreValid:
            print("Präsentation ist echt, alle Signaturen sind gültig.")
        else:
            print("Präsentation wurde seit der Unterzeichnung geändert.")