Přidání digitálních podpisů do prezentací na Androidu

Úvod

Digitální certifikát se používá k vytvoření prezentace PowerPoint chráněné heslem, označené jako vytvořená konkrétní organizací nebo osobou. Digitální certifikát lze získat kontaktováním autorizované organizace – certifikační autority. Po instalaci digitálního certifikátu do systému jej lze použít k přidání digitálního podpisu do prezentace prostřednictvím Soubor -> Informace -> Zabezpečit prezentaci:

todo:image_alt_text

Prezentace může obsahovat více než jeden digitální podpis. Po přidání digitálního podpisu do prezentace se v PowerPointu zobrazí speciální zpráva:

todo:image_alt_text

Pro podepsání prezentace nebo kontrolu pravosti podpisů v prezentaci poskytuje Aspose.Slides API rozhraní IDigitalSignature, rozhraní IDigitalSignatureCollection a metodu IPresentation.getDigitalSignatures . V současnosti jsou digitální podpisy podporovány pouze pro formát PPTX.

Přidání digitálního podpisu z PFX certifikátu

Níže uvedený ukázkový kód demonstruje, jak přidat digitální podpis z PFX certifikátu:

  1. Otevřete soubor PFX a předávejte heslo PFX objektu DigitalSignature.
  2. Přidejte vytvořený podpis do objektu prezentace.
// Otevírání souboru prezentace
Presentation pres = new Presentation();
try {
    // Vytvoření objektu DigitalSignature s PFX souborem a PFX heslem 
    DigitalSignature signature = new DigitalSignature("testsignature1.pfx", "testpass1");

    // Komentář nového digitálního podpisu
    signature.setComments("Aspose.Slides digital signing test.");

    // Přidání digitálního podpisu do prezentace
    pres.getDigitalSignatures().add(signature);

    // Uložení prezentace
    pres.save("SomePresentationSigned.pptx", SaveFormat.Pptx);
} finally {
    pres.dispose();
}

Nyní je možné zkontrolovat, zda byla prezentace digitálně podepsána a nebyla upravena:

// Otevření prezentace
Presentation pres = new Presentation("SomePresentationSigned.pptx");
try {
    if (pres.getDigitalSignatures().size() > 0)
    {
        boolean allSignaturesAreValid = true;

        System.out.println("Signatures used to sign the presentation: ");

        // Zkontrolovat, zda jsou všechny digitální podpisy platné
        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();
}

Často kladené otázky

Mohu odstranit existující podpisy ze souboru?

Ano. Kolekce digitálních podpisů podporuje odstranění jednotlivých položek a vymazání celé kolekce; po uložení souboru nebude v prezentaci žádný podpis.

Stane se soubor po podpisu „read-only“?

Ne. Podpis zachovává integritu a autorství, ale neblokuje úpravy. Pro omezení úprav jej kombinujte s “Read-only” nebo heslem.

Zobrazí se podpis správně v různých verzích PowerPointu?

Podpis je vytvořen pro kontejner OOXML (PPTX). Moderní verze PowerPointu, které podporují OOXML podpisy, zobrazují stav takových podpisů správně.