PowerPoint におけるデジタル署名
デジタル証明書は、パスワードで保護されたPowerPointプレゼンテーションを作成し、特定の組織または個人が作成したことを示すために使用されます。デジタル証明書は、認可された組織(証明書発行機関)に連絡することで取得できます。システムにデジタル証明書をインストールした後、File → Info → Protect Presentation を使ってプレゼンテーションにデジタル署名を追加できます。
プレゼンテーションには複数のデジタル署名を含めることができます。デジタル署名がプレゼンテーションに追加されると、PowerPoint に特別なメッセージが表示されます。
プレゼンテーションに署名したり、署名の真正性を確認したりするために、Aspose.Slides API は DigitalSignature クラス、DigitalSignatureCollection クラス、および Presentation.getDigitalSignatures メソッドを提供します。現在、デジタル署名は PPTX 形式のみでサポートされています。
PFX 証明書からデジタル署名を追加
以下のコードサンプルは、PFX 証明書からデジタル署名を追加する方法を示しています。
- PFX ファイルを開き、PFX パスワードを DigitalSignature オブジェクトに渡します。
- 作成した署名をプレゼンテーション オブジェクトに追加します。
// プレゼンテーション ファイルを開く
var pres = new aspose.slides.Presentation();
try {
// PFX ファイルと PFX パスワードで DigitalSignature オブジェクトを作成
var signature = new aspose.slides.DigitalSignature("testsignature1.pfx", "testpass1");
// 新しいデジタル署名にコメントを付ける
signature.setComments("Aspose.Slides digital signing test.");
// デジタル署名をプレゼンテーションに追加
pres.getDigitalSignatures().add(signature);
// プレゼンテーションを保存
pres.save("SomePresentationSigned.pptx", aspose.slides.SaveFormat.Pptx);
} finally {
pres.dispose();
}
これで、プレゼンテーションがデジタル署名されているか、変更されていないかを確認できるようになります。
// プレゼンテーションを開く
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: ");
// すべてのデジタル署名が有効かどうかを確認
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();
}
}
FAQ
ファイルから既存の署名を削除できますか?
はい。デジタル署名コレクションは 個々の項目の削除 と コレクション全体のクリア をサポートしています。ファイルを保存すれば、プレゼンテーションに署名は残りません。
署名後にファイルは「読み取り専用」になりますか?
いいえ。署名は完全性と作者情報を保持しますが、編集をブロックしません。編集を制限したい場合は、“読み取り専用” またはパスワード と組み合わせて使用してください。
異なるバージョンの PowerPoint で署名は正しく表示されますか?
この署名は OOXML (PPTX) コンテナ用に作成されています。OOXML 署名に対応した最新の PowerPoint バージョンでは、署名の状態が正しく表示されます。