我想打开加密的OOXML文件,这些文件作为流存储在复合OLE文件中。微软有一个OOXML API(OOXML Format SDK 2.0,但它似乎缺乏操纵加密的OOXML文档的方法。所以,这有两个问题。
如何在C#中打开复合OLE文档?我发现了这个非常相似的问题,(reading compound documents in C#),但我希望可能有一种更清洁,更通用的方法,我错过了。
是否有一种高级方法来解密OLE文档中的EncryptedPackage
流?我发现的两个最佳参考是Decrypting Office Documents和MS-OFFCRYPTO Examples。 “解密Office文档”似乎成功解密,但它依赖于外部DLL( Lyquidity.OleStorage.dll )来打开OLE文档并且不适合我。 “MS-OFFCRYPTO示例”在C#中有一个示例来解密流,但使用C ++示例来获取流。这两个引用看起来都有效,但是有更高级别的API可以做同样的事情吗?
答案 0 :(得分:1)
简短回答:没有更高级别的API。 答案很长:MS-OFFCRYPTO Examples是如何解密它的最佳示例,但您必须使用库(或自己创建)与OLE文档进行交互。 OLE Structured Storage有很多图书馆,例如OpenMCDF和来自GemBox Software的图书馆