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:
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:
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:
- Otevřete soubor PFX a předávejte heslo PFX objektu DigitalSignature.
- 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ě.