~ubuntu-branches/ubuntu/wily/python-pskc/wily

« back to all changes in this revision

Viewing changes to ChangeLog

  • Committer: Package Import Robot
  • Author(s): Arthur de Jong
  • Date: 2014-06-20 14:50:59 UTC
  • mfrom: (1.1.1)
  • Revision ID: package-import@ubuntu.com-20140620145059-cf3iwj9rnwagig43
Tags: 0.2-1
* New upstream release:
  - raise exceptions on parsing, decryption and other problems
  - support more encryption algorithms (AES128-CBC, AES192-CBC, AES256-CBC,
    TripleDES-CBC, KW-AES128, KW-AES192, KW-AES256 and KW-TripleDES) and be
    more lenient in accepting algorithm URIs
  - support all HMAC algorithms that Python's hashlib module has hash
    functions for (HMAC-MD5, HMAC-SHA1, HMAC-SHA224, HMAC-SHA256,
    HMAC-SHA384 and HMAC-SHA512)
  - support PRF attribute of PBKDF2 algorithm
* Build and install Sphinx documentation.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
2014-06-19  Arthur de Jong <arthur@arthurdejong.org>
 
2
 
 
3
        * [62c9af4] pskc/__init__.py: Only catch normal exceptions
 
4
 
 
5
2014-06-18  Arthur de Jong <arthur@arthurdejong.org>
 
6
 
 
7
        * [deb57d7] pskc/__init__.py: Remove unused import
 
8
 
 
9
2014-06-17  Arthur de Jong <arthur@arthurdejong.org>
 
10
 
 
11
        * [178ef1c] pskc/encryption.py: PEP8 fix
 
12
 
 
13
2014-06-17  Arthur de Jong <arthur@arthurdejong.org>
 
14
 
 
15
        * [7435552] pskc/exceptions.py: Remove __str__ from exception
 
16
 
 
17
          The message property has been deprecated as of Python 2.6 and
 
18
          printing the first argument is the default.
 
19
 
 
20
2014-06-16  Arthur de Jong <arthur@arthurdejong.org>
 
21
 
 
22
        * [f084735] README, docs/encryption.rst, docs/exceptions.rst,
 
23
          docs/index.rst, docs/mac.rst, docs/policy.rst, docs/usage.rst:
 
24
          Update documentation
 
25
 
 
26
          This updates the documentation with the current API, adding
 
27
          information on exceptions raised, HMAC algorithms supported and
 
28
          changes to the MAC checking.
 
29
 
 
30
          This also includes some editorial changes to some of the text and
 
31
          making references shorter by not including the full package path.
 
32
 
 
33
2014-06-15  Arthur de Jong <arthur@arthurdejong.org>
 
34
 
 
35
        * [d84e761] pskc/parse.py: Simplify finding ElementTree
 
36
          implementation
 
37
 
 
38
          These are the only ElementTree implementations that have been
 
39
          tested to provide the needed functionality (mostly namespaces).
 
40
 
 
41
2014-06-15  Arthur de Jong <arthur@arthurdejong.org>
 
42
 
 
43
        * [50b429d] pskc/key.py, pskc/parse.py, pskc/policy.py: Refactor
 
44
          out some functions to parse
 
45
 
 
46
          This introduces the getint() and getbool() functions in parse
 
47
          to avoid some code duplication.
 
48
 
 
49
2014-06-15  Arthur de Jong <arthur@arthurdejong.org>
 
50
 
 
51
        * [9a16ce4] pskc/key.py, tests/test_misc.doctest: Add support for
 
52
          setting secret
 
53
 
 
54
          This supports setters for the secret, counter, time_offset,
 
55
          time_interval and time_drift properties. Setting these values
 
56
          stores the values unencrypted internally.
 
57
 
 
58
2014-06-14  Arthur de Jong <arthur@arthurdejong.org>
 
59
 
 
60
        * [1b9ee9f] pskc/encryption.py: Support PBKDF2 PRF argument
 
61
 
 
62
          Support specifying a pseudorandom function for PBKDF2 key
 
63
          derivation. It currently supports any HMAC that the MAC checking
 
64
          also supports.
 
65
 
 
66
2014-06-14  Arthur de Jong <arthur@arthurdejong.org>
 
67
 
 
68
        * [79b9a7d] pskc/mac.py: Provide a get_hmac() function
 
69
 
 
70
          Refactor the functionality to find an HMAC function into a
 
71
          separate function.
 
72
 
 
73
2014-06-14  Arthur de Jong <arthur@arthurdejong.org>
 
74
 
 
75
        * [1417d4a] tests/invalid-mac-algorithm.pskcxml,
 
76
          tests/invalid-mac-value.pskcxml,
 
77
          tests/invalid-no-mac-method.pskcxml, tests/test_invalid.doctest:
 
78
          Add tests for missing or invalid MAC
 
79
 
 
80
          This tests for incomplete, unknown or invalid MACs in PSKC files.
 
81
 
 
82
2014-06-14  Arthur de Jong <arthur@arthurdejong.org>
 
83
 
 
84
        * [9d8aae0] pskc/key.py, pskc/mac.py: Raise exception when MAC
 
85
          validation fails
 
86
 
 
87
          This changes the way the check() function works to raise an
 
88
          exception when the MAC is not correct. The MAC is also now always
 
89
          checked before attempting decryption.
 
90
 
 
91
          This also renames the internal DataType.value property to a
 
92
          get_value() method for clarity.
 
93
 
 
94
2014-06-14  Arthur de Jong <arthur@arthurdejong.org>
 
95
 
 
96
        * [699ecf8] pskc/encryption.py: Handle missing MAC algorithm properly
 
97
 
 
98
2014-06-14  Arthur de Jong <arthur@arthurdejong.org>
 
99
 
 
100
        * [01e102b] tests/aes128-cbc.pskcxml, tests/aes192-cbc.pskcxml,
 
101
          tests/aes256-cbc.pskcxml, tests/test_encryption.doctest,
 
102
          tests/tripledes-cbc.pskcxml: Add MAC tests to all CBC encrypted
 
103
          keys
 
104
 
 
105
          This adds hmac-sha224, hmac-sha256, hmac-sha384 and hmac-sha512
 
106
          tests for values that are encrypted using CBC block cypher modes.
 
107
 
 
108
2014-06-14  Arthur de Jong <arthur@arthurdejong.org>
 
109
 
 
110
        * [59e790e] pskc/mac.py: Automatically support all MACs in hashlib
 
111
 
 
112
          This uses the name of the hash to automatically get the correct
 
113
          hash object from Python's hashlib.
 
114
 
 
115
2014-06-14  Arthur de Jong <arthur@arthurdejong.org>
 
116
 
 
117
        * [566e447] pskc/__init__.py, pskc/parse.py, setup.py: Support
 
118
          various ElementTree implementations
 
119
 
 
120
          When using a recent enough lxml, even Python 2.6 should work
 
121
          now. The most important requirement is that the findall()
 
122
          function supports the namespaces argument.
 
123
 
 
124
          This also now catches all exceptions when parsing the PSKC file
 
125
          fails and wraps it in ParseError because various implementations
 
126
          raise different exceptions, even between versions (Python 2.6's
 
127
          ElementTree raises ExpatError, lxml raises XMLSyntaxError).
 
128
 
 
129
2014-06-13  Arthur de Jong <arthur@arthurdejong.org>
 
130
 
 
131
        * [5d60ee2] pskc/__init__.py, pskc/encryption.py, pskc/key.py,
 
132
          pskc/mac.py, pskc/parse.py, pskc/policy.py: Have parse module
 
133
          provide find() functions
 
134
 
 
135
          This changes the parse module functions to better match the
 
136
          ElementTree API and extends it with findint(), findtime()
 
137
          and findbin().
 
138
 
 
139
          It also passes the namespaces to all calls that require it
 
140
          without duplicating this throughout the normal code.
 
141
 
 
142
2014-06-11  Arthur de Jong <arthur@west.nl>
 
143
 
 
144
        * [6a34c01] pskc/__init__.py, pskc/encryption.py, pskc/key.py,
 
145
          pskc/mac.py, pskc/policy.py: Use get() instead of attrib.get()
 
146
          (shorter)
 
147
 
 
148
2014-05-31  Arthur de Jong <arthur@arthurdejong.org>
 
149
 
 
150
        * [4d92b93] pskc/encryption.py, tests/kw-tripledes.pskcxml,
 
151
          tests/test_encryption.doctest: Support kw-tripledes decryption
 
152
 
 
153
          This adds support for key unwrapping using the RFC 3217 Triple
 
154
          DES key wrap algorithm if the PSKC file uses this.
 
155
 
 
156
2014-05-31  Arthur de Jong <arthur@arthurdejong.org>
 
157
 
 
158
        * [fd71f01] pskc/tripledeskw.py, tests/test_tripledeskw.doctest:
 
159
          Implement RFC 3217 Triple DES key wrapping
 
160
 
 
161
2014-05-31  Arthur de Jong <arthur@arthurdejong.org>
 
162
 
 
163
        * [f639318] tests/test_minimal.doctest, tests/test_misc.doctest:
 
164
          Merge test_minimal into test_misc
 
165
 
 
166
2014-05-31  Arthur de Jong <arthur@arthurdejong.org>
 
167
 
 
168
        * [1e7f861] tests/draft-keyprov-actividentity-3des.pskcxml,
 
169
          tests/test_draft_keyprov.doctest: Add an ActivIdentity-3DES test
 
170
 
 
171
          The test is taken from
 
172
          draft-hoyer-keyprov-pskc-algorithm-profiles-01 modified to fit
 
173
          the schema as described in RFC 6030.
 
174
 
 
175
2014-05-31  Arthur de Jong <arthur@arthurdejong.org>
 
176
 
 
177
        * [b7cb928] tests/draft-keyprov-securid-aes-counter.pskcxml,
 
178
          tests/test_draft_keyprov.doctest: Add an SecurID-AES-Counter test
 
179
 
 
180
          The test is taken from
 
181
          draft-hoyer-keyprov-pskc-algorithm-profiles-01 modified to be
 
182
          valid XML and to fit the schema as described in RFC 6030.
 
183
 
 
184
2014-05-31  Arthur de Jong <arthur@arthurdejong.org>
 
185
 
 
186
        * [427319f] tests/draft-keyprov-totp.pskcxml,
 
187
          tests/test_draft_keyprov.doctest: Add an TOTP test
 
188
 
 
189
          The test is taken from
 
190
          draft-hoyer-keyprov-pskc-algorithm-profiles-01 modified to fit
 
191
          the schema as described in RFC 6030.
 
192
 
 
193
2014-05-31  Arthur de Jong <arthur@arthurdejong.org>
 
194
 
 
195
        * [ba49d09] tests/draft-keyprov-ocra.pskcxml,
 
196
          tests/test_draft_keyprov.doctest: Add an OCRA test
 
197
 
 
198
          The test is taken from
 
199
          draft-hoyer-keyprov-pskc-algorithm-profiles-01 modified to fit
 
200
          the schema as described in RFC 6030.
 
201
 
 
202
2014-05-31  Arthur de Jong <arthur@arthurdejong.org>
 
203
 
 
204
        * [0a66ede] tests/odd-namespace.pskcxml, tests/test_misc.doctest:
 
205
          Add a test for an odd namespace
 
206
 
 
207
2014-05-30  Arthur de Jong <arthur@arthurdejong.org>
 
208
 
 
209
        * [287afa7] pskc/encryption.py, tests/kw-aes128.pskcxml,
 
210
          tests/kw-aes192.pskcxml, tests/kw-aes256.pskcxml,
 
211
          tests/test_encryption.doctest: Support kw-aes128, kw-aes192
 
212
          and kw-aes256
 
213
 
 
214
          This adds support for key unwrapping using the RFC 3394 or RFC
 
215
          5649 algorithm if the PSKC file uses this.
 
216
 
 
217
2014-05-30  Arthur de Jong <arthur@arthurdejong.org>
 
218
 
 
219
        * [99ba287] pskc/aeskw.py, tests/test_aeskw.doctest: Implement
 
220
          padding as specified in RFC 5649
 
221
 
 
222
          This adds a pad argument with which padding can be forced or
 
223
          disabled.
 
224
 
 
225
2014-05-29  Arthur de Jong <arthur@arthurdejong.org>
 
226
 
 
227
        * [ebf8945] pskc/aeskw.py, tests/test_aeskw.doctest: Allow speciying
 
228
          an initial value for key wrapping
 
229
 
 
230
2014-05-29  Arthur de Jong <arthur@arthurdejong.org>
 
231
 
 
232
        * [5720fe5] pskc/aeskw.py, pskc/exceptions.py,
 
233
          tests/test_aeskw.doctest: Provide an RFC 3394 AES key wrapping
 
234
          algorithm
 
235
 
 
236
          This also introduces an EncryptionError exception.
 
237
 
 
238
2014-05-29  Arthur de Jong <arthur@arthurdejong.org>
 
239
 
 
240
        * [7164d89] README, docs/usage.rst, pskc/__init__.py,
 
241
          tests/rfc6030-figure10.pskcxml, tests/rfc6030-figure2.pskcxml,
 
242
          tests/rfc6030-figure3.pskcxml, tests/rfc6030-figure4.pskcxml,
 
243
          tests/rfc6030-figure5.pskcxml, tests/rfc6030-figure6.pskcxml,
 
244
          tests/rfc6030-figure7.pskcxml, tests/test_rfc6030.doctest:
 
245
          Always put a space between RFC and number
 
246
 
 
247
2014-05-29  Arthur de Jong <arthur@arthurdejong.org>
 
248
 
 
249
        * [ccebb69] pskc/encryption.py, tests/test_encryption.doctest,
 
250
          tests/tripledes-cbc.pskcxml: Support Tripple DES decryption
 
251
 
 
252
2014-05-29  Arthur de Jong <arthur@arthurdejong.org>
 
253
 
 
254
        * [a11f31f] tests/test_invalid.doctest: Add tests for key derivation
 
255
          problems
 
256
 
 
257
          This tests for unknown or missing algorithms and unknown
 
258
          derivation parameters.
 
259
 
 
260
2014-05-29  Arthur de Jong <arthur@arthurdejong.org>
 
261
 
 
262
        * [0738c94] pskc/encryption.py, pskc/exceptions.py: Raise exception
 
263
          when key derivation fails
 
264
 
 
265
          This also renames the internal function that implements the
 
266
          derivation.
 
267
 
 
268
2014-05-29  Arthur de Jong <arthur@arthurdejong.org>
 
269
 
 
270
        * [76ef42b] pskc/encryption.py, pskc/exceptions.py,
 
271
          tests/invalid-encryption.pskcxml, tests/test_invalid.doctest:
 
272
          Add test for missing key encryption algorithm
 
273
 
 
274
          This also introduces a toplevel PSKCError exception that all
 
275
          exceptions have as parent.
 
276
 
 
277
2014-05-29  Arthur de Jong <arthur@arthurdejong.org>
 
278
 
 
279
        * [7f26dc6] tests/aes128-cbc.pskcxml, tests/aes192-cbc.pskcxml,
 
280
          tests/aes256-cbc.pskcxml, tests/test_encryption.doctest: Add
 
281
          test for all AES-CBC encryption schemes
 
282
 
 
283
2014-05-29  Arthur de Jong <arthur@arthurdejong.org>
 
284
 
 
285
        * [28f2c1c] pskc/encryption.py: Support more AES-CBC encryption
 
286
          schemes
 
287
 
 
288
          This also moves the crypto imports to the places where they are
 
289
          used to avoid a depenency on pycrypto if no encryption is used.
 
290
 
 
291
2014-05-29  Arthur de Jong <arthur@arthurdejong.org>
 
292
 
 
293
        * [678b127] tests/test_minimal.doctest: Add test for missing
 
294
          secret value
 
295
 
 
296
2014-05-25  Arthur de Jong <arthur@arthurdejong.org>
 
297
 
 
298
        * [bef2f7d] pskc/__init__.py, pskc/key.py,
 
299
          tests/test_minimal.doctest: Add a function for adding a new key
 
300
 
 
301
2014-05-25  Arthur de Jong <arthur@arthurdejong.org>
 
302
 
 
303
        * [46f5749] pskc/__init__.py: Consistency improvement
 
304
 
 
305
2014-05-25  Arthur de Jong <arthur@arthurdejong.org>
 
306
 
 
307
        * [83f5a4b] pskc/__init__.py, tests/test_minimal.doctest: Support
 
308
          creating an empty PSKC instance
 
309
 
 
310
2014-05-25  Arthur de Jong <arthur@arthurdejong.org>
 
311
 
 
312
        * [820c83c] pskc/encryption.py, pskc/mac.py: Be more lenient in
 
313
          accepting algorithms
 
314
 
 
315
2014-05-25  Arthur de Jong <arthur@arthurdejong.org>
 
316
 
 
317
        * [02bde47] pskc/key.py: Code simplification
 
318
 
 
319
2014-05-25  Arthur de Jong <arthur@arthurdejong.org>
 
320
 
 
321
        * [b62fec8] pskc/encryption.py, pskc/exceptions.py,
 
322
          tests/invalid-encryption.pskcxml, tests/test_invalid.doctest,
 
323
          tests/test_rfc6030.doctest: Raise an exception if decryption fails
 
324
 
 
325
2014-05-25  Arthur de Jong <arthur@arthurdejong.org>
 
326
 
 
327
        * [7bc2e6b] pskc/encryption.py: Make decryption code better readable
 
328
 
 
329
2014-05-23  Arthur de Jong <arthur@arthurdejong.org>
 
330
 
 
331
        * [714f387] setup.cfg, tests/invalid-notxml.pskcxml,
 
332
          tests/invalid-wrongelement.pskcxml,
 
333
          tests/invalid-wrongversion.pskcxml, tests/test_invalid.doctest:
 
334
          Add tests for invalid PSKC files
 
335
 
 
336
2014-05-23  Arthur de Jong <arthur@arthurdejong.org>
 
337
 
 
338
        * [803d24c] pskc/__init__.py, pskc/exceptions.py: Raise exceptions
 
339
          on some parsing problems
 
340
 
 
341
2014-05-23  Arthur de Jong <arthur@arthurdejong.org>
 
342
 
 
343
        * [8c37e26] setup.py: Fix install_requires
 
344
 
 
345
2014-05-23  Arthur de Jong <arthur@arthurdejong.org>
 
346
 
 
347
        * [8e1729e] ChangeLog, MANIFEST.in, NEWS: Get files ready for
 
348
          0.1 release
 
349
 
1
350
2014-05-23  Arthur de Jong <arthur@arthurdejong.org>
2
351
 
3
352
        * [15ca643] README, pskc/__init__.py, tests/rfc6030-figure10.pskc,