Frage

Ich mag verschlüsselte OOXML-Dateien öffnen, die als Ströme innerhalb einer Verbindung OLE-Datei gespeichert werden. Microsoft hat eine API für OOXML ( OOXML-Format SDK 2.0 , aber es scheint eine Art und Weise fehlen verschlüsselte OOXML-Dokumente zu manipulieren. Also, das bricht in zwei Fragen.

  • Wie Sie offene Verbindung OLE-Dokumente in C #? Ich fand die sehr ähnliche Frage, ( Lesen zusammengesetzte Dokumente in C # ), aber ich war Hoffnung, dass es vielleicht eine saubere und generische Art und Weise, es zu tun, dass ich verpaßt.

  • Gibt es einen High-Level-Weg, um den EncryptedPackage Strom innerhalb des OLE Dokuments zu entschlüsseln? Die beiden besten Referenzen, die ich gefunden habe, sind Decrypting Office-Dokumente und MS-OFFCRYPTO Beispiele . „Decrypting Office-Dokumente“ scheint erfolgreich zu entschlüsseln, aber es beruht auf einer externen DLL ( Lyquidity.OleStorage.dll ), um das Ole-Dokument zu öffnen, und nicht für mich arbeiten. „MS-OFFCRYPTO Examples“ hat ein Beispiel in C #, den Strom zu entschlüsseln, verwendet aber ein C ++ Beispiel den Strom zu erhalten. Beide Referenzen schauen, wie sie arbeiten, aber ist es eine höhere Level-API, die das gleiche tut?

War es hilfreich?

Lösung

Kurze Antwort: nein es gibt keinen höheren Level-API. Lange Antwort: die MS-OFFCRYPTO Beispiele das beste Beispiel dafür ist, wie es zu entschlüsseln, aber Sie haben zu verwenden, um eine Bibliothek (oder ein eigenes), um mit dem OLE-Dokument interagieren. Es gibt viele Bibliotheken für OLE Structured Storage wie OpenMCDF und die Bibliothek von Gembox Software

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top