|
| 1 | +2017-12-29 Arthur de Jong <arthur@arthurdejong.org> |
| 2 | + |
| 3 | + * [2651e80] tests/test_write.doctest: Not all XML serialisers |
| 4 | + write namespaces in same order |
| 5 | + |
| 6 | + This ignores the namespace declarations in the generated XML |
| 7 | + files because not all implementations on all environments write |
| 8 | + these in the same order. |
| 9 | + |
| 10 | +2017-12-29 Arthur de Jong <arthur@arthurdejong.org> |
| 11 | + |
| 12 | + * [44b1353] docs/conf.py, setup.cfg, tox.ini: Add Sphinx |
| 13 | + documentation checks |
| 14 | + |
| 15 | + This also slightly tunes the way Sphinx documentation is built. |
| 16 | + |
| 17 | +2017-12-15 Arthur de Jong <arthur@arthurdejong.org> |
| 18 | + |
| 19 | + * [42be53b] pskc2csv.py, tox.ini: Add support for PyPy |
| 20 | + |
| 21 | +2017-12-15 Arthur de Jong <arthur@arthurdejong.org> |
| 22 | + |
| 23 | + * [660ed65] setup.py, tox.ini: Add support for Python 3.7 |
| 24 | + |
| 25 | +2017-12-15 Arthur de Jong <arthur@arthurdejong.org> |
| 26 | + |
| 27 | + * [9cd97c9] README, setup.py: Use README as package long description |
| 28 | + |
| 29 | +2017-12-15 Arthur de Jong <arthur@arthurdejong.org> |
| 30 | + |
| 31 | + * [20bf9c5] docs/encryption.rst, pskc/encryption.py, pskc2csv.py, |
| 32 | + tests/test_rfc6030.doctest: Add an is_encrypted property |
| 33 | + |
| 34 | + This property can be use to see whether the PSKC file needs an |
| 35 | + additional pre-shared key or passphrase to decrypt any stored |
| 36 | + information. |
| 37 | + |
| 38 | +2017-12-27 Arthur de Jong <arthur@arthurdejong.org> |
| 39 | + |
| 40 | + * [c365a70] : Implement XML signature checking |
| 41 | + |
| 42 | +2017-12-17 Arthur de Jong <arthur@arthurdejong.org> |
| 43 | + |
| 44 | + * [418f3dc] docs/encryption.rst, docs/index.rst, docs/mac.rst, |
| 45 | + docs/signatures.rst, docs/usage.rst: Add documentation for signed |
| 46 | + PSKC files |
| 47 | + |
| 48 | +2017-12-23 Arthur de Jong <arthur@arthurdejong.org> |
| 49 | + |
| 50 | + * [a97ac46] pskc/parser.py, pskc/serialiser.py, |
| 51 | + pskc/signature.py, pskc/xml.py, setup.py, |
| 52 | + tests/certificate/README, tests/certificate/ca-certificate.pem, |
| 53 | + tests/certificate/ca-key.pem, tests/certificate/certificate.pem, |
| 54 | + tests/certificate/key.pem, tests/certificate/request.pem, |
| 55 | + tests/certificate/ss-certificate.pem, |
| 56 | + tests/rfc6030/figure9.pskcxml, |
| 57 | + tests/test_draft_ietf_keyprov_pskc_02.doctest, |
| 58 | + tests/test_rfc6030.doctest, tests/test_signature.doctest, tox.ini: |
| 59 | + Implement signature checking |
| 60 | + |
| 61 | + This adds support for creating and verifying embedded XML |
| 62 | + signatures in PSKC files. This uses the third-party signxml |
| 63 | + library for actual signing and verification. |
| 64 | + |
| 65 | + The signxml library has a dependency on lxml and defusedxml |
| 66 | + (and a few others) but all parts of python-pskc still work |
| 67 | + correctly with our without lxml and/or defusedxml and signxml |
| 68 | + is only required when working with embedded signatures. |
| 69 | + |
| 70 | + This modifies the tox configuration to skip the signature |
| 71 | + checks if singxml is not installed and to only require 100% |
| 72 | + code coverage if the signature tests are done. |
| 73 | + |
| 74 | +2017-12-15 Arthur de Jong <arthur@arthurdejong.org> |
| 75 | + |
| 76 | + * [c0bd21f] pskc/xml.py: Move namespace moving to own function |
| 77 | + |
| 78 | +2017-09-22 Arthur de Jong <arthur@arthurdejong.org> |
| 79 | + |
| 80 | + * [ea503d6] pskc/__init__.py, pskc/parser.py, pskc/signature.py, |
| 81 | + tests/test_draft_ietf_keyprov_pskc_02.doctest, |
| 82 | + tests/test_rfc6030.doctest: Implement basic parsing of signature |
| 83 | + properties |
| 84 | + |
| 85 | +2017-12-23 Arthur de Jong <arthur@arthurdejong.org> |
| 86 | + |
| 87 | + * [fcc6cdb] pskc2csv.py: Explicitly close output file in pskc2csv |
| 88 | + |
| 89 | + This ensures that the file descriptor is closed if we opened |
| 90 | + the file. This is not a big problem for the script (because |
| 91 | + the script exists anyway) but causes problems for the tests. |
| 92 | + |
| 93 | +2017-12-18 Arthur de Jong <arthur@arthurdejong.org> |
| 94 | + |
| 95 | + * [052f5bc] docs/policy.rst, pskc/parser.py, |
| 96 | + pskc/policy.py, pskc/serialiser.py, tests/test_misc.doctest, |
| 97 | + tests/test_write.doctest: Fix typo in pin_max_failed_attempts |
| 98 | + attribute |
| 99 | + |
| 100 | + This makes the old name (pin_max_failed_attemtps) available as |
| 101 | + a deprecated property. |
| 102 | + |
| 103 | +2017-12-15 Arthur de Jong <arthur@arthurdejong.org> |
| 104 | + |
| 105 | + * [6f0ca70] pskc/parser.py, |
| 106 | + tests/draft-hoyer-keyprov-portable-symmetric-key-container-00/non-encrypted.pskcxml, |
| 107 | + tests/draft-hoyer-keyprov-portable-symmetric-key-container-00/password-encrypted.pskcxml, |
| 108 | + tests/draft-hoyer-keyprov-portable-symmetric-key-container-01/non-encrypted.pskcxml, |
| 109 | + tests/draft-hoyer-keyprov-portable-symmetric-key-container-01/password-encrypted.pskcxml, |
| 110 | + tests/test_draft_hoyer_keyprov_portable_symmetric_key_container.doctest: |
| 111 | + Add limited support for very old draft PSKC versions |
| 112 | + |
| 113 | + This adds basic support for parsing the PSKC files as specified |
| 114 | + in draft-hoyer-keyprov-portable-symmetric-key-container-00 and |
| 115 | + draft-hoyer-keyprov-portable-symmetric-key-container-01. |
| 116 | + |
| 117 | + It should be able to extract secrets, counters, etc. but not |
| 118 | + all properties from the PSKC file are supported. |
| 119 | + |
| 120 | + It is speculated that this format resembles the "Verisign PSKC |
| 121 | + format" that some applications produce. |
| 122 | + |
| 123 | +2016-09-19 Arthur de Jong <arthur@arthurdejong.org> |
| 124 | + |
| 125 | + * [9b85634] tests/multiotp/pskc-hotp-aes.txt, |
| 126 | + tests/multiotp/pskc-hotp-pbe.txt, tests/multiotp/pskc-totp-aes.txt, |
| 127 | + tests/multiotp/pskc-totp-pbe.txt, |
| 128 | + tests/multiotp/tokens_hotp_aes.pskc, |
| 129 | + tests/multiotp/tokens_hotp_pbe.pskc, |
| 130 | + tests/multiotp/tokens_ocra_aes.pskc, |
| 131 | + tests/multiotp/tokens_ocra_pbe.pskc, |
| 132 | + tests/multiotp/tokens_totp_aes.pskc, |
| 133 | + tests/multiotp/tokens_totp_pbe.pskc, tests/test_multiotp.doctest: |
| 134 | + Add test files from multiOTP |
| 135 | + |
| 136 | + This adds tests for parsing the files that are shipped as part |
| 137 | + of the multiOTP test suite. |
| 138 | + |
| 139 | + https://www.multiotp.net/ |
| 140 | + |
| 141 | +2017-12-15 Arthur de Jong <arthur@arthurdejong.org> |
| 142 | + |
| 143 | + * [01507af] pskc/key.py, pskc/parser.py, pskc/serialiser.py, |
| 144 | + tests/misc/partialxml.pskcxml, tests/test_misc.doctest, |
| 145 | + tests/test_write.doctest: Refactor internal storate of encrypted |
| 146 | + values |
| 147 | + |
| 148 | + This changes the way encrypted values are stored internally before |
| 149 | + being decrypted. For example, the internal _secret property can now |
| 150 | + be a decrypted plain value or an EncryptedValue instance instead |
| 151 | + of always being a DataType, simplifying some things (e.g. all |
| 152 | + XML encoding/decoding is now done in the corresponding module). |
| 153 | + |
| 154 | + This should not change the public API but does have consequences |
| 155 | + for those who use custom serialisers or parsers. |
| 156 | + |
| 157 | +2017-12-13 Arthur de Jong <arthur@arthurdejong.org> |
| 158 | + |
| 159 | + * [dcf1919] pskc/crypto/aeskw.py, pskc/encryption.py, |
| 160 | + tests/encryption/kw-camellia128.pskcxml, |
| 161 | + tests/encryption/kw-camellia192.pskcxml, |
| 162 | + tests/encryption/kw-camellia256.pskcxml, |
| 163 | + tests/test_encryption.doctest: Add support for KW-Camellia suite |
| 164 | + of algorithms |
| 165 | + |
| 166 | +2017-12-13 Arthur de Jong <arthur@arthurdejong.org> |
| 167 | + |
| 168 | + * [364e93d] pskc/encryption.py, |
| 169 | + tests/encryption/camellia128-cbc.pskcxml, |
| 170 | + tests/encryption/camellia192-cbc.pskcxml, |
| 171 | + tests/encryption/camellia256-cbc.pskcxml, |
| 172 | + tests/test_encryption.doctest: Add support for Camellia-CBC |
| 173 | + suite of algorithms |
| 174 | + |
| 175 | +2017-10-11 Arthur de Jong <arthur@arthurdejong.org> |
| 176 | + |
| 177 | + * [4c5e046] docs/conf.py, docs/pskc2csv.rst, setup.cfg: Add a |
| 178 | + manual page for pskc2csv |
| 179 | + |
| 180 | +2017-10-09 Arthur de Jong <arthur@arthurdejong.org> |
| 181 | + |
| 182 | + * [25cb2fc] setup.cfg: Ignore missing docstring in __init__ in flake |
| 183 | + |
| 184 | +2017-09-30 Arthur de Jong <arthur@arthurdejong.org> |
| 185 | + |
| 186 | + * [225e569] pskc/crypto/__init__.py, pskc/crypto/aeskw.py, |
| 187 | + pskc/crypto/tripledeskw.py, pskc/encryption.py, |
| 188 | + pskc/mac.py, setup.cfg, setup.py, tests/test_crypto.doctest, |
| 189 | + tests/test_encryption.doctest, tox.ini: Replace pycrypto with |
| 190 | + cryptography |
| 191 | + |
| 192 | + The cryptography library is better supported. |
| 193 | + |
| 194 | + This uses the functions from cryptography for AES and Triple |
| 195 | + DES encryption, replaces the (un)padding functions that were |
| 196 | + previously implemented in python-pskc with cryptography and uses |
| 197 | + PBKDF2 implementation from hashlib. |
| 198 | + |
| 199 | +2017-09-30 Arthur de Jong <arthur@arthurdejong.org> |
| 200 | + |
| 201 | + * [5dff7d4] pskc/encryption.py: Use PBKDF2 from hashlib |
| 202 | + |
| 203 | + This uses pbkdf2_hmac() from hashlib for the PBKDF2 calculation. |
| 204 | + The downside of this is that this function is only available |
| 205 | + since Python 2.7.8. |
| 206 | + |
| 207 | +2017-09-30 Arthur de Jong <arthur@arthurdejong.org> |
| 208 | + |
| 209 | + * [2c8a9b7] pskc/crypto/aeskw.py, pskc/crypto/tripledeskw.py, |
| 210 | + pskc/encryption.py, pskc/mac.py, tests/test_aeskw.doctest, |
| 211 | + tests/test_write.doctest: Replace use of pycrypto utility functions |
| 212 | + |
| 213 | + This uses os.urandom() as a source for random data and replaces |
| 214 | + other utility functions. This also removes one import for getting |
| 215 | + the lengths of Tripple DES keys. |
| 216 | + |
| 217 | +2017-09-24 Arthur de Jong <arthur@arthurdejong.org> |
| 218 | + |
| 219 | + * [d0eddf8] pskc/serialiser.py, pskc/xml.py, |
| 220 | + tests/test_write.doctest: Implement our own XML formatting |
| 221 | + |
| 222 | + This avoids a using xml.dom.minidom to indent the XML tree and |
| 223 | + keep the attributes ordered alphabetically. This also allows |
| 224 | + for customisations to the XML formatting. |
| 225 | + |
| 226 | +2017-09-24 Arthur de Jong <arthur@arthurdejong.org> |
| 227 | + |
| 228 | + * [4ed4e11] tests/test_mac.doctest: Support hashlib from Python 2.7.3 |
| 229 | + |
| 230 | + Some Python versions don't have the algorithms_available property |
| 231 | + but do have the algorithms property in hashlib. |
| 232 | + |
| 233 | +2017-09-24 Arthur de Jong <arthur@arthurdejong.org> |
| 234 | + |
| 235 | + * [b90faeb] pskc/xml.py, setup.py, tox.ini: Use defusedxml if |
| 236 | + available |
| 237 | + |
| 238 | + This uses the defusedxml library if available to defend agains |
| 239 | + a number of XML-based attacks. |
| 240 | + |
| 241 | +2017-09-23 Arthur de Jong <arthur@arthurdejong.org> |
| 242 | + |
| 243 | + * [7272e54] pskc/serialiser.py, tests/test_write.doctest: Fix bug |
| 244 | + in saving PBKDF2 salt on Python3 |
| 245 | + |
| 246 | + The PBKDF2 salt was saved in the wrong way (b'base64encodeddata' |
| 247 | + instead of base64encodeddata) when using Python 3. This fixes |
| 248 | + that problem and tests that saving and loading of a file that |
| 249 | + uses PBKDF2 key derivation works. |
| 250 | + |
| 251 | +2017-09-23 Arthur de Jong <arthur@arthurdejong.org> |
| 252 | + |
| 253 | + * [cd33833] pskc2csv.py, setup.cfg, tests/test_pskc2csv.doctest: |
| 254 | + Add tests for the pskc2csv script |
| 255 | + |
| 256 | + This makes minor changes to the pskc2csv script to make it more |
| 257 | + easily testable. |
| 258 | + |
| 259 | +2017-09-22 Arthur de Jong <arthur@arthurdejong.org> |
| 260 | + |
| 261 | + * [6028b8e] pskc2csv.py: Support adding custom CSV file headers |
| 262 | + |
| 263 | + This allows adding an optional label to the --columns option that |
| 264 | + can be used to output a label different from the key property |
| 265 | + name in the CSV file header. |
| 266 | + |
| 267 | +2017-09-20 Arthur de Jong <arthur@arthurdejong.org> |
| 268 | + |
| 269 | + * [eef681b] pskc2csv.py: Add --secret-encoding option to pskc2csv |
| 270 | + |
| 271 | + This option can be used to configure the encoding of the secret |
| 272 | + in the CSV file (still hex by default). |
| 273 | + |
| 274 | +2017-09-20 Arthur de Jong <arthur@arthurdejong.org> |
| 275 | + |
| 276 | + * [6f78dd6] pskc/__init__.py, pskc/crypto/aeskw.py, |
| 277 | + pskc/crypto/tripledeskw.py, pskc/exceptions.py, pskc/mac.py, |
| 278 | + pskc/parser.py, pskc/policy.py, pskc/serialiser.py, setup.cfg, |
| 279 | + tox.ini: Run flake8 from tox |
| 280 | + |
| 281 | + This also makes a few small code formatting changes to ensure |
| 282 | + that the flake8 tests pass. |
| 283 | + |
| 284 | +2017-09-11 Arthur de Jong <arthur@arthurdejong.org> |
| 285 | + |
| 286 | + * [cc3acc2] tox.ini: Simplify Tox configuration |
| 287 | + |
| 288 | +2017-06-10 Arthur de Jong <arthur@arthurdejong.org> |
| 289 | + |
| 290 | + * [0c00c80] pskc/__init__.py, pskc/encryption.py, pskc/parser.py, |
| 291 | + pskc/serialiser.py, pskc/xml.py, pskc2csv.py: Various minor code |
| 292 | + style improvements |
| 293 | + |
| 294 | +2017-06-10 Arthur de Jong <arthur@arthurdejong.org> |
| 295 | + |
| 296 | + * [510e6a5] pskc/encryption.py, pskc/parser.py: Normalise key |
| 297 | + derivation algorithms |
| 298 | + |
| 299 | + This makes KeyDerivation.algorithm and KeyDerivation.pbkdf2_prf |
| 300 | + properties automatically normalise assigned values. |
| 301 | + |
| 302 | +2017-06-10 Arthur de Jong <arthur@arthurdejong.org> |
| 303 | + |
| 304 | + * [d72e6cc] pskc/xml.py: Switch to using non-deprecated method |
| 305 | + |
| 306 | + This uses ElementTree.iter() instead of ElementTree.getiterator() |
| 307 | + for going over all the child elements in the tree because the |
| 308 | + latter is deprecated. |
| 309 | + |
| 310 | +2017-06-10 Arthur de Jong <arthur@arthurdejong.org> |
| 311 | + |
| 312 | + * [7b106ff] docs/usage.rst, pskc/key.py, tests/test_yubico.doctest: |
| 313 | + Provide Key.userid convenience property |
| 314 | + |
| 315 | + This provides a read-only userid property on Key objects that uses |
| 316 | + the key_userid or device_userid value, whichever one is defined. |
| 317 | + |
| 318 | +2017-06-09 Arthur de Jong <arthur@arthurdejong.org> |
| 319 | + |
| 320 | + * [f0d2991] docs/conf.py, docs/encryption.rst, docs/exceptions.rst, |
| 321 | + docs/mac.rst: Document supported encryption and MAC algorithms |
| 322 | + |
| 323 | + This also includes a few other small documentation improvements. |
| 324 | + |
| 325 | +2017-06-09 Arthur de Jong <arthur@arthurdejong.org> |
| 326 | + |
| 327 | + * [8b8848d] pskc/encryption.py, pskc/mac.py, |
| 328 | + tests/test_invalid.doctest, tests/test_mac.doctest: Refactor |
| 329 | + MAC lookups |
| 330 | + |
| 331 | + This switches to using the hashlib.new() function to be able to use |
| 332 | + all hashes that are available in Python (specifically RIPEMD160). |
| 333 | + |
| 334 | + This also adds a number of tests for HMACs using test vectors |
| 335 | + from RFC 2202, RFC 4231 and RFC 2857. |
| 336 | + |
| 337 | +2017-06-09 Arthur de Jong <arthur@arthurdejong.org> |
| 338 | + |
| 339 | + * [e10f9c6] pskc/algorithms.py: Handle more algortihm URIs |
| 340 | + |
| 341 | + This adds a number of algorithm URIs defined in RFC 6931 and also |
| 342 | + simplifies the definition of the list of URIs. It also adds more |
| 343 | + aliases for algorithms. |
| 344 | + |
| 345 | +2017-01-25 Arthur de Jong <arthur@arthurdejong.org> |
| 346 | + |
| 347 | + * [1fc1a03] README, docs/usage.rst, setup.py: Switch URLs to HTTPS |
| 348 | + |
| 349 | +2017-01-21 Arthur de Jong <arthur@arthurdejong.org> |
| 350 | + |
| 351 | + * [8de25c2] tests/actividentity/test.pskcxml, |
| 352 | + tests/test_actividentity.doctest: Correct name of ActivIdentity |
| 353 | + test file |
| 354 | + |
| 355 | +2017-01-21 Arthur de Jong <arthur@arthurdejong.org> |
| 356 | + |
| 357 | + * [5889df7] ChangeLog, NEWS, README, docs/conf.py, pskc/__init__.py, |
| 358 | + pskc2csv.py, setup.py: Get files ready for 0.5 release |
| 359 | + |
1 | 360 | 2017-01-15 Arthur de Jong <arthur@arthurdejong.org> |
2 | 361 |
|
3 | 362 | * [29a183d] tests/test_feitian.doctest, tests/test_nagraid.doctest: |
|
0 commit comments