added a memoryview wrapper for python 2 to make this usage more uniform
- started implementing __copy__ methods to make copying PGP* objects less useless
- added an initial set of copy tests
- moved _parent stuff to a new mixin class ParentRef to reduce code duplication
this also wraps _parent references in weakrefs to help reduce cycles
- implemented recovering a public key from a private key [closes#92]
added a test for this as well
- added missing OIDs for EllipticCurveOID enum members
- expanded test of expected key generation failures to test all ECC OIDs that aren't implemented yet
- some minor code cleanups
- Additional code needed to generate ECDH keys also added
- Encrypt/decrypt using ECDH also works
- Added some code to the test harness to start making it work with gpg 2.1
- Fixed key generation tests to test generating keys using all possible algorithms
- Updated documentation sources to reflect these changes
- updated CI configs so that Python 3.2 can actually finish running the test suite without crashing since it is stuck on an older version of Cryptography
- added additional tests to test setup.py on all versions of Python after I noticed that a recent change would have made it break on Python 3.2
- enum34 should no longer be installed needlessly on Python 3.4 or newer
- added --no-cache-dir to tox's call to pip to install dependencies needed for testing
- Added ECDSA signing and verification - closes#111
- ECDSA key generation is also supported
- refactored some of the signing/verification machinery to simplify code in PGPKey._sign and PGPKey.verify
- fixed a bug with Signature subpacket ByteFlags where the byte output was not being properly null-padded to the length of the subpacket when necessary, which led to the potential for key outputs that would fail to parse properly if update_hlen was not called (which is silly)
- fixed string formatting UserID packets when the comment and/or email address are missing - closes#142
- implemented OpaquePubKey and OpaquePrivKey so that keys using unimplemented formats can still be loaded without error, even if they can't be used
- enabled initial key action testing using ecc.1.pub.asc and ecc.1.sec.asc (which also required copying the two signatures from ecc.1.pub.asc to ecc.1.sec.asc)
- improved test output for some tests with auto-ids that were formed in an unfortunate manner
- modified tox.ini so that py32 can continue to be tested even though cryptography no longer supports it
- Key Generation - #147 :
- implemented new API method
- added unit tests for generating keys, adding user ids, and adding new subkeys
- added unit tests to test basic expected exception raising when trying to use incomplete keys
- added a very basic key-completeness test to the @KeyAction decorator
- added __contains__ to SignatureVerification
- renamed PGPSignature.expires to PGPSignature.expires_at for consistency
- added missing property PGPKey.expires_at
- added documentation to PGPUID's class docstring to indicate that it implements __format__ for GnuPG-like formatting of User IDs.
- Forced ByteFlag subpackets to take/return sets now instead of lists
- removed some properties from PGPKey
- added new classmethod `from_blob` to Armorable
- made some modifications to the unit tests to work with this stuff