Java’da Sunumlara Dijital İmzalar Ekleyin

Giriş

Digital certificate bir şifre korumalı PowerPoint sunumu oluşturmak için kullanılır ve belirli bir kuruluş veya kişi tarafından oluşturulmuş olarak işaretlenir. Digital certificate, yetkili bir kuruluş—bir sertifika otoritesi—ile iletişime geçilerek elde edilebilir. Digital certificate sisteminize kurulduktan sonra, Dosya -> Bilgi -> Sunumu Koru aracılığıyla sunuma dijital imza eklemek için kullanılabilir:

todo:image_alt_text

Sunum birden fazla dijital imza içerebilir. Dijital imza sunuma eklendikten sonra PowerPoint’te özel bir mesaj görüntülenir:

todo:image_alt_text

Sunumu imzalamak veya sunum imzalarının özgünlüğünü kontrol etmek için Aspose.Slides API, IDigitalSignature arayüzünü, IDigitalSignatureCollection arayüzünü ve IPresentation.getDigitalSignatures yöntemini sağlar. Şu anda dijital imzalar yalnızca PPTX formatı için desteklenmektedir.

PFX Sertifikasından Dijital İmza Ekleme

Aşağıdaki kod örneği, bir PFX sertifikasından dijital imza eklemeyi gösterir:

  1. PFX dosyasını açın ve PFX parolasını DigitalSignature nesnesine iletin.
  2. Oluşturulan imzayı sunum nesnesine ekleyin.
// Sunum dosyasını açma
Presentation pres = new Presentation();
try {
    // PFX dosyası ve PFX parolasıyla DigitalSignature nesnesi oluştur
    DigitalSignature signature = new DigitalSignature("testsignature1.pfx", "testpass1");

    // Yeni dijital imzaya yorum ekle
    signature.setComments("Aspose.Slides digital signing test.");

    // Dijital imzayı sunuma ekle
    pres.getDigitalSignatures().add(signature);

    // Sunumu kaydet
    pres.save("SomePresentationSigned.pptx", SaveFormat.Pptx);
} finally {
    pres.dispose();
}

Artık sunumun dijital olarak imzalı olup olmadığını ve değiştirilip değiştirilmediğini kontrol etmek mümkündür:

// Sunumu aç
Presentation pres = new Presentation("SomePresentationSigned.pptx");
try {
    if (pres.getDigitalSignatures().size() > 0)
    {
        boolean allSignaturesAreValid = true;

        System.out.println("Signatures used to sign the presentation: ");

        // Tüm dijital imzaların geçerli olup olmadığını kontrol et
        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();
}

SSS

Bir dosyadaki mevcut imzaları kaldırabilir miyim?

Evet. Dijital imza koleksiyonu, bireysel öğeleri kaldırmayı ve tamamen temizlemeyi destekler; dosyayı kaydettikten sonra sunumda imza bulunmayacaktır.

Dosya imzalandıktan sonra “yalnızca okunur” olur mu?

Hayır. Bir imza bütünlüğü ve yazarlığı korur ancak düzenlemeyi engellemez. Düzenlemeyi kısıtlamak için bunu “Yalnızca okunur” veya bir şifre ile birleştirin.

İmza farklı PowerPoint sürümlerinde doğru şekilde görüntülenir mi?

İmza OOXML (PPTX) kapsayıcısı için oluşturulmuştur. OOXML imzalarını destekleyen modern PowerPoint sürümleri, bu imzaların durumunu doğru bir şekilde gösterir.