Commit Graph

34 Commits

Author SHA1 Message Date
alexmullins 4cb6e8e530 Check for nil Password 2015-11-26 18:45:48 -06:00
alexmullins 5a264afc2d Change how the password is set on the FileHeader.
A new field on the FileHeader struct called Password
of type PasswordFn will be set when either reading
or writing a password protected zip. The previous
method was unsuitable due to the ambiguity of
an empty password "" and no password. This new
way can now differentiate the two.
2015-11-26 18:43:22 -06:00
alexmullins e384fc2faf Update the README.txt 2015-11-26 18:24:28 -06:00
alexmullins 246ebb4124 Add tests to check for AE-1 CRC and Auth failures. 2015-11-26 18:20:29 -06:00
alexmullins 0f3df4a457 Add check for AE-2, skip CRC 2015-11-26 16:44:38 -06:00
alexmullins 28a48eb706 Tidy up code 2015-11-26 15:22:28 -06:00
alexmullins a0910dd023 Move all password related fields to the FileHeader
This will unify the reading and writing API. Eventually
the SetPassword function will be deprecated in favor
of a Password field that is of type func() []byte. This way
the password can be set dynamically. This will also help in
differentiating a nil password and an empty password.
2015-11-26 14:46:37 -06:00
alexmullins 9b6aff4be2 Change documentation 2015-11-26 14:38:53 -06:00
alexmullins 8ac7f2d858 Check error return from mac.Write 2015-11-06 01:44:41 -06:00
alexmullins 42f3489e0b Switch newDecryptionReader return to io.Reader 2015-11-06 01:01:44 -06:00
alexmullins 119f51e65c Fix proper number of bytes returned from streaming 2015-11-06 00:54:33 -06:00
alexmullins 8d81f262c6 Setup ground work for streaming/buffered reading.
Buffered reading is recommended as it will fully
authenticate the ciphertext before sending any data
to be decrypted. Streaming authentication is only
recommended if: 1. you buffer the data yourself
and wait for authentication before streaming to another
source such as the network, or 2. you just don't
care about authenticating unknown ciphertext before use :).
2015-11-06 00:50:54 -06:00
alexmullins fb959e1749 move all password tests to crypto_test.go 2015-11-05 23:13:02 -06:00
alexmullins cf103a6528 defer authentication/buffering to Read not Open 2015-11-05 23:12:14 -06:00
alexmullins 37ce86c83e move crypto stuff to crypto.go and change README 2015-11-04 21:37:46 -06:00
alexmullins 2d6161cdb6 Change CTR from exported to non-exported 2015-10-31 20:49:00 -05:00
alexmullins 99096bc20c Added little-endian, left-aligned CTR mode 2015-10-31 19:45:55 -05:00
alexmullins 5e7b6fad69 update README.txt to explain CTR differences and possible solution. 2015-10-30 17:24:00 -05:00
alexmullins a4e475ab56 add test for failing corrupt input into flate 2015-10-29 23:12:02 -05:00
alexmullins 17e26cdce5 fix slice index out of range when dealing with compressed files. 2015-10-29 19:14:48 -05:00
alexmullins edac1e895f change README.txt 2015-10-29 17:58:39 -05:00
alexmullins 68b4ba496f add Storage Format section to README.txt 2015-10-29 17:57:24 -05:00
alexmullins cff816a2e0 add Storage Format section to README.txt 2015-10-29 17:56:21 -05:00
alexmullins 07d1d9c5ce change README.txt 2015-10-29 17:51:39 -05:00
alexmullins fa886aad19 change README.txt 2015-10-29 17:50:49 -05:00
Alex Mullins 122901eb8d Update README.txt 2015-10-29 17:37:13 -05:00
alexmullins e411582be8 change README.txt 2015-10-29 17:18:39 -05:00
alexmullins e7e638f095 change reader exmple to show usage of SetPassword 2015-10-29 17:15:39 -05:00
alexmullins 678a885320 change return from newDecryptionReader to io.Reader 2015-10-29 17:07:25 -05:00
alexmullins abdb448165 change package documentation header to include add. features 2015-10-29 16:47:39 -05:00
alexmullins 05a3bcf75e add another test case for reading multiple encrypted files. 2015-10-29 16:44:18 -05:00
alexmullins ea2bc2cf67 Added initial support for reading pw protected files. 2015-10-29 16:14:19 -05:00
alexmullins 5ca6f99620 update README.txt 2015-10-27 04:25:11 -05:00
alexmullins fa71aa0e14 Initial commit and README.txt 2015-10-27 04:12:51 -05:00