Menambahkan Tanda Tangan Digital ke Presentasi dengan Python
Pendahuluan
Sertifikat digital digunakan untuk membuat presentasi PowerPoint yang dilindungi password, ditandai sebagai dibuat oleh organisasi atau orang tertentu. Sertifikat digital dapat diperoleh dengan menghubungi organisasi yang berwenang – otoritas sertifikat. Setelah menginstal sertifikat digital ke dalam sistem, dapat digunakan untuk menambahkan tanda tangan digital ke presentasi melalui File -> Info -> Protect Presentation:
Presentasi dapat berisi lebih dari satu tanda tangan digital. Setelah tanda tangan digital ditambahkan ke presentasi, pesan khusus akan muncul di PowerPoint:
Untuk menandatangani presentasi atau memeriksa keaslian tanda tangan presentasi, Aspose.Slides API menyediakan kelas DigitalSignature , kelas DigitalSignatureCollection dan properti Presentation.digital_signatures . Saat ini, tanda tangan digital hanya didukung untuk format PPTX.
Menambahkan Tanda Tangan Digital dari Sertifikat PFX
Contoh kode di bawah menunjukkan cara menambahkan tanda tangan digital dari sertifikat PFX:
- Buka file PFX dan berikan password PFX ke objek DigitalSignature .
- Tambahkan tanda tangan yang dibuat ke objek presentasi.
import aspose.slides as slides
with slides.Presentation() as pres:
# Buat objek DigitalSignature dengan file PFX dan password PFX
signature = slides.DigitalSignature(path + "testsignature1.pfx", "testpass1")
# Komentar tanda tangan digital baru
signature.comments = "Aspose.Slides digital signing test."
# Tambahkan tanda tangan digital ke presentasi
pres.digital_signatures.add(signature)
# simpan presentasi
pres.save("SomePresentationSigned.pptx", slides.export.SaveFormat.PPTX)
Sekarang dimungkinkan untuk memeriksa apakah presentasi telah ditandatangani secara digital dan belum dimodifikasi:
# Buka presentasi
with slides.Presentation("SomePresentationSigned.pptx") as pres:
if len(pres.digital_signatures) > 0:
allSignaturesAreValid = True
print("Signatures used to sign the presentation: ")
# Periksa apakah semua tanda tangan digital valid
for signature in pres.digital_signatures :
print(signature.certificate.subject_name.name + ", "
+ signature.sign_time.strftime("yyyy-MM-dd HH:mm") + " -- " + "VALID" if signature.is_valid else "INVALID")
allSignaturesAreValid = allSignaturesAreValid and signature.is_valid
if allSignaturesAreValid:
print("Presentation is genuine, all signatures are valid.")
else:
print("Presentation has been modified since signing.")
FAQ
Apakah saya dapat menghapus tanda tangan yang ada dari file?
Ya. Koleksi tanda tangan digital mendukung menghapus item individual dan mengosongkannya sepenuhnya ; setelah Anda menyimpan file, presentasi tidak akan memiliki tanda tangan.
Apakah file menjadi “read-only” setelah ditandatangani?
Tidak. Tanda tangan mempertahankan integritas dan kepengarangan tetapi tidak menghalangi perubahan. Untuk membatasi pengeditan, gabungkan dengan “Read-only” atau password.
Apakah tanda tangan akan ditampilkan dengan benar di versi PowerPoint yang berbeda?
Tanda tangan dibuat untuk kontainer OOXML (PPTX). Versi PowerPoint modern yang mendukung tanda tangan OOXML menampilkan status tanda tangan tersebut dengan benar.