Спецификация офис открытого XML (от OOXML): шифрование
Я пытаюсь понять, как шифруются ("защищенные паролем") документы Office 2007 (в частности, документы Excel). Я экспериментирую с известным, защищенным паролем листом.
когда я распаковываю файл XLSX, я сталкиваюсь с тремя записями:
- [6]DataSpaces (Каталог)
- EncryptionInfo (Файл)
- EncryptedPackage (Файл)
Как зашифрован файл EncryptedPackage (какой шифр, какая ключевая функция деривации и т. д...)?
Я пробовал ссылки документация, но у меня не было большого успеха.
2 ответов
шифрование файлов не является частью спецификаций OpenXML ECMA/ISO. Это вендора стандартный сверху. Для спецификации, пожалуйста, проверьте
[MS-OFFCRYPTO]: спецификация структуры криптографии документов Office
зашифрованные документы OpenXML хранятся не как zip-пакет OPC, а как зашифрованный OPC-пакет внутри составного OLE-документа.
Я создал поток OoXmlCrypto обертка, соединяющая несколько битов с открытым исходным кодом для легкого доступа к зашифрованным файлам Office 2007.
этой ответ может быть полезным.
оказывается [6]DataSpaces игнорируется, но используются другие две части. Зашифрованный файл XLSX на самом деле не молнии, это Ole составной контейнер. Если вы берете детали и zip их с помощью 7zip, Excel не открывает его.