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:
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:
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:
- Öffnen Sie die PFX-Datei und geben Sie das PFX-Passwort an den DigitalSignature Objekt weiter.
- 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.")