nolze / msoffcrypto-tool

Python tool and library for decrypting and encrypting MS Office files using passwords or other keys
https://msoffcrypto-tool.readthedocs.io/
MIT License
556 stars 89 forks source link

Encrypted File raises FileFormatError: Unrecognized file format, using Sensitivity Label #78

Open philmae opened 1 year ago

philmae commented 1 year ago

I have a file protected with a company Sensitivity Label encrypted and am trying to open it, but get an error Unrecognized file format. image

import msoffcrypto
protected = './protected.xlsx'
unprotected = './unprotected.xlsx'

with open(protected, 'rb') as f:
   ms_file = OfficeFile(f)
   print(ms_file)

And I get FileFormatError: Unrecognized file format

Also, when checking .is_encrypted(), the file gives the same issue.

with open(protected, 'rb') as f:
   ms_file = OfficeFile(f).is_encrypted()
   print(ms_file)

The file is working and if I use Unencrypted reads fine. The file is not password protected, but just uses the sensitivity label as encryption.

I expected that is_encrypted should at least say True, and not just fail completely. Not sure if the current implementation can even open these files with a sensitivity flag, even if you have the key

nolze commented 1 year ago

Thank you for reporting! This is an interesting case and I hope to investigate it. A problem, however, is that I don't have access to the Sensitivity Label feature on my devices. I would appreciate it if you could send me an encrypted (empty) sample document or create a pull request for a fix.

philmae commented 2 months ago

Book1.xlsx