Sunumlara JavaScript'te Dijital İmzalar Ekle

Giriş

Digital certificate şifre korumalı bir PowerPoint sunumu oluşturmak için kullanılır ve belirli bir organizasyon 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 yoluyla sunuma bir dijital imza eklemek için kullanılabilir:

todo:image_alt_text

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

todo:image_alt_text

Sunumu imzalamak veya imzaların doğruluğunu kontrol etmek için Aspose.Slides API, DigitalSignature sınıfını, DigitalSignatureCollection sınıfını ve Presentation.getDigitalSignatures metodunu sağlar. Şu anda dijital imzalar yalnızca PPTX formatı için desteklenmektedir.

PFX Sertifikasından Dijital İmza Ekle

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

  1. PFX dosyasını açın ve PFX şifresini DigitalSignature nesnesine iletin.
  2. Oluşturulan imzayı sunum nesnesine ekleyin.
// Sunum dosyasını açma
var pres = new aspose.slides.Presentation();
try {
    // PFX dosyası ve PFX şifresiyle DigitalSignature nesnesi oluştur
    var signature = new aspose.slides.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", aspose.slides.SaveFormat.Pptx);
} finally {
    pres.dispose();
}

Artık sunumun dijital olarak imzalanıp imzalanmadığını ve değiştirilip değiştirilmediğini kontrol etmek mümkün:

// Sunumu aç
var pres = new aspose.slides.Presentation("SomePresentationSigned.pptx");
try {
    if (pres.getDigitalSignatures().size() > 0) {
        var allSignaturesAreValid = true;
        console.log("Signatures used to sign the presentation: ");
        // Tüm dijital imzaların geçerli olup olmadığını kontrol et
        for (let i = 0; i < pres.getDigitalSignatures().size(); i++) {
        let signature = pres.getDigitalSignatures().get_Item(i);
            console.log((((signature.getComments() + ", ") + signature.getSignTime().toString()) + " -- ") + (signature.isValid() ? "VALID" : "INVALID"));
            allSignaturesAreValid &= signature.isValid();
        }
        if (allSignaturesAreValid) {
            console.log("Presentation is genuine, all signatures are valid.");
        } else {
            console.log("Presentation has been modified since signing.");
        }
    }
} finally {
    if (pres != null) {
        pres.dispose();
    }
}

SSS

Bir dosyadan mevcut imzaları kaldırabilir miyim?

Evet. Dijital imza koleksiyonu, removing individual items ve clearing it entirely destekler; dosyayı kaydettikten sonra sunumun imzası olmayacaktır.

İmzaladıktan sonra dosya “salt okunur” olur mu?

Hayır. Bir imza bütünlüğü ve sahipliği korur ancak düzenlemeleri engellemez. Düzenlemeyi kısıtlamak için bunu “Read-only” or a password ile birleştirin.

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

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