Lägg till digitala signaturer i presentationer på Android
Introduktion
Digitalt certifikat används för att skapa en lösenordsskyddad PowerPoint‑presentation, markerad som skapad av en viss organisation eller person. Digitalt certifikat kan erhållas genom att kontakta en auktoriserad organisation – en certifikatutfärdare. Efter att digitalt certifikat har installerats i systemet kan det användas för att lägga till en digital signatur i presentationen via Arkiv -> Info -> Skydda presentation:
Presentation kan innehålla mer än en digital signatur. Efter att den digitala signaturen har lagts till i presentationen visas ett särskilt meddelande i PowerPoint:
För att signera en presentation eller kontrollera äktheten hos presentationssignaturer tillhandahåller Aspose.Slides API gränssnittet IDigitalSignature, gränssnittet IDigitalSignatureCollection och metoden IPresentation.getDigitalSignatures . För närvarande stöds digitala signaturer endast för PPTX‑format.
Lägg till en digital signatur från ett PFX‑certifikat
Kodexemplet nedan visar hur man lägger till en digital signatur från ett PFX‑certifikat:
- Öppna PFX‑filen och skicka PFX‑lösenordet till DigitalSignature‑objektet.
- Lägg till den skapade signaturen i presentationsobjektet.
// Öppnar presentationsfilen
Presentation pres = new Presentation();
try {
// Skapa DigitalSignature-objekt med PFX-fil och PFX-lösenord
DigitalSignature signature = new DigitalSignature("testsignature1.pfx", "testpass1");
// Kommentera ny digital signatur
signature.setComments("Aspose.Slides digital signing test.");
// Lägg till digital signatur i presentationen
pres.getDigitalSignatures().add(signature);
// Spara presentationen
pres.save("SomePresentationSigned.pptx", SaveFormat.Pptx);
} finally {
pres.dispose();
}
Nu är det möjligt att kontrollera om presentationen har signerats digitalt och inte har modifierats:
// Öppna presentationen
Presentation pres = new Presentation("SomePresentationSigned.pptx");
try {
if (pres.getDigitalSignatures().size() > 0)
{
boolean allSignaturesAreValid = true;
System.out.println("Signatures used to sign the presentation: ");
// Kontrollera om alla digitala signaturer är giltiga
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();
}
Vanliga frågor
Kan jag ta bort befintliga signaturer från en fil?
Ja. Samlingen av digitala signaturer stödjer att ta bort enskilda objekt och att rensa den helt; efter att du sparat filen kommer presentationen inte ha några signaturer.
Blir filen “skrivskyddad” efter signering?
Nej. En signatur bevarar integritet och författarskap men hindrar inte redigering. För att begränsa redigering kan du kombinera den med “Read-only” eller ett lösenord.
Kommer signaturen att visas korrekt i olika versioner av PowerPoint?
Signaturen är skapad för OOXML‑behållaren (PPTX). Moderna versioner av PowerPoint som stödjer OOXML‑signaturer visar statusen för sådana signaturer korrekt.