2

複合OLEファイル内にストリームとして保存されている暗号化されたOOXMLファイルを開きたい。MicrosoftにはOOXML用のAPIがあります(OOXML Format SDK 2.0ですが、暗号化されたOOXMLドキュメントを操作する方法がないようです。したがって、これは2つの質問に分かれます。

  • C#で複合OLEドキュメントを開くにはどうすればよいですか?私はこれと非常によく似た質問(C#で複合文書を読む)を見つけましたが、私が見逃した、よりクリーンでより一般的な方法があるのではないかと期待していました。

  • EncryptedPackageOLEドキュメント内のストリームを復号化するための高レベルの方法はありますか?私が見つけた2つの最良の参考資料は、 Officeドキュメントの復号化MS-OFFCRYPTOの例です。「Officeドキュメントの復号化」は正常に復号化されているようですが、外部DLL(Lyquidity.OleStorage.dll)に依存してOLEドキュメントを開くため、機能しませんでした。「MS-OFFCRYPTOの例」には、ストリームを復号化するためのC#の例がありますが、ストリームを取得するためにC++の例を使用しています。これらの参照はどちらも機能しているように見えますが、同じことを行う高レベルのAPIはありますか?

4

1 に答える 1

1

簡単な答え:いいえ、より高いレベルのAPIはありません。長い答え:MS-OFFCRYPTOの例は、それを復号化する方法の最良の例ですが、OLEドキュメントを操作するには、ライブラリを使用する(または独自に作成する)必要があります。OpenMCDFやGemBoxSoftwareのライブラリなどOLE構造化ストレージ用のライブラリは多数あります。

于 2010-12-23T16:00:39.133 に答える