lists.arthurdejong.org
RSS feed

python-pskc branch master updated. 8e1729e4fe4f058c8b28dbcad2bfa66c2e8b04ce

[Date Prev][Date Next] [Thread Prev][Thread Next]

python-pskc branch master updated. 8e1729e4fe4f058c8b28dbcad2bfa66c2e8b04ce



This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "python-pskc".

The branch, master has been updated
       via  8e1729e4fe4f058c8b28dbcad2bfa66c2e8b04ce (commit)
       via  15ca6438d175513254ac77b8cd13492f23a3fe04 (commit)
       via  44c7d2e5a28874d77bfb9a810ab78d92d56d460a (commit)
       via  cda1c5fd705ddd7689a924523415545ac35bd1db (commit)
      from  e96c7466d8b82bc37c99aa6b4639433e90eb9fff (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://arthurdejong.org/git/python-pskc/commit/?id=8e1729e4fe4f058c8b28dbcad2bfa66c2e8b04ce

commit 8e1729e4fe4f058c8b28dbcad2bfa66c2e8b04ce
Author: Arthur de Jong <arthur@arthurdejong.org>
Date:   Fri May 23 13:11:56 2014 +0200

    Get files ready for 0.1 release

diff --git a/ChangeLog b/ChangeLog
new file mode 100644
index 0000000..d6ade79
--- /dev/null
+++ b/ChangeLog
@@ -0,0 +1,256 @@
+2014-05-23  Arthur de Jong <arthur@arthurdejong.org>
+
+       * [15ca643] README, pskc/__init__.py, tests/rfc6030-figure10.pskc,
+         tests/rfc6030-figure10.pskcxml, tests/rfc6030-figure2.pskc,
+         tests/rfc6030-figure2.pskcxml, tests/rfc6030-figure3.pskc,
+         tests/rfc6030-figure3.pskcxml, tests/rfc6030-figure4.pskc,
+         tests/rfc6030-figure4.pskcxml, tests/rfc6030-figure5.pskc,
+         tests/rfc6030-figure5.pskcxml, tests/rfc6030-figure6.pskc,
+         tests/rfc6030-figure6.pskcxml, tests/rfc6030-figure7.pskc,
+         tests/rfc6030-figure7.pskcxml, tests/test_rfc6030.doctest:
+         Use pskcxml as file name extension
+
+         This is the extension that is suggested in RFC6030.
+
+2014-05-23  Arthur de Jong <arthur@arthurdejong.org>
+
+       * [44c7d2e] docs/policy.rst, docs/usage.rst: Improve IANA links
+
+2014-05-20  Arthur de Jong <arthur@arthurdejong.org>
+
+       * [cda1c5f] tests/test_rfc6030.doctest: Improve test
+
+         This tests that, before the PSKC ecnryption is key available,
+         the secret from the key cannot be extracted.
+
+2014-05-19  Arthur de Jong <arthur@arthurdejong.org>
+
+       * [e96c746] docs/_templates/autosummary/module.rst, docs/conf.py,
+         docs/encryption.rst, docs/index.rst, docs/mac.rst, docs/policy.rst,
+         docs/usage.rst: Provide Sphinx documentation
+
+2014-05-18  Arthur de Jong <arthur@arthurdejong.org>
+
+       * [edf4d24] pskc/policy.py: Add missing policy constant
+
+2014-05-18  Arthur de Jong <arthur@arthurdejong.org>
+
+       * [92a994d] pskc/key.py: Fix attribute name in docstring
+
+2014-04-20  Arthur de Jong <arthur@arthurdejong.org>
+
+       * [cc9bbb5] README: Update README
+
+2014-05-17  Arthur de Jong <arthur@arthurdejong.org>
+
+       * [d0a7814] .gitignore, setup.py: Fix dateutil dependency
+
+         This also ignores downloaded .egg files.
+
+2014-04-19  Arthur de Jong <arthur@arthurdejong.org>
+
+       * [e0159ba] pskc/parse.py: Fix module description
+
+2014-04-19  Arthur de Jong <arthur@arthurdejong.org>
+
+       * [ba17976] pskc/__init__.py, pskc/parse.py: Move PSKC class to
+         toplevel module
+
+         This also splits the parsing to a parse() function for consistency.
+
+2014-04-19  Arthur de Jong <arthur@arthurdejong.org>
+
+       * [64e207d] pskc/key.py, tests/test_rfc6030.doctest: Provide
+         pskc.key docstrings
+
+         This documents most of the information that is available per
+         key and adds a few other minor cosmetic changes.
+
+         This also re-organises the key properties to be in a slightly more
+         logical order and renames the userid key property to key_userid
+         to more clearly distinguish it from device_userid.
+
+2014-04-19  Arthur de Jong <arthur@arthurdejong.org>
+
+       * [6becc61] pskc/parse.py: Provide pskc.parse docstrings
+
+         This documents most of the API of the parsing functions and the
+         PSKC class.
+
+2014-04-19  Arthur de Jong <arthur@arthurdejong.org>
+
+       * [1d42fbc] pskc/policy.py: Complete pskc.policy docstrings
+
+         Also contains small consistency improvement.
+
+2014-04-19  Arthur de Jong <arthur@arthurdejong.org>
+
+       * [b07d709] pskc/mac.py: Provide pskc.mac docstrings
+
+         This also hides two properties that are not part of the public API.
+
+2014-04-19  Arthur de Jong <arthur@arthurdejong.org>
+
+       * [285860e] pskc/encryption.py: Provide pskc.encryption docstrings
+
+         This documents classes in the pskc.encryption module.
+
+2014-04-19  Arthur de Jong <arthur@arthurdejong.org>
+
+       * [8c9e03d] pskc/key.py, pskc/mac.py, pskc/parse.py, pskc/policy.py:
+         Move Key class to separate module
+
+         This also allows re-organising the imports a bit.
+
+2014-04-16  Arthur de Jong <arthur@arthurdejong.org>
+
+       * [c883d48] MANIFEST.in, pskc/__init__.py, setup.cfg, setup.py:
+         Add initial setup script
+
+2014-04-14  Arthur de Jong <arthur@arthurdejong.org>
+
+       * [3df6849] COPYING: Include a license file (LGPL)
+
+2014-04-13  Arthur de Jong <arthur@arthurdejong.org>
+
+       * [f08cdb5] tests/rfc6030-figure10.pskc, tests/test_rfc6030.doctest:
+         Add bulk provisioning test from Figure 10
+
+2014-04-13  Arthur de Jong <arthur@arthurdejong.org>
+
+       * [41828cd] pskc/parse.py: Use slightly clearer names
+
+2014-04-12  Arthur de Jong <arthur@arthurdejong.org>
+
+       * [5ab731c] tests/rfc6030-figure7.pskc, tests/test_rfc6030.doctest:
+         Add test for Figure 7 from RFC6030
+
+         This tests encrypted key derivation using PBKDF2 and a pre-shared
+         passphrase.
+
+2014-04-12  Arthur de Jong <arthur@arthurdejong.org>
+
+       * [a3fd598] pskc/encryption.py: Implement PBKDF2 key derivation
+
+         This supports deriving the key from a passphrase and information
+         present in the DerivedKey and PBKDF2-params XML elements.
+
+2014-04-12  Arthur de Jong <arthur@arthurdejong.org>
+
+       * [2ff470f] pskc/encryption.py: Add id attribute from EncryptionKey
+
+2014-04-12  Arthur de Jong <arthur@arthurdejong.org>
+
+       * [460f335] tests/rfc6030-figure6.pskc, tests/test_rfc6030.doctest:
+         Add test for Figure 6 from RFC6030
+
+         This test key encryption with a pre-shared key and MAC checks.
+
+2014-04-12  Arthur de Jong <arthur@arthurdejong.org>
+
+       * [a926ddb] pskc/mac.py, pskc/parse.py: Implement MAC checking
+
+         This implements message message authentication code checking
+         for the encrypted values if MACMethod and ValueMAC are present.
+
+2014-04-12  Arthur de Jong <arthur@arthurdejong.org>
+
+       * [e53e865] pskc/encryption.py, pskc/parse.py: Support decrypting
+         with a pre-shared key
+
+         This adds an encryption module that provides wrappers for
+         handling decryption.
+
+2014-04-11  Arthur de Jong <arthur@arthurdejong.org>
+
+       * [3fe0919] pskc/parse.py: Refactor DataType value handling
+
+         This ensures that DataType values are retrieved dynamically
+         instead of at the time the PSKC file was parsed in order to make
+         decryption work.
+
+2014-04-11  Arthur de Jong <arthur@arthurdejong.org>
+
+       * [591bb5d] pskc/policy.py: Document key and pin usage values
+
+2014-04-11  Arthur de Jong <arthur@arthurdejong.org>
+
+       * [b952b93] tests/rfc6030-figure5.pskc, tests/test_rfc6030.doctest:
+         Add test for Figure 5 from RFC6030
+
+         This test extraction of key policy information and cross-key
+         references.
+
+2014-04-11  Arthur de Jong <arthur@arthurdejong.org>
+
+       * [e939a96] pskc/parse.py, pskc/policy.py: Implement key policy
+         parsing
+
+         This parses key policy from PSKC files and provides a few utility
+         methods to help with policy validation.
+
+2014-04-11  Arthur de Jong <arthur@arthurdejong.org>
+
+       * [8c9ac8c] pskc/parse.py: Support parsing date and integer values
+
+2014-04-11  Arthur de Jong <arthur@arthurdejong.org>
+
+       * [6446f7d] tests/rfc6030-figure4.pskc, tests/test_rfc6030.doctest:
+         Add test for Figure 4 from RFC6030
+
+         This tests for key profile and key reference properties that
+         can be used to reference external keys.
+
+2014-04-07  Arthur de Jong <arthur@arthurdejong.org>
+
+       * [e72369f] tests/rfc6030-figure3.pskc, tests/test-rfc6030.doctest,
+         tests/test_rfc6030.doctest: Add test for Figure 3 from RFC6030
+
+         This tests Figure 3 from RFC6030 with a very basic plain text
+         secret key and some supplementary data.
+
+2014-04-07  Arthur de Jong <arthur@arthurdejong.org>
+
+       * [2c111a8] pskc/parse.py: Get more data from KeyPackage
+
+         This gets most simple string values from the KeyPackage as well
+         as some integer and boolean values.
+
+2014-04-07  Arthur de Jong <arthur@arthurdejong.org>
+
+       * [96b4b54] tests/rfc6030-figure2.pskc, tests/test-rfc6030.doctest:
+         Add test for example from RFC6030
+
+         This tests Figure 2 from RFC6030 with a very basic plain text
+         secret key.
+
+2014-04-07  Arthur de Jong <arthur@arthurdejong.org>
+
+       * [d662cf2] pskc/parse.py: Support getting plaintext key
+
+2014-04-07  Arthur de Jong <arthur@arthurdejong.org>
+
+       * [550630d] tests/test_minimal.doctest: Minimal test
+
+         This adds a doctest for the absolute minimum PSKC file that does
+         not contain any useful information.
+
+2014-04-07  Arthur de Jong <arthur@arthurdejong.org>
+
+       * [bf8e7f6] pskc/__init__.py, pskc/parse.py: Basic implementation
+         of PSKC class
+
+         This class is used for handling PSKC files. It will parse the
+         file and store relevant properties for easy access. The Key
+         class corresponds to a single key defined in the PSKC file.
+
+         This is a very minimal implementation that only provides some
+         meta-data from the file and keys (work in progress).
+
+2014-04-04  Arthur de Jong <arthur@arthurdejong.org>
+
+       * [9803dfc] README: Provide an initial README
+
+2014-04-02  Arthur de Jong <arthur@arthurdejong.org>
+
+       * [c912bb4] .gitignore, pskc/__init__.py: Initial project layout
diff --git a/MANIFEST.in b/MANIFEST.in
index 74f6b2c..217a0fd 100644
--- a/MANIFEST.in
+++ b/MANIFEST.in
@@ -1,3 +1,3 @@
 include README NEWS ChangeLog COPYING *.py
-recursive-include tests *.doctest *.py *.xml *.pskc *.pskcxml
+recursive-include tests *.doctest *.py *.pskcxml
 recursive-include docs *.rst *.py
diff --git a/NEWS b/NEWS
new file mode 100644
index 0000000..f8a032f
--- /dev/null
+++ b/NEWS
@@ -0,0 +1 @@
+Initial release

http://arthurdejong.org/git/python-pskc/commit/?id=15ca6438d175513254ac77b8cd13492f23a3fe04

commit 15ca6438d175513254ac77b8cd13492f23a3fe04
Author: Arthur de Jong <arthur@arthurdejong.org>
Date:   Fri May 23 11:49:10 2014 +0200

    Use pskcxml as file name extension
    
    This is the extension that is suggested in RFC6030.

diff --git a/README b/README
index a2f44d5..cf660d3 100644
--- a/README
+++ b/README
@@ -23,7 +23,7 @@ parsing existing PSKC files.
 Extracting key matarial from PSKC files is as simple as.
 
 >>> from pskc import PSKC
->>> pskc = PSKC('tests/rfc6030-figure7.pskc')
+>>> pskc = PSKC('tests/rfc6030-figure7.pskcxml')
 >>> pskc.encryption.derive_key('qwerty')
 >>> for key in pskc.keys:
 ...     print key.serial, key.secret
diff --git a/pskc/__init__.py b/pskc/__init__.py
index 04f6888..13622e4 100644
--- a/pskc/__init__.py
+++ b/pskc/__init__.py
@@ -31,7 +31,7 @@ for use in an OTP authentication system.
 The following prints all keys, decrypting using a password:
 
 >>> from pskc import PSKC
->>> pskc = PSKC('tests/rfc6030-figure7.pskc')
+>>> pskc = PSKC('tests/rfc6030-figure7.pskcxml')
 >>> pskc.encryption.derive_key('qwerty')
 >>> for key in pskc.keys:
 ...     print key.serial, key.secret
diff --git a/tests/rfc6030-figure10.pskc b/tests/rfc6030-figure10.pskcxml
similarity index 100%
rename from tests/rfc6030-figure10.pskc
rename to tests/rfc6030-figure10.pskcxml
diff --git a/tests/rfc6030-figure2.pskc b/tests/rfc6030-figure2.pskcxml
similarity index 100%
rename from tests/rfc6030-figure2.pskc
rename to tests/rfc6030-figure2.pskcxml
diff --git a/tests/rfc6030-figure3.pskc b/tests/rfc6030-figure3.pskcxml
similarity index 100%
rename from tests/rfc6030-figure3.pskc
rename to tests/rfc6030-figure3.pskcxml
diff --git a/tests/rfc6030-figure4.pskc b/tests/rfc6030-figure4.pskcxml
similarity index 100%
rename from tests/rfc6030-figure4.pskc
rename to tests/rfc6030-figure4.pskcxml
diff --git a/tests/rfc6030-figure5.pskc b/tests/rfc6030-figure5.pskcxml
similarity index 100%
rename from tests/rfc6030-figure5.pskc
rename to tests/rfc6030-figure5.pskcxml
diff --git a/tests/rfc6030-figure6.pskc b/tests/rfc6030-figure6.pskcxml
similarity index 100%
rename from tests/rfc6030-figure6.pskc
rename to tests/rfc6030-figure6.pskcxml
diff --git a/tests/rfc6030-figure7.pskc b/tests/rfc6030-figure7.pskcxml
similarity index 100%
rename from tests/rfc6030-figure7.pskc
rename to tests/rfc6030-figure7.pskcxml
diff --git a/tests/test_rfc6030.doctest b/tests/test_rfc6030.doctest
index 7572814..6a6028f 100644
--- a/tests/test_rfc6030.doctest
+++ b/tests/test_rfc6030.doctest
@@ -24,7 +24,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
 This tests Figure 2 from RFC6030. It is a basic key container example with
 a simple plain text secret key.
 
->>> pskc = PSKC('tests/rfc6030-figure2.pskc')
+>>> pskc = PSKC('tests/rfc6030-figure2.pskcxml')
 >>> [key.secret for key in pskc.keys]
 ['1234']
 >>> key = pskc.keys[0]
@@ -42,7 +42,7 @@ This tests Figure 3 from RFC6030. Relative to Figure 2 this 
includes
 device, cryptographic module and user identification as well as some more
 parameters.
 
->>> pskc = PSKC('tests/rfc6030-figure3.pskc')
+>>> pskc = PSKC('tests/rfc6030-figure3.pskcxml')
 >>> pskc.id
 'exampleID1'
 >>> key = pskc.keys[0]
@@ -76,7 +76,7 @@ This tests Figure 4 from RFC6030. In this case the key value 
itself is not
 contained but can be derived using the serial and out-of-band agreements
 on the meanings of key_profile and key_reference.
 
->>> pskc = PSKC('tests/rfc6030-figure4.pskc')
+>>> pskc = PSKC('tests/rfc6030-figure4.pskcxml')
 >>> key = pskc.keys[0]
 >>> key.serial
 '987654321'
@@ -90,7 +90,7 @@ on the meanings of key_profile and key_reference.
 
 This tests the key policy properties as illustrated in Figure 5 from RFC6030.
 
->>> pskc = PSKC('tests/rfc6030-figure5.pskc')
+>>> pskc = PSKC('tests/rfc6030-figure5.pskcxml')
 >>> len(pskc.keys)
 2
 >>> key1, key2 = pskc.keys
@@ -144,7 +144,7 @@ This tests key encryption based on pre-shared keys as 
illustrated in
 Figure 6 from RFC6030. The first attempt at extracting the key will fail
 due to the encryption.
 
->>> pskc = PSKC('tests/rfc6030-figure6.pskc')
+>>> pskc = PSKC('tests/rfc6030-figure6.pskcxml')
 >>> key = pskc.keys[0]
 >>> key.id
 '12345678'
@@ -164,7 +164,7 @@ True
 This tests a derived master key using PBKDF2 as seen in Figure 7 from
 RFC6030.
 
->>> pskc = PSKC('tests/rfc6030-figure7.pskc')
+>>> pskc = PSKC('tests/rfc6030-figure7.pskcxml')
 >>> pskc.encryption.key_name
 'My Password 1'
 >>> pskc.encryption.derive_key('qwerty')
@@ -181,7 +181,7 @@ True
 
 This tests bulk provisioning as shown in Figure 10 From RFC6030.
 
->>> pskc = PSKC('tests/rfc6030-figure10.pskc')
+>>> pskc = PSKC('tests/rfc6030-figure10.pskcxml')
 >>> all(key.manufacturer == 'TokenVendorAcme' for key in pskc.keys)
 True
 >>> [key.serial for key in pskc.keys]

http://arthurdejong.org/git/python-pskc/commit/?id=44c7d2e5a28874d77bfb9a810ab78d92d56d460a

commit 44c7d2e5a28874d77bfb9a810ab78d92d56d460a
Author: Arthur de Jong <arthur@arthurdejong.org>
Date:   Fri May 23 11:05:30 2014 +0200

    Improve IANA links

diff --git a/docs/policy.rst b/docs/policy.rst
index 54a1490..d50484b 100644
--- a/docs/policy.rst
+++ b/docs/policy.rst
@@ -31,7 +31,7 @@ limits that are placed on key usage and requirements for key 
PIN protection.
    .. attribute:: key_usage
 
       A list of `valid usage scenarios
-      <https://www.iana.org/assignments/pskc/pskc.xml#key-usage>`__ for the
+      <https://www.iana.org/assignments/pskc/#key-usage>`__ for the
       key that the recipient should check against the intended usage of the
       key. Also see :func:`may_use` and :ref:`the list of key usage constants
       below <key-use-constants>`.
diff --git a/docs/usage.rst b/docs/usage.rst
index 1216058..026df66 100644
--- a/docs/usage.rst
+++ b/docs/usage.rst
@@ -74,7 +74,7 @@ file.
 
       A URI that identifies the PSKC algorithm profile. The algorithm profile
       associates specific semantics to the key. Some `known profiles
-      <https://www.iana.org/assignments/pskc/pskc.xml#alg-profiles>`__ are:
+      <https://www.iana.org/assignments/pskc/#alg-profiles>`__ are:
 
       * ``urn:ietf:params:xml:ns:keyprov:pskc:pin``:
         `Symmetric static credential comparison 
<https://tools.ietf.org/html/rfc6030#section-10.2>`_

http://arthurdejong.org/git/python-pskc/commit/?id=cda1c5fd705ddd7689a924523415545ac35bd1db

commit cda1c5fd705ddd7689a924523415545ac35bd1db
Author: Arthur de Jong <arthur@arthurdejong.org>
Date:   Tue May 20 21:21:00 2014 +0200

    Improve test
    
    This tests that, before the PSKC ecnryption is key available, the secret
    from the key cannot be extracted.

diff --git a/tests/test_rfc6030.doctest b/tests/test_rfc6030.doctest
index 4530ae1..7572814 100644
--- a/tests/test_rfc6030.doctest
+++ b/tests/test_rfc6030.doctest
@@ -141,15 +141,20 @@ False
 
 
 This tests key encryption based on pre-shared keys as illustrated in
-Figure 6 from RFC6030.
+Figure 6 from RFC6030. The first attempt at extracting the key will fail
+due to the encryption.
 
 >>> pskc = PSKC('tests/rfc6030-figure6.pskc')
+>>> key = pskc.keys[0]
+>>> key.id
+'12345678'
+>>> key.secret is None
+True
 >>> pskc.encryption.key_name
 'Pre-shared-key'
 >>> pskc.encryption.key = '12345678901234567890123456789012'.decode('hex')
 >>> pskc.mac.key.encode('hex')
 '1122334455667788990011223344556677889900'
->>> key = pskc.keys[0]
 >>> key.secret.encode('hex')
 '3132333435363738393031323334353637383930'
 >>> key.check()

-----------------------------------------------------------------------

Summary of changes:
 ChangeLog                                          |  256 ++++++++++++++++++++
 MANIFEST.in                                        |    2 +-
 NEWS                                               |    1 +
 README                                             |    2 +-
 docs/policy.rst                                    |    2 +-
 docs/usage.rst                                     |    2 +-
 pskc/__init__.py                                   |    2 +-
 ...6030-figure10.pskc => rfc6030-figure10.pskcxml} |    0
 ...fc6030-figure2.pskc => rfc6030-figure2.pskcxml} |    0
 ...fc6030-figure3.pskc => rfc6030-figure3.pskcxml} |    0
 ...fc6030-figure4.pskc => rfc6030-figure4.pskcxml} |    0
 ...fc6030-figure5.pskc => rfc6030-figure5.pskcxml} |    0
 ...fc6030-figure6.pskc => rfc6030-figure6.pskcxml} |    0
 ...fc6030-figure7.pskc => rfc6030-figure7.pskcxml} |    0
 tests/test_rfc6030.doctest                         |   23 +-
 15 files changed, 276 insertions(+), 14 deletions(-)
 create mode 100644 ChangeLog
 create mode 100644 NEWS
 rename tests/{rfc6030-figure10.pskc => rfc6030-figure10.pskcxml} (100%)
 rename tests/{rfc6030-figure2.pskc => rfc6030-figure2.pskcxml} (100%)
 rename tests/{rfc6030-figure3.pskc => rfc6030-figure3.pskcxml} (100%)
 rename tests/{rfc6030-figure4.pskc => rfc6030-figure4.pskcxml} (100%)
 rename tests/{rfc6030-figure5.pskc => rfc6030-figure5.pskcxml} (100%)
 rename tests/{rfc6030-figure6.pskc => rfc6030-figure6.pskcxml} (100%)
 rename tests/{rfc6030-figure7.pskc => rfc6030-figure7.pskcxml} (100%)


hooks/post-receive
-- 
python-pskc
-- 
To unsubscribe send an email to
python-pskc-commits-unsubscribe@lists.arthurdejong.org or see
http://lists.arthurdejong.org/python-pskc-commits/