2009-05-13 4 views
5

Ich versuche zu verstehen, wie verschlüsselt ("passwortgeschützt") Office 2007-Dokumente gebündelt werden (insbesondere Excel-Dokumente). Ich experimentiere mit einem bekannten, passwortgeschützten Tabellenblatt.Office Open XML (OOXML) Spezifikation: Verschlüsselung

Wenn ich die XLSX-Datei entpacken, in denen ich drei Einträge:

  • [6] Datenräume (Directory)
  • EncryptionInfo (File)
  • EncryptedPackage (File)

Wie ist die EncryptedPackage Datei verschlüsselt (welche Chiffre, welche Schlüsselableitungsfunktion, etc ...)?

Ich habe versucht, the documentation Referenzieren, aber ich hatte nicht viel Erfolg.

Antwort

6

Dateiverschlüsselung ist nicht Teil der OpenXML ECMA/ISO-Spezifikationen. Darüber hinaus ist es ein herstellerspezifischer Standard. Für die Spezifikation überprüfen Sie bitte

[MS-OFFCRYPTO]: Office Document Cryptography Structure Specification

Verschlüsselte OpenXML-Dokumente werden als OPC-ZIP-Paket nicht gespeichert, sondern als verschlüsseltes OPC-Paket innerhalb einer Verbindung OLE-Dokument.

4

Ich habe einen OoXmlCrypto stream Wrapper erstellt, der mehrere Open-Source-Teile miteinander verbindet, um problemlos auf Office 2007-verschlüsselte Dateien zugreifen zu können.

Diese answer könnte hilfreich sein.

Es wird ausgegeben [6] DataSpaces wird ignoriert, aber andere zwei Teile werden verwendet. Die verschlüsselte XLSX-Datei ist nicht wirklich gezippt, sondern ein OLE-Compound-Container. Wenn Sie die Teile herausnehmen und mit 7zip komprimieren, wird sie von Excel nicht geöffnet.