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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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
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
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).
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.
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.
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.
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.
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.
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.
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.
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.
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.