C++を使用してPowerPointファイルを保護する

Microsoft PowerPointは、会議やディスカッションで使用する見事なスライドを作成できる、強力で機能豊富なソフトウェアです。プレゼンテーションに保護したい機密情報が含まれている場合があります。このような場合、プレゼンテーションファイルをパスワードで保護すると便利です。一方、プレゼンテーションを最終的なものとしてマークし、その内容を変更したくない場合は、プレゼンテーションファイルにデジタル署名することができます。署名が有効である限り、プレゼンテーションファイルが変更されていないことを確信できます。これに照らして、この記事では、C++を使用してパスワードまたはデジタル署名でPowerPointプレゼンテーションを保護する方法を説明します。

PowerPointファイルを保護するためのC++API

Aspose.Slides for C++は、PowerPointファイルの作成、読み取り、および変更を可能にする機能豊富なC++ライブラリです。さらに、APIは、パスワードとデジタル署名を使用したPowerPointファイルの保護をサポートしています。 APIは、NuGetからインストールするか、ダウンロードセクションから直接ダウンロードできます。

PM> Install-Package Aspose.Slides.Cpp

PowerPointファイルをパスワードで保護する

以下は、PowerPointプレゼンテーションをパスワードで保護するための手順です。

以下は、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プレゼンテーションを保護するための手順です。

以下は、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ファイルのデジタル署名を確認する手順です。

以下は、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を詳細に調べることができます。ご不明な点がございましたら、無料サポートフォーラムまでお気軽にお問い合わせください。

関連項目