Dodaj podpisy cyfrowe do prezentacji na Androidzie
Wprowadzenie
Certyfikat cyfrowy jest używany do tworzenia prezentacji PowerPoint chronionej hasłem, oznaczonej jako utworzonej przez określoną organizację lub osobę. Certyfikat cyfrowy można uzyskać, kontaktując się z autoryzowaną organizacją – urzędem certyfikacji. Po zainstalowaniu certyfikatu cyfrowego w systemie można go używać do dodania podpisu cyfrowego do prezentacji za pomocą Plik->Info->Chroń prezentację:
Prezentacja może zawierać więcej niż jeden podpis cyfrowy. Po dodaniu podpisu cyfrowego do prezentacji w PowerPoint pojawi się specjalny komunikat:
Aby podpisać prezentację lub sprawdzić autentyczność podpisów w prezentacji, Aspose.Slides API udostępnia interfejsIDigitalSignature, interfejsIDigitalSignatureCollection oraz metodęIPresentation.getDigitalSignatures. Obecnie podpisy cyfrowe są obsługiwane tylko dla formatu PPTX.
Dodaj podpis cyfrowy z certyfikatu PFX
Poniższy przykład kodu pokazuje, jak dodać podpis cyfrowy z certyfikatu PFX:
- Otwórz plik PFX i przekaż hasło PFX do obiektuDigitalSignature.
- Dodaj utworzony podpis do obiektu prezentacji.
// Otwieranie pliku prezentacji
Presentation pres = new Presentation();
try {
// Utwórz obiekt DigitalSignature z plikiem PFX i hasłem PFX
DigitalSignature signature = new DigitalSignature("testsignature1.pfx", "testpass1");
// Dodaj komentarz do nowego podpisu cyfrowego
signature.setComments("Aspose.Slides digital signing test.");
// Dodaj podpis cyfrowy do prezentacji
pres.getDigitalSignatures().add(signature);
// Zapisz prezentację
pres.save("SomePresentationSigned.pptx", SaveFormat.Pptx);
} finally {
pres.dispose();
}
Teraz można sprawdzić, czy prezentacja została podpisana cyfrowo i nie została zmodyfikowana:
// Otwórz prezentację
Presentation pres = new Presentation("SomePresentationSigned.pptx");
try {
if (pres.getDigitalSignatures().size() > 0)
{
boolean allSignaturesAreValid = true;
System.out.println("Signatures used to sign the presentation: ");
// Sprawdź, czy wszystkie podpisy cyfrowe są prawidłowe
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();
}
FAQ
Czy mogę usunąć istniejące podpisy z pliku?
Tak. Kolekcja podpisów cyfrowych obsługuje usuwanie poszczególnych elementów oraz czyszczenie całej kolekcji; po zapisaniu pliku prezentacja nie będzie zawierała żadnych podpisów.
Czy plik staje się „tylko do odczytu” po podpisaniu?
Nie. Podpis zachowuje integralność i autorstwo, ale nie blokuje edycji. Aby ograniczyć edycję, połącz go z “Tylko do odczytu” lub hasło.
Czy podpis będzie wyświetlany prawidłowo w różnych wersjach PowerPointa?
Podpis jest tworzony dla kontenera OOXML (PPTX). Nowoczesne wersje PowerPoint, które obsługują podpisy OOXML, wyświetlają status takich podpisów prawidłowo.