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ę:

todo:image_alt_text

Prezentacja może zawierać więcej niż jeden podpis cyfrowy. Po dodaniu podpisu cyfrowego do prezentacji w PowerPoint pojawi się specjalny komunikat:

todo:image_alt_text

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:

  1. Otwórz plik PFX i przekaż hasło PFX do obiektuDigitalSignature.
  2. 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.