RETIRED, further work has moved to Debian project infrastructure
Go to file
Peter Hamilton b99bf8cbf4 Reorganizing message payload code
This change is primarily a reorganization of the message payload code
originally found in kmip/core/messages/operations.py. The code from that
module has been moved to a new package, kmip.core.messages.payloads, and
split into separate modules according to each supported KMIP operation.

The surrounding KMIP codebase has been updated to use the new package
structure and a placeholder test suite has been put in place for future
tests. This change does NOT include test cases as these would primarily
be a refactoring from the current test suite found in
kmip/tests/core/messages/test_messages.py and that work has not been
done yet.
2014-12-11 13:32:17 -05:00
bin Adds a configuration file 2014-09-17 00:24:58 -07:00
docs PyKMIP library version 0.0.1 2014-08-11 16:34:30 -04:00
kmip Reorganizing message payload code 2014-12-11 13:32:17 -05:00
.gitignore PyKMIP library version 0.0.1 2014-08-11 16:34:30 -04:00
AUTHORS.txt PyKMIP - Release v0.0.1 2014-08-13 19:23:05 -04:00
CHANGES.txt PyKMIP - Release v0.2.0 2014-11-12 08:58:49 -05:00
LICENSE.txt PyKMIP - Release v0.0.1 2014-08-13 19:23:05 -04:00
MANIFEST.in Adding server key and cert files to installation 2014-12-10 18:43:56 -05:00
README.rst Formatting line breaks in README 2014-09-22 12:55:58 -04:00
requirements.txt Adding support for the six library 2014-11-18 15:19:56 -05:00
setup.py Adding server key and cert files to installation 2014-12-10 18:43:56 -05:00
test-requirements.txt PyKMIP library version 0.0.1 2014-08-11 16:34:30 -04:00
tox.ini PyKMIP - Release v0.1.0 2014-08-28 14:04:23 -04:00

PyKMIP

PyKMIP is a Python implementation of the Key Management Interoperability Protocol (KMIP) specification, supporting version 1.1 of the KMIP standard. The KMIP standard is governed by the Organization for the Advancement of Structured Information Standards (OASIS) and specifies a client/server-based protocol to perform key, certificate, and secret object management, including storage and maintenance operations.

The PyKMIP library currently provides a KMIP client and server supporting the following operations for the KMIP SymmetricKey managed object:

  • Create
  • Register
  • Get
  • Destroy

Note that KMIP specifies profiles that tailor the standard to specific use cases. The KMIP Profile Support section includes several profiles that need to be developed for PyKMIP to fully support symmetric key storage and generation capabilities. A list of operations necessary for these profiles is included.

The PyKMIP software-based KMIP server is intended for use only in testing and demonstration environments. Note that the PyKMIP server is NOT intended to be a substitute for secured, hardware-based KMIP appliances. The PyKMIP client should be used for operational purposes only with a hardware-based KMIP server. The development of the PyKMIP client and server should take place in parallel to facilitate testing of each operation as it is developed.

Platforms

PyKMIP has been tested and runs on Ubuntu 12.04 LTS.

KMIP Profile Support

The KMIP standard includes various profiles that tailor the standard for specific use cases (e.g., symmetric key storage with TLS 1.2). These profiles specify conformance to certain operations and attributes. The operations listed below are needed to support symmetric key profiles, which are also provided below. We would appreciate help in the development of these operations, and have listed our recommended order of development prioritization in descending order. Since active development of these features is already underway, please check the code base to assess the status of operations prior to development.

KMIP operations to add to PyKMIP:

  • Discover Versions
  • List
  • Locate
  • Check
  • Revoke
  • Get Attributes
  • Get Attribute List
  • Add Attribute
  • Modify Attribute
  • Delete Attribute
  • Activate
  • Query

Note that the Create, Register, Get, and Destroy operations were completed with the initial version of PyKMIP to allow very basic KMIP symmetric key operations.

Server Profiles

Server profiles that support KMIP symmetric key operations:

Client Profiles

Client profiles that support KMIP symmetric key operations:

References

The source code for PyKMIP is hosted on GitHub and the library is available for installation from the Python Package Index (PyPI):

For more information on KMIP version 1.1, see the following documentation:

Contributors

Many thanks to the developers who created PyKMIP: