我想打开加密的OOXML文件,这些文件作为流存储在复合OLE文件中。 Microsoft有一个面向OOXML的API(OOXML Format SDK 2.0,但似乎缺乏一种处理加密的OOXML文档的方法。因此,这分为两个问题。


如何在C#中打开复合OLE文档?我发现了一个非常相似的问题,(reading compound documents in C#),但我希望我可能错过了一种更干净,更通用的方法。
是否有高级方法可以解密OLE文档中的EncryptedPackage流?我找到的两个最佳参考是Decrypting Office DocumentsMS-OFFCRYPTO Examples。 “解密Office文档”似乎已成功解密,但是它依赖于外部DLL(Lyquidity.OleStorage.dll)打开OLE文档,但对我不起作用。 “ MS-OFFCRYPTO示例”在C#中具有解密流的示例,但使用C ++示例来获取流。这两个引用看起来都可以正常工作,但是有没有做同样事情的高级API?

最佳答案

简短的回答:没有更高级别的API。
长答案:MS-OFFCRYPTO Examples是如何解密它的最佳示例,但是您将不得不使用一个库(或自己创建)与OLE文档进行交互。 OLE Structured Storage的库很多,例如OpenMCDFGemBox Software的库

10-07 19:43
查看更多