Digitális aláírások hozzáadása prezentációkhoz PHP-ben
Bevezetés
Digitális tanúsítvány a jelszóval védett powerpoint prezentáció létrehozásához használható, amelyet egy adott szervezet vagy személy készítettnek jelölnek. A digitális tanúsítványt egy hitelesített szervezet - egy tanúsítványkiadó felkeresésével lehet beszerezni. A digitális tanúsítvány telepítése után a rendszerben használható a prezentációhoz digitális aláírás hozzáadásához a File -> Info -> Protect Presentation menüpontban:
A prezentáció több digitális aláírást is tartalmazhat. Miután a digitális aláírás hozzá lett adva a prezentációhoz, egy speciális üzenet jelenik meg a PowerPointban:
A prezentáció aláírásához vagy a prezentáció aláírásainak hitelességének ellenőrzéséhez az Aspose.Slides API a DigitalSignature osztályt, a DigitalSignatureCollection osztályt és a Presentation::getDigitalSignatures metódust biztosítja. Jelenleg a digitális aláírások csak a PPTX formátumhoz vannak támogatva.
Digitális aláírás hozzáadása PFX tanúsítványból
Az alábbi kódrészlet bemutatja, hogyan adhatunk digitális aláírást egy PFX tanúsítványból:
- Nyissa meg a PFX fájlt, és adja át a PFX jelszót a DigitalSignature objektumnak.
- Adja hozzá a létrehozott aláírást a prezentáció objektumhoz.
# A prezentációs fájl megnyitása
$pres = new Presentation();
try {
# DigitalSignature objektum létrehozása PFX fájllal és PFX jelszóval
$signature = new DigitalSignature("testsignature1.pfx", "testpass1");
# Új digitális aláírás megjegyzése
$signature->setComments("Aspose.Slides digital signing test.");
# Digitális aláírás hozzáadása a prezentációhoz
$pres->getDigitalSignatures()->add($signature);
# Prezentáció mentése
$pres->save("SomePresentationSigned.pptx", SaveFormat::Pptx);
} finally {
$pres->dispose();
}
Most már ellenőrizhető, hogy a prezentáció digitálisan aláírt‑e, és nem módosult‑e:
# Prezentáció megnyitása
$pres = new Presentation("SomePresentationSigned.pptx");
try {
if (java_values($pres->getDigitalSignatures()->size()) > 0) {
$allSignaturesAreValid = true;
echo("Signatures used to sign the presentation: ");
# Ellenőrizze, hogy az összes digitális aláírás érvényes-e
foreach($pres->getDigitalSignatures() as $signature) {
echo($signature->getComments() . ", " . $signature->getSignTime()->toString() . " -- " . $signature->isValid() ? "VALID" : "INVALID");
$allSignaturesAreValid &= $signature->isValid();
}
if ($allSignaturesAreValid) {
echo("Presentation is genuine, all signatures are valid.");
} else {
echo("Presentation has been modified since signing.");
}
}
} finally {
if (!java_is_null($pres)) {
$pres->dispose();
}
}
GYIK
Eltávolíthatok meglévő aláírásokat egy fájlból?
Igen. A digitális aláírások gyűjteménye támogatja az egyedi elemek eltávolítását és a teljes törlést; a fájl mentése után a prezentációnak nem lesz aláírása.
Válik a fájl aláírás után „csak olvashatóvá”?
Nem. Az aláírás megőrzi a integritást és a szerzői jogot, de nem akadályozza a szerkesztést. A szerkesztés korlátozásához kombinálja azt a “Read-only” vagy jelszó lehetőséggel.
Megjelenik‑e az aláírás helyesen a PowerPoint különböző verzióiban?
Az aláírás az OOXML (PPTX) konténerhez lett létrehozva. A modern PowerPoint verziók, amelyek támogatják az OOXML aláírásokat, helyesen jelenítik meg az ilyen aláírások állapotát.