2009-05-13 14 views
5

Estoy intentando comprender cómo se incluyen los documentos de Office 2007 encriptados ("protegidos con contraseña") (específicamente, documentos de Excel). Estoy experimentando con una hoja de cálculo conocida y protegida con contraseña.Office Open XML (OOXML) Especificación: Cifrado

Cuando descomprima el archivo XLSX, me encuentro con tres entradas:

  • [6] DataSpaces (Directorio)
  • EncryptionInfo (Archivo)
  • EncryptedPackage (Archivo)

Cómo ¿Está cifrado el archivo EncryptedPackage (qué cifra, qué función de derivación de clave, etc.)?

He intentado hacer referencia a the documentation, pero no he tenido mucho éxito.

Respuesta

6

El cifrado de archivos no es parte de las especificaciones OpenXML ECMA/ISO. Es un estándar específico del vendedor además de eso. Para la especificación por favor, echa un vistazo a

[MS-OFFCRYPTO]: Office Document Cryptography Structure Specification

documentos OpenXML cifrados no se almacenan como un paquete postal OPC, sino como un paquete OPC encriptado dentro de un documento compuesto OLE.

4

Creé un contenedor OoXmlCrypto stream, que conecta varias partes y piezas de código abierto para acceder fácilmente a los archivos encriptados de Office 2007.

Esto answer puede ser útil.

Resulta [6] DataSpaces se ignora, pero se usan otras dos partes. El archivo cifrado XLSX no está realmente comprimido, es un contenedor compuesto OLE. Si quitas las partes y las comprimes con 7zip, Excel no las abre.

Cuestiones relacionadas