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:
Sunum birden fazla dijital imza içerebilir. Dijital imza eklendikten sonra, PowerPoint’te özel bir mesaj görüntülenir:
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:
- PFX dosyasını açın ve PFX şifresini DigitalSignature nesnesine iletin.
- 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.