PowerPointにおけるデジタル署名
Contents
[
Hide
]
デジタル証明書は、特定の組織または個人によって作成されたことを示すパスワード保護されたPowerPointプレゼンテーションを作成するために使用されます。デジタル証明書は、認可された組織である認証局に連絡することで取得できます。システムにデジタル証明書をインストールした後、ファイル -> 情報 -> プレゼンテーションを保護でプレゼンテーションにデジタル署名を追加するために使用できます:
プレゼンテーションには、複数のデジタル署名を含めることができます。デジタル署名がプレゼンテーションに追加されると、PowerPointに特別なメッセージが表示されます:
プレゼンテーションに署名するか、プレゼンテーションの署名の真正性を確認するために、Aspose.Slides APIはIDigitalSignatureインターフェース、IDigitalSignatureCollectionインターフェース、IPresentation.DigitalSignaturesプロパティを提供します。現在、デジタル署名はPPTX形式にのみ対応しています。
PFX証明書からデジタル署名を追加する
以下のコードサンプルは、PFX証明書からデジタル署名を追加する方法を示しています:
- PFXファイルを開き、PFXパスワードをDigitalSignatureオブジェクトに渡します。
- 作成した署名をプレゼンテーションオブジェクトに追加します。
#[TODO:Exception] RuntimeError: Proxy error(FileNotFoundException): Could not load file or assembly 'System.Security.Cryptography.Xml, Version=4.0.2.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51'. File was not found.
import aspose.slides as slides
with slides.Presentation() as pres:
# PFXファイルとPFXパスワードでDigitalSignatureオブジェクトを作成
signature = slides.DigitalSignature(path + "testsignature1.pfx", "testpass1")
# 新しいデジタル署名のコメント
signature.comments = "Aspose.Slidesデジタル署名テスト。"
# プレゼンテーションにデジタル署名を追加
pres.digital_signatures.add(signature)
# プレゼンテーションを保存
pres.save("SomePresentationSigned.pptx", slides.export.SaveFormat.PPTX)
プレゼンテーションがデジタル署名され、変更されていないか確認することができます:
# プレゼンテーションを開く
with slides.Presentation("SomePresentationSigned.pptx") as pres:
if len(pres.digital_signatures) > 0:
allSignaturesAreValid = True
print("プレゼンテーションに署名された署名:")
# すべてのデジタル署名の有効性を確認
for signature in pres.digital_signatures:
print(signature.certificate.subject_name.name + ", "
+ signature.sign_time.strftime("yyyy-MM-dd HH:mm") + " -- " + "有効" if signature.is_valid else "無効")
allSignaturesAreValid = allSignaturesAreValid and signature.is_valid
if allSignaturesAreValid:
print("プレゼンテーションは真正であり、すべての署名が有効です。")
else:
print("プレゼンテーションは署名後に変更されました。")