Microsoft PowerPointは、会議やディスカッションで使用する見事なスライドを作成できる、強力で機能豊富なソフトウェアです。プレゼンテーションに保護したい機密情報が含まれている場合があります。このような場合、プレゼンテーションファイルをパスワードで保護すると便利です。一方、プレゼンテーションを最終的なものとしてマークし、その内容を変更したくない場合は、プレゼンテーションファイルにデジタル署名することができます。署名が有効である限り、プレゼンテーションファイルが変更されていないことを確信できます。これに照らして、この記事では、C++を使用してパスワードまたはデジタル署名でPowerPointプレゼンテーションを保護する方法を説明します。
- PowerPointファイルを保護するためのC++API
- PowerPointファイルをパスワードで保護する
- デジタル署名によるPowerPointファイルの保護
- C++を使用してデジタル署名されたPowerPointファイルを確認する
- 無料ライセンスを取得する
PowerPointファイルを保護するためのC++API
Aspose.Slides for C++は、PowerPointファイルの作成、読み取り、および変更を可能にする機能豊富なC++ライブラリです。さらに、APIは、パスワードとデジタル署名を使用したPowerPointファイルの保護をサポートしています。 APIは、NuGetからインストールするか、ダウンロードセクションから直接ダウンロードできます。
PM> Install-Package Aspose.Slides.Cpp
PowerPointファイルをパスワードで保護する
以下は、PowerPointプレゼンテーションをパスワードで保護するための手順です。
- まず、Presentationクラスを使用してPowerPointファイルをロードします。
- Presentation->getProtectionManager()->Encrypt(System::String EncryptionPassword)メソッドを使用して、パスワードでプレゼンテーションを暗号化します。
- 最後に、Presentation->Save(System::String name, Export::SaveFormat format)メソッドを使用して保護されたプレゼンテーションを保存します。
以下は、C++を使用してパスワードでPowerPointプレゼンテーションを保護するためのサンプルコードです。
// ファイルパス
const String sourceFilePath = u"SourceDirectory\\SamplePresentation.pptx";
const String outputFilePath = u"OutputDirectory\\protected-presentation.pptx";
// プレゼンテーションファイルをロードする
SharedPtr<Presentation> presentation = MakeObject<Presentation>(sourceFilePath);
// パスワードでプレゼンテーションを保護する
presentation->get_ProtectionManager()->Encrypt(u"password");
// プレゼンテーションを保存する
presentation->Save(outputFilePath, SaveFormat::Pptx);
デジタル署名によるPowerPointファイルの保護
以下は、デジタル署名でPowerPointプレゼンテーションを保護するための手順です。
- まず、Presentationクラスを使用してPowerPointプレゼンテーションをロードします。
- 証明書ファイルとパスワードを使用して、DigitalSignatureクラスのオブジェクトを作成します。
- DigitalSignature->setComments(System::String value)メソッドを使用してコメントを追加します。
- Presentation->getDigitalSignatures()->Add(System::SharedPtr digitalSignature)メソッド。
- 最後に、Presentation->Save(System::String name, Export::SaveFormat format)メソッドを使用して署名されたプレゼンテーションを保存します。
以下は、C++を使用してデジタル署名でPowerPointファイルを保護するためのサンプルコードです。
// ファイルパス
const String sourceFilePath = u"SourceDirectory\\SamplePresentation.pptx";
const String signatureFilePath = u"SourceDirectory\\testsignature1.pfx";
const String outputFilePath = u"OutputDirectory\\digital-signature-presentation.pptx";
// プレゼンテーションファイルをロードする
SharedPtr<Presentation> presentation = MakeObject<Presentation>(sourceFilePath);
// PFXファイルとパスワードを使用してDigitalSignatureオブジェクトを作成します
SharedPtr<DigitalSignature> signature = MakeObject<DigitalSignature>(signatureFilePath, u"testpass1");
// コメントを追加する
signature->set_Comments(u"Test Comments");
// プレゼンテーションにデジタル署名を追加する
presentation->get_DigitalSignatures()->Add(signature);
// プレゼンテーションを保存する
presentation->Save(outputFilePath, SaveFormat::Pptx);
C++を使用してデジタル署名されたPowerPointファイルを確認する
Aspose.Slides for C++ APIは、デジタル署名されたPowerPointファイルを検証する機能も提供します。以下は、PowerPointファイルのデジタル署名を確認する手順です。
- Presentationクラスを使用してPowerPointプレゼンテーションをロードします。
- Presentation->getDigitalSignatures()->getCount()メソッドを使用して、デジタル署名の存在を確認します。
- プレゼンテーションにデジタル署名が含まれている場合は、それらをループします。
- ループ内で、Presentation->getDigitalSignatures()->idx_get(int32_t index)メソッドを使用して各デジタル署名にアクセスします。
- 有効な署名に対してtrueを返すDigitalSignature->getIsValid()メソッドを使用して、デジタル署名の有効性を確認します。
以下は、C++を使用してPowerPointファイルのデジタル署名を検証するためのサンプルコードです。
// ファイルパス
const String sourceFilePath = u"SourceDirectory\\digital-signature-presentation.pptx";
// プレゼンテーションファイルをロードする
SharedPtr<Presentation> presentation = MakeObject<Presentation>(sourceFilePath);
// プレゼンテーションにデジタル署名があるかどうかを確認します
if (presentation->get_DigitalSignatures()->get_Count() > 0)
{
bool allSignaturesAreValid = true;
Console::WriteLine(u"Signatures used to sign the presentation: ");
// デジタル署名を確認する
for (int i = 0; i < presentation->get_DigitalSignatures()->get_Count(); i++)
{
SharedPtr<IDigitalSignature> signature = presentation->get_DigitalSignatures()->idx_get(i);
Console::WriteLine(System::Convert::ToString(signature->get_SignTime()) + u" -- " + (signature->get_IsValid() ? u"VALID" : u"INVALID"));
if (signature->get_IsValid() == false)
{
allSignaturesAreValid = false;
}
}
if (allSignaturesAreValid)
{
Console::WriteLine(u"Presentation is genuine, all signatures are valid.");
}
else
{
Console::WriteLine(u"Presentation has been modified since signing.");
}
}
無料ライセンスを取得する
無料の一時ライセンスをリクエストすることで、評価の制限なしにAPIを試すことができます。
結論
この記事では、C++を使用してパスワードとデジタル署名でPowerPointプレゼンテーションを保護する方法を学習しました。さらに、デジタル署名を検証することにより、プレゼンテーションファイルの整合性を検証する方法を見てきました。 Aspose.Slides for C++ APIには、プレゼンテーションファイルの操作を簡単にする多くの機能があります。 公式ドキュメントを使用して、APIを詳細に調べることができます。ご不明な点がございましたら、無料サポートフォーラムまでお気軽にお問い合わせください。