Commit Graph

836 Commits

Author SHA1 Message Date
Peter Hamilton 4c4bddc521 Add payloads for the GetUsageAllocation operation
This change adds request and response payloads for the
GetUsageAllocation operation. Unit test suites are included for
both payloads and both payloads can be imported directly from the
payloads package.
2017-12-08 05:58:40 -05:00
Peter Hamilton f23dde88cf Add payloads for the Cancel operation
This change adds request and response payloads for the Cancel
operation. Unit test suites are included for both payloads. Both
payloads can be imported directly from the payloads package.
2017-12-08 05:09:44 -05:00
Peter Hamilton 54b1df7726 Remove unused error code
This change removes unused exceptions defined in core/errors.py,
along with the errors.py module itself. The few used items from
this file are migrated over to core/exceptions.py. Any dependent
code is updated, dropping the use of errors.py and adding in the
use of exceptions.py.
2017-12-07 20:59:23 -05:00
Peter Hamilton 0b08301606 Add payloads for the Archive operation
This change adds request and response payloads for the Archive
operation. Unit test suites are included for both payloads and
both payloads can be imported directly from the payloads package.
2017-12-07 19:04:36 -05:00
Peter Hamilton 187ed7e924 Remove dead KeyFactory code
This change removes the KeyFactory code from the factories package.
It was unused and has been replaced with direct key object creation
where needed.
2017-12-07 18:15:54 -05:00
Peter Hamilton 65bea78cad Remove dead object code
This change removes dead, unused code in core/objects.py. No other
changes are included.
2017-12-07 16:40:36 -05:00
Peter Hamilton ce51ea65f8 Update the Travis CI infrastructure to run integration tests
This change updates the Travis CI configuration to support running
the PyKMIP integation test suite. A custom run.sh script is added
which conditionally runs tox based on an environment flag set in
.travis.yml. If integration tests are activated, the test VM will
be prepped for running the PyKMIP server; this includes creating
/etc/pykmip content, like pykmip.conf and server.conf, along with
a basic certificate to use for both the client and server.
2017-12-07 16:03:22 -05:00
Peter Hamilton 26af4b3404
Merge pull request #383 from OpenKMIP/feat/drop-python-3.3-support
Drop Python 3.3 support
2017-12-07 15:56:01 -05:00
Peter Hamilton c6ba51c2ac Drop Python 3.3 support
This change drops Python 3.3 support for PyKMIP. Python 3.3 was
released over 5 years ago and has reached end-of-life as of
September 19, 2017 with the 3.3.7 release. Library dependencies
have begun to drop Python 3.3 support as well.
2017-12-07 14:53:53 -05:00
Peter Hamilton d27d838db2
Merge pull request #380 from OpenKMIP/feat/update-readme
Update README to align with new project documentation
2017-12-07 13:20:44 -05:00
Peter Hamilton 7895d4c820
Merge pull request #379 from OpenKMIP/feat/update-client-docs
Updating the client documentation with configuration info
2017-12-07 13:20:23 -05:00
Peter Hamilton 0c046b173d Updating the client documentation with configuration info
This change updates the client documentation, adding in the
client configuration information available in the README. This
consolidates all client information in the same place and
prepares the README for an upcoming change.
2017-12-07 10:53:08 -05:00
Peter Hamilton 8db92c32b9 Update README to align with new project documentation
This change updates the project README, dropping most of the old
README content and replacing it with snippets taken from the new
project documentation. Users and developers should reference the
project docs as their main source of information from now on.
2017-12-07 10:52:38 -05:00
Peter Hamilton bd9e28e10e
Merge pull request #371 from OpenKMIP/maint/temp-pin-pytest
Temporarily pin pytest to <3.3
2017-12-04 11:19:24 -05:00
Peter Hamilton cc7f3e022a Temporarily pin pytest to <3.3
This change pins the pytest requirement to <3.3 to allow for
continuing Python 3.3 support. This change will be reverted once
official support for Python 3.3 is dropped from PyKMIP.
2017-12-04 10:51:56 -05:00
Peter Hamilton 0f85a9016b
Merge pull request #369 from OpenKMIP/feat/update-tox-doc-tests
Update the Travis CI config to test doc building
2017-11-20 14:34:36 -05:00
Peter Hamilton 48acdc1bb6
Merge pull request #368 from OpenKMIP/feat/add-sphinx-docs
Add Sphinx documentation
2017-11-20 13:10:46 -05:00
Peter Hamilton cf6ad944b7
Merge pull request #367 from OpenKMIP/feat/bump-version
Update the PyKMIP library version to 0.8.dev
2017-11-20 11:53:22 -05:00
Peter Hamilton 6650245d08 Update the Travis CI config to test doc building
This change updates the .travis.yml configuration to include
building the Sphinx documentation whenever the Travis CI build
is triggered.
2017-11-17 15:18:53 -05:00
Peter Hamilton 0dcfe8918c Add Sphinx documentation
This change adds a new documentation suite managed by Sphinx.
Information on the library, including client and server details,
a glossary, and development guidelines are included.
2017-11-17 13:50:52 -05:00
Peter Hamilton 0f17332800 Update the PyKMIP library version to 0.8.dev
This change updates the library version to the next dev version,
tweaking version handling and the changelog to reflect this change.
2017-11-15 14:21:52 -05:00
Peter Hamilton bebf1def63
Merge pull request #366 from OpenKMIP/release-0.7.0
PyKMIP - Release 0.7.0
2017-11-14 14:22:02 -05:00
Peter Hamilton 09fb4df755
Merge pull request #365 from OpenKMIP/feat/update-readme
Update the README
2017-11-14 14:10:46 -05:00
Peter Hamilton a8a99c8ac2
Merge pull request #362 from OpenKMIP/bug/fix-shared-ciphers
Fixing bug with session logging shared ciphers
2017-11-14 11:54:53 -05:00
Peter Hamilton 649c8f7857 PyKMIP - Release 0.7.0
This update includes new operations and features for the client
and server, in addition to other minor updates and bug fixes:

* Add support for Python 3.6
* Add support for the InitialDate attribute
* Add server support for the GetAttributeList operation
* Add server support for the Locate operation
* Add client and server support for the MAC operation
* Add client and server support for the Revoke operation
* Add client and server support for the Encrypt operation
* Add client and server support for the Decrypt operation
* Add client and server support for the DeriveKey operation
* Add client and server support for the Sign operation
* Add client and server support for the SignatureVerify operation
* Add client and server support for retrieving wrapped keys
* Add client and server support for storing wrapped keys
* Add KMIP 1.4 enumerations
* Add server config option enabling certificate extension checks
* Add server config option defining set of usable TLS ciphers
* Add server config option setting the server log level
* Update server to enforce checking object state and usage masks
* Update server Locate support to allow object name filtering
* Remove support for Python 2.6
* Fix bug with multithreading support with the SQLite backend
* Fix bug with how open() is mocked in the server test suite
* Fix bug with mismapped polymorphic identity for certificates
* Fix bug with socket interrupt handling under Python 3.5
* Fix bug with detached instance errors in the server test suite
2017-11-14 01:30:49 -05:00
Peter Hamilton b198b37f26 Update the README
This change updates the project README, removing old information
in preparation for a new documentation system.
2017-11-14 00:18:18 -05:00
Peter Hamilton 0cb4c98770
Merge pull request #360 from OpenKMIP/feat/remove-old-config
Removing old outdated pykmip.conf
2017-11-08 10:43:35 -05:00
Peter Hamilton 86d9b59d1f Fixing bug with session logging shared ciphers
This change fixes a bug with the KmipSession logging shared
ciphers used by the TLS connection. The SSLSocket only supports
shared cipher information starting with Python 3.5. Any use of
the server with older versions of Python will fail when any
connection attempts are made. This fix adds a conditional check
that skips logging shared cipher information if the SSLSocket
does not support that information.

Fixes #361
2017-11-08 10:19:04 -05:00
Peter Hamilton 2a279874b5
Merge pull request #359 from OpenKMIP/feat/update-travis-config
Update the Travis CI configuration
2017-11-08 10:11:19 -05:00
Peter Hamilton 4ae995d75c Removing old outdated pykmip.conf 2017-11-08 01:53:47 -05:00
Peter Hamilton f04af28cf6 Update the Travis CI configuration
This change updates the Travis CI configuration file to expand
the test suite, allowing it to run on multiple Ubuntu backends,
specifically Precise (12.04 LTS) and Trusty (14.04 LTS).
2017-11-08 01:32:42 -05:00
Peter Hamilton 8a13239406 Merge pull request #358 from OpenKMIP/feat/fix-flake8-e722
Fixing violations of E722 for flake8 checks
2017-10-24 10:46:38 -04:00
Peter Hamilton 626798b327 Merge pull request #355 from OpenKMIP/feat/remove-client-api
Remove the KmipClient API class
2017-10-24 09:42:24 -04:00
Peter Hamilton c7711c78c7 Merge pull request #354 from OpenKMIP/feat/rename-certificate-type
Rename the CertificateTypeEnum enum to CertificateType
2017-10-24 09:42:03 -04:00
Peter Hamilton 99b99cc454 Merge pull request #353 from OpenKMIP/feat/import-client-global
Update the kmip package to support importing the client
2017-10-24 09:41:46 -04:00
Peter Hamilton e77dcadf41 Fixing violations of E722 for flake8 checks
This change fixes violations of E722, the use of except without
specifying an exception type. For now the high-level Exception
class is used as a generic catchall. In the future these cases
will be updated to handle the specific exceptions expected.
2017-10-23 08:43:36 -04:00
Peter Hamilton fdb9218795 Remove the KmipClient API class
This change removes the redundant KmipClient API class from the
pie package. The ProxyKmipClient is the main client going forward
and there is no need for a generic API against which to develop
new clients. If this is needed in the future, it is trivial to
restore.
2017-10-11 10:45:04 -04:00
Peter Hamilton f5fa9badd0 Update the kmip package to support importing the client
This change updates the root-level kmip package, allowing users
to now import the client directly from the kmip package:

from kmip import KmipClient

The KmipClient is an alias for the ProxyKmipClient located in
kmip.pie.client. This will simplify usage and help obfuscate
internal package details that may change in the future.
2017-10-11 10:19:22 -04:00
Peter Hamilton 179a84b268 Rename the CertificateTypeEnum enum to CertificateType
This change renames the CertificateTypeEnum enumeration to
CertificateType, matching the naming schemes of all other
enumerations. This is a backwards incompatible change and
will break any scripts or programs that use the current
CertificateTypeEnum name.
2017-10-11 08:24:55 -04:00
Peter Hamilton 0a04424e6b Merge pull request #351 from OpenKMIP/feat/add-enum-import
Update the kmip package to allow importing enums globally
2017-10-09 10:19:10 -04:00
Peter Hamilton e65ed7382c Update the kmip package to allow importing enums globally
This change updates the root-level kmip package, allowing users
to now import enums directly from the kmip package:

from kmip import enums

Enumerations are used throughout the codebase and user applications
and this will simplify usage and help obfuscate internal package
details that may change in the future.
2017-10-05 18:39:46 -04:00
Peter Hamilton ff4a0aa726 Merge pull request #349 from OpenKMIP/feat/add-register-wrapped-integration
Add a ProxyKmipClient integation test for registering wrapped keys
2017-10-04 17:49:13 -04:00
Peter Hamilton 721e7f3717 Add a ProxyKmipClient integation test for registering wrapped keys
This change adds a ProxyKmipClient integration test that verifies
that a wrapped key can be registered with the server and can then
be retrieved, along with all of its key wrapping metadata. Minor
updates to the underlying metadata handling are included.
2017-10-04 17:35:09 -04:00
Peter Hamilton b3d4ffb03f Merge pull request #350 from OpenKMIP/feat/update-key-wrapping-structs
Update key wrapping data structures to support dict arguments
2017-10-04 17:31:41 -04:00
Peter Hamilton 9acf38568f Update key wrapping data structures to support dict arguments
This change makes several minor updates to different structs
pertaining to key wrapping, allowing these structs to accept and
process dict arguments. Unit tests have been updated to reflect
this change.
2017-10-04 16:58:35 -04:00
Peter Hamilton 84a8168a11 Merge pull request #348 from OpenKMIP/feat/add-get-wrapped-integration
Add a ProxyKmipClient integration test for getting wrapped keys
2017-10-02 01:43:31 -04:00
Peter Hamilton 0bfbb1a982 Add a ProxyKmipClient integration test for getting wrapped keys
This change adds an integration test for the ProxyKmipClient that
verifies that Get can be used with a key wrapping specification
to retrieve a key cryptographically wrapped with another key.
2017-10-02 01:23:13 -04:00
Peter Hamilton 6df0315d41 Merge pull request #347 from OpenKMIP/feat/add-key-wrapping-data-model
Update the object data model to support storing key wrapping data
2017-10-02 01:19:23 -04:00
Peter Hamilton 7961d8820c Merge pull request #346 from OpenKMIP/feat/update-client-get
Updating the ProxyKmipClient to support getting wrapped keys
2017-10-02 01:16:01 -04:00
Peter Hamilton fc86e1bef4 Update the object data model to support storing key wrapping data
This change updates the KMIP object model to support explicitly
storing key wrapping data attributes. Key wrapping data is treated
externally as a dictionary and is stored as individual fields in
the back end. Various unit tests have been updated and added to
support these additions.
2017-09-30 16:56:02 -04:00