ZIP file format specification includes encrypted archives.
Current implementation doesn't support writing/reading such archives.
I've got a working implementation of archive/zip that can read/write password protected archives. The code is at https://github.com/alexmullins/zip.
Details:
The encryption/decryption method used is WinZip AES Encryption Specification (http://www.winzip.com/aes_info.htm). There are 2 other encryption methods specified in the original Zip Spec (https://pkware.cachefly.net/webdocs/casestudies/APPNOTE.TXT, Sections 6 and 7) which aren't implemented. The method described in Section 6, also known as ZipCrypto, is generally considered 'weak' and isn't advisable to use. The method described in Section 7 seems to be exclusively used with PKWARE products as I haven't seen any other opensource implementations support it.
Public API additions:
Current roadblocks:
Go CTR:
00000000000000000000000000000001
00000000000000000000000000000002WinZip CTR:
01000000000000000000000000000000
02000000000000000000000000000000
Any feedback is welcome.
Thanks.
I was working on a project that requires me to send a password protected zip file to a system that can only read Zip Standard Encryption. Not finding any go source for this, I manage to create a working code based on @alexmullins code. Special thanks to you Sir 馃憤
While it's not advisable to use Zip Standard Encryption for security reason, for those who have to work with it, you can check my code at https://github.com/yeka/zip
I hope the awesome Go Team can integrate encryption into their standard zip/archive 馃槃
Any updates here? officially supporting protected files would be good enough :)
@yeka Could you add a license to your git repo?
Most helpful comment
I've got a working implementation of archive/zip that can read/write password protected archives. The code is at https://github.com/alexmullins/zip.
Details:
The encryption/decryption method used is WinZip AES Encryption Specification (http://www.winzip.com/aes_info.htm). There are 2 other encryption methods specified in the original Zip Spec (https://pkware.cachefly.net/webdocs/casestudies/APPNOTE.TXT, Sections 6 and 7) which aren't implemented. The method described in Section 6, also known as ZipCrypto, is generally considered 'weak' and isn't advisable to use. The method described in Section 7 seems to be exclusively used with PKWARE products as I haven't seen any other opensource implementations support it.
Public API additions:
Current roadblocks:
Any feedback is welcome.
Thanks.