PowerPointにおけるデジタル署名
Contents
[
Hide
]
デジタル証明書は、特定の組織または個人によって作成されたことを示すパスワード保護されたPowerPointプレゼンテーションを作成するために使用されます。デジタル証明書は、認可された組織 - 証明書機関に連絡することで入手できます。デジタル証明書をシステムにインストールした後、ファイル -> 情報 -> プレゼンテーションを保護の経路で、プレゼンテーションにデジタル署名を追加するために使用できます:
プレゼンテーションには、複数のデジタル署名を含めることができます。デジタル署名がプレゼンテーションに追加されると、PowerPointに特別なメッセージが表示されます:
プレゼンテーションに署名するか、プレゼンテーションの署名の真正性を確認するために、Aspose.Slides APIはIDigitalSignatureインターフェース、IDigitalSignatureCollectionインターフェース、およびIPresentation.getDigitalSignaturesメソッドを提供します。現在、デジタル署名はPPTX形式のみサポートされています。
PFX証明書からデジタル署名を追加する
以下のコードサンプルは、PFX証明書からデジタル署名を追加する方法を示しています:
- PFXファイルを開き、PFXパスワードをDigitalSignatureオブジェクトに渡します。
- 作成した署名をプレゼンテーションオブジェクトに追加します。
// プレゼンテーションファイルを開く
Presentation pres = new Presentation();
try {
// PFXファイルとPFXパスワードを使用してDigitalSignatureオブジェクトを作成
DigitalSignature signature = new DigitalSignature("testsignature1.pfx", "testpass1");
// 新しいデジタル署名にコメントを追加
signature.setComments("Aspose.Slidesデジタル署名テスト。");
// プレゼンテーションにデジタル署名を追加
pres.getDigitalSignatures().add(signature);
// プレゼンテーションを保存
pres.save("SomePresentationSigned.pptx", SaveFormat.Pptx);
} finally {
pres.dispose();
}
これにより、プレゼンテーションがデジタル署名されたかどうか、また変更されていないかを確認することが可能です:
// プレゼンテーションを開く
Presentation pres = new Presentation("SomePresentationSigned.pptx");
try {
if (pres.getDigitalSignatures().size() > 0)
{
boolean allSignaturesAreValid = true;
System.out.println("プレゼンテーションに署名するために使用された署名: ");
// すべてのデジタル署名が有効かどうか確認
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("プレゼンテーションは本物であり、すべての署名が有効です。");
else
System.out.println("署名以来、プレゼンテーションが変更されました。");
}
} finally {
if (pres != null) pres.dispose();
}