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 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, erscheint eine spezielle Nachricht in PowerPoint:

todo:image_alt_text

Um die Präsentation zu signieren oder die Echtheit der Präsentationssignaturen zu überprüfen, bietet die Aspose.Slides API das IDigitalSignature Interface, das IDigitalSignatureCollection Interface und die IPresentation.getDigitalSignatures Methode. Derzeit werden digitale Signaturen nur für das PPTX-Format unterstützt.

Digitale Signatur von PFX-Zertifikat hinzufügen

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

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

    // Neue digitale Signatur kommentieren
    signature.setComments("Aspose.Slides digitale Signaturtest.");

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

    // Präsentation speichern
    pres.save("SomePresentationSigned.pptx", SaveFormat.Pptx);
} finally {
    pres.dispose();
}

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

// Präsentation öffnen
Presentation pres = new Presentation("SomePresentationSigned.pptx");
try {
    if (pres.getDigitalSignatures().size() > 0)
    {
        boolean allSignaturesAreValid = true;

        System.out.println("Signaturen, die zur Unterzeichnung der Präsentation verwendet wurden: ");

        // Überprüfen, ob alle digitalen Signaturen gültig sind
        for (IDigitalSignature signature : pres.getDigitalSignatures())
        {
            System.out.println(signature.getComments() + ", "
                    + signature.getSignTime().toString() + " -- " + (signature.isValid() ? "GÜLTIG" : "UNGÜLTIG"));
            allSignaturesAreValid &= signature.isValid();
        }

        if (allSignaturesAreValid)
            System.out.println("Präsentation ist echt, alle Signaturen sind gültig.");
        else
            System.out.println("Die Präsentation wurde seit der Unterzeichnung geändert.");
    }
} finally {
    if (pres != null) pres.dispose();
}