Přidání digitálních podpisů do prezentací v JavaScriptu
Úvod
Digitální certifikát se používá k vytvoření prezentace PowerPoint chráněné heslem, označené jako vytvořenou konkrétní organizací nebo osobou. Digitální certifikát lze získat kontaktováním oprávněné organizace – certifikační autority. Po nainstalování digitálního certifikátu do systému jej lze použít k přidání digitálního podpisu do prezentace přes Soubor → Informace → Ochrana prezentace:
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ů prezentace poskytuje Aspose.Slides API třídu DigitalSignature, třídu DigitalSignatureCollection a metodu Presentation.getDigitalSignatures. V současné době 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ředjte heslo PFX objektu DigitalSignature.
- Přidejte vytvořený podpis do objektu prezentace.
// Otevírání souboru prezentace
var pres = new aspose.slides.Presentation();
try {
// Vytvořit objekt DigitalSignature s PFX souborem a PFX heslem
var signature = new aspose.slides.DigitalSignature("testsignature1.pfx", "testpass1");
// Komentář k novému digitálnímu podpisu
signature.setComments("Aspose.Slides digital signing test.");
// Přidat digitální podpis do prezentace
pres.getDigitalSignatures().add(signature);
// Uložit prezentaci
pres.save("SomePresentationSigned.pptx", aspose.slides.SaveFormat.Pptx);
} finally {
pres.dispose();
}
Nyní je možné zkontrolovat, zda byla prezentace digitálně podepsána a nebyla upravena:
// Open presentation
var pres = new aspose.slides.Presentation("SomePresentationSigned.pptx");
try {
if (pres.getDigitalSignatures().size() > 0) {
var allSignaturesAreValid = true;
console.log("Signatures used to sign the presentation: ");
// Check if all digital signatures are valid
for (let i = 0; i < pres.getDigitalSignatures().size(); i++) {
let signature = pres.getDigitalSignatures().get_Item(i);
console.log((((signature.getComments() + ", ") + signature.getSignTime().toString()) + " -- ") + (signature.isValid() ? "VALID" : "INVALID"));
allSignaturesAreValid &= signature.isValid();
}
if (allSignaturesAreValid) {
console.log("Presentation is genuine, all signatures are valid.");
} else {
console.log("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 úplné vymazání; po uložení souboru nebude v prezentaci žádný podpis.
Stane se soubor po podpisu „pouze pro čtení“?
Ne. Podpis zachovává integritu a autorství, ale neblokuje úpravy. Pro omezení úprav jej kombinujte s “Read-only” or a password.
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, správně zobrazují stav takových podpisů.