Digitale Signaturen zu Präsentationen auf Android hinzufügen

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. Nachdem das digitale Zertifikat im System installiert wurde, kann es verwendet werden, um der Präsentation über Datei → Info → Präsentation schützen eine digitale Signatur hinzuzufügen:

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 in PowerPoint eine spezielle Meldung:

todo:image_alt_text

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

Digitale Signatur aus einem PFX‑Zertifikat hinzufügen

Das nachstehende Code‑Beispiel zeigt, wie eine digitale Signatur aus einem PFX‑Zertifikat hinzugefügt wird:

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

    // Kommentar zur neuen digitalen Signatur
    signature.setComments("Aspose.Slides digital signing test.");

    // Füge digitale Signatur zur Präsentation hinzu
    pres.getDigitalSignatures().add(signature);

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

Jetzt ist es möglich zu prü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("Signatures used to sign the presentation: ");

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

        if (allSignaturesAreValid)
            System.out.println("Presentation is genuine, all signatures are valid.");
        else
            System.out.println("Presentation has been modified since signing.");
    }
} finally {
    if (pres != null) pres.dispose();
}

FAQ

Kann ich vorhandene Signaturen aus einer Datei entfernen?

Ja. Die Sammlung digitaler Signaturen unterstützt das Entfernen einzelner Elemente und das Komplett‑Leeren ; nachdem Sie die Datei gespeichert haben, enthält die Präsentation keine Signaturen mehr.

Wird die Datei nach dem Signieren „schreibgeschützt“?

Nein. Eine Signatur bewahrt Integrität und Urheberschaft, blockiert jedoch keine Änderungen. Um das Bearbeiten zu beschränken, kombinieren Sie sie mit “Schreibgeschützt” oder ein Passwort.

Wird die Signatur in verschiedenen PowerPoint‑Versionen korrekt angezeigt?

Die Signatur wird für den OOXML‑(PPTX‑)Container erstellt. Moderne PowerPoint‑Versionen, die OOXML‑Signaturen unterstützen, zeigen den Status solcher Signaturen korrekt an.