Commit Graph

375 Commits

Author SHA1 Message Date
Peter Hamilton 181b34b6cb Updating payload factories to reflect new KMIP operations
This change updates the payload factories, adding placeholder
support for operations added in KMIP 1.3. It also updates old
placeholders with now supported payloads. The corresponding
unit test suites have been updated to match the additions.
2016-11-29 15:42:05 -05:00
Peter Hamilton fa48509c95 Merge pull request #215 from OpenKMIP/bug/fix-conf-policy-path
Updating the server to allow optional policy_path values
2016-11-28 14:03:26 -05:00
Peter Hamilton 381e072bb7 Updating the server to allow optional policy_path values
This change updates the server, updating how it processes config
values and allowing it to handle optional or ommitted policy_path
values. This fixes a bug where users could not leave the
policy_path config file unset, in addition to a bug that forced
users to use '/etc/pykmip/policies' as their policy directory.

Fixes #210
2016-11-28 13:49:19 -05:00
Peter Hamilton 023bb8fd04 Merge pull request #214 from OpenKMIP/feat/add-get-attributes-payloads
Adding payloads for the GetAttributes operation
2016-11-27 21:05:59 -05:00
Peter Hamilton 0b69a0ac17 Adding payloads for the GetAttributes operation
This change adds the request and response payloads needed for the
GetAttributes operation. Test cases included.
2016-11-27 12:33:33 -05:00
Peter Hamilton ccf5c41e79 Merge pull request #213 from OpenKMIP/feat/update-attribute
Adding string utilites to the Attribute object
2016-11-27 12:30:34 -05:00
Peter Hamilton b36c730f22 Adding string utilites to the Attribute object
This change adds str and repr utilities to the Attribute object. A
new test suite for Attribute object tests is included, however only
the tests for the string utilities are included with this patch.
The remaining Attribute tests will be implemented in a later patch.
2016-11-27 12:21:11 -05:00
Peter Hamilton a97c9eb5ed Merge pull request #212 from OpenKMIP/feat/update-app-specific-info
Updating the ApplicationSpecificInformation attribute
2016-11-27 11:32:29 -05:00
Peter Hamilton a55310368f Updating the ApplicationSpecificInformation attribute
This change adds some utility methods, including equality operators
and string methods, to the ApplicationSpecificInformation attribute.
Unit tests covering the changes are included.
2016-11-27 11:23:11 -05:00
Peter Hamilton 194412a17f Merge pull request #206 from OpenKMIP/maint/add-examples-dir
Adding an examples directory with conf and policy example files
2016-11-17 16:13:06 -05:00
Peter Hamilton c907826614 Adding an examples directory with conf and policy example files
This change adds configuration and policy example files, to make
the setup and usage of the PyKMIP client and server easier for
users.
2016-11-17 15:56:27 -05:00
Peter Hamilton 8aa8803cf8 Merge pull request #207 from OpenKMIP/bug/fix-pep8-whitespace
Fixing minor pep8 whitespace error in test utilities
2016-11-17 15:55:55 -05:00
Peter Hamilton 23f6a05a54 Fixing minor pep8 whitespace error in test utilities 2016-11-17 15:09:21 -05:00
Peter Hamilton 22de2ef95d Merge pull request #203 from OpenKMIP/maint/add-support-for-python3.5
Adding support for Python 3.5
2016-11-14 09:15:38 -05:00
Peter Hamilton f595206960 Merge pull request #189 from OpenKMIP/feat/add-activate-to-server
Adding server support for the Activate operation
2016-11-12 16:46:56 -05:00
Peter Hamilton b7cc542d9a Adding server support for the Activate operation
This change adds support for the Activate operation to the server,
including additional server unit tests, a new IllegalOperation
exception, and updated state attribute support in Pie objects.

Fixes #186
2016-11-12 16:37:20 -05:00
Peter Hamilton 2a7c45e97a Merge pull request #201 from OpenKMIP/bug/fix-client-open-error-handling
Fixing potential undefined variable error in client open
2016-11-11 16:27:36 -05:00
Peter Hamilton 6dc522aa3f Adding support for Python 3.5 2016-11-11 16:12:39 -05:00
Peter Hamilton fce4be6179 Merge pull request #202 from OpenKMIP/maint/update-gitignore
Updating .gitignore
2016-11-11 15:31:05 -05:00
Peter Hamilton 59ba0a3336 Updating .gitignore 2016-11-11 14:55:01 -05:00
Peter Hamilton aae1577e3c Fixing potential undefined variable error in client open
This change reorganizes some of the error handling code in the
client open routine, preventing the generation of an undefined
variable error. The net effect of the client open routine is
unchanged.

Fixes #199
2016-11-11 14:49:07 -05:00
Peter Hamilton fbb456781e Merge pull request #200 from OpenKMIP/bug/fix-client-shutdown-error
Fixing a client socket shutdown bug when unconnected
2016-11-11 13:54:48 -05:00
Peter Hamilton 78f16e208a Fixing a client socket shutdown bug when unconnected
This change fixes a minor bug with the client shutdown routine,
where an error would get thrown when attempting to call shutdown
on an unconnected socket. This error is now caught and suppressed,
since the client is already shutting down. A new client unit test
is included to cover this change.
2016-11-11 12:51:39 -05:00
Peter Hamilton a9264e612f Merge pull request #198 from OpenKMIP/feat/add-operation-policy-loading
Adding dynamic operation policy loading to the KMIP server
2016-11-10 10:48:59 -05:00
Peter Hamilton 4a3769e113 Adding dynamic operation policy loading to the KMIP server
This change adds support for dynamic operation policy loading.
The server config file now supports a 'policy_path' option that
points to a filesystem directory. Each file in the directory
should contain a JSON policy object. The KMIP server will scan
this directory and attempt to load all valid policies it finds.
The results of this process will be logged.
2016-11-10 10:39:16 -05:00
Peter Hamilton 799891ea6b Merge pull request #197 from OpenKMIP/feat/add-object-ownership
Adding operation policy enforcement to the KMIP server engine
2016-10-20 12:28:27 -04:00
Peter Hamilton e0b0a5c7bf Adding operation policy enforcement to the KMIP server engine
This change adds enforcement of KMIP operation policies to the
server engine, specifically to the Get and Destroy operations.
Explicit object ownership is enforced as a result, with ownership
now a tracked internal server property of managed objects. Tests
for this new functionality are included.
2016-10-14 12:59:12 -04:00
Peter Hamilton 30e1a6c095 Merge pull request #196 from OpenKMIP/feat/enforce-server-opp-policy
Add server persistence for operation policy names
2016-10-14 11:09:10 -04:00
Peter Hamilton 4d6ba8a964 Add server persistence for operation policy names
This change updates the KMIP engine to process and persist the
value of the operation policy name attribute when creating or
registering new managed objects. Tests are included for these
changes.
2016-10-06 09:36:19 -04:00
Peter Hamilton 843c75d830 Merge pull request #195 from OpenKMIP/feat/add-opp-policy-name-to-client
Adding operation policy name support to the client
2016-10-06 09:35:29 -04:00
Peter Hamilton 894a7ac97d Adding operation policy name support to the client
This change adds operation policy name support to the pie client,
allowing you to optionally specify the policy name when creating
new symmetric keys and asymmetric key pairs. The operation policy
name can also be set on any pie object and will be sent with the
corresponding register request for new objects. Tests for these
additions are included.
2016-10-05 15:33:06 -04:00
Peter Hamilton bcb5e7d948 Merge pull request #192 from OpenKMIP/feat/add-client-cert-auth
Adding session extraction of client identity from certificates
2016-10-04 14:55:14 -04:00
Peter Hamilton 38daeca59d Merge pull request #194 from OpenKMIP/bug/fix-cred-assumption-in-server
Fixing server failure on missing request credential
2016-10-03 13:50:59 -04:00
Peter Hamilton 91606db711 Fixing server failure on missing request credential
This change fixes a bug in the KMIP server engine where a missing
request credential would cause the session to prematurely
terminate. Credential handling may require session termination
for missing credentials, but that decision should be made by
credential processing not request processing.

Fixes #193
2016-10-03 11:10:42 -04:00
Peter Hamilton 8fd6349152 Adding session extraction of client identity from certificates
This change updates the KmipSession, allowing it to extract client
identity from the client certificate of a TLS connection. The
certificate subject common name is used as the client identity if
the certificate has client authentication set in the extended key
usage extension.

This change breaks backwards compatibility. If a client certificate
does not define a client identity, the session will reject it and
shutdown the connection. Any client certificates used to connect
with the software server in the past will need to be replaced with
certificates that define a suitable client identity.
2016-09-13 15:30:08 -04:00
Peter Hamilton 40919468a6 Merge pull request #191 from OpenKMIP/feat/add-operation-policies
Adding default KMIP operation policies
2016-09-13 15:02:08 -04:00
Peter Hamilton 765df8340a Adding default KMIP operation policies
This change adds enumerations and policy objects to support the
specification and enforcement of KMIP operation policies. A new
module, kmip.core.policy, is added to define the default policy
objects required by the KMIP specification.
2016-09-09 14:45:34 -04:00
Peter Hamilton 00be488134 Merge pull request #190 from OpenKMIP/feat/update-enums-to-1.2
Updating KMIP enumerations to support KMIP 1.2
2016-09-06 13:52:28 -04:00
Peter Hamilton f122f19621 Updating KMIP enumerations to support KMIP 1.2
This change updates the set of supported enumerations to include
all enumerations included in KMIP 1.2. Existing enumerations are
updated where required.
2016-08-30 14:34:16 -04:00
Peter Hamilton 249fafb89b Merge pull request #188 from OpenKMIP/feat/add-state-attribute
Adding support for the State attribute
2016-08-27 17:50:41 -04:00
Peter Hamilton 65ad4c6111 Adding support for the State attribute
This change adds the State attribute, updating the attribute
factory to support creating it.
2016-08-27 17:13:47 -04:00
Peter Hamilton b46de1849e Merge pull request #187 from OpenKMIP/feat/add-state-enumerations
Adding the State enumeration
2016-08-27 16:53:07 -04:00
Peter Hamilton a8e1854953 Adding the State enumeration
This change adds the State enumeration to the enumerations set.
2016-08-27 16:39:42 -04:00
Peter Hamilton 35fb5c0c9b Merge pull request #163 from OpenKMIP/ver/prep-release-0-5-0
PyKMIP - Release 0.5.0
2016-04-14 08:06:16 -04:00
Peter Hamilton 6d15e91ca7 Merge pull request #166 from OpenKMIP/feat/update-readme
Updating README
2016-04-14 08:00:36 -04:00
Peter 600479fd7c PyKMIP - Release 0.5.0
This update includes a new implementation of the PyKMIP software server,
in addition to other minor features and bug fixes:
* Add KmipServer server implementation
* Add KmipSession to manage threaded client/server connections
* Add KmipEngine for processing core server application logic
* Add KmipEngine support for CRUD operations for managed objects
* Add SQLAlchemy/SQLite support for KmipEngine data storage
* Add CryptographyEngine component for all cryptographic operations
* Add pending deprecation warning for Python 2.6 support
* Add pending deprecation warning for the KMIPServer implementation
* Add support for building Sphinx documentation
* Add support for SQLAlchemy tables to all Pie objects
* Add Python magic methods to Attribute and Name objects
* Add Attribute class unit tests
* Add bin script to run the KmipServer
* Add setup entry points to run the KmipServer
* Update DiscoverVersions demo with optional versions argument
* Update all demo scripts to setup their own logging infrastructure
* Update README with information on the KmipServer implementation
* Remove expired certificate files from the integration test suite
* Remove default package log configuration and configuration file
* Fix bug with Locate payload parsing optional values
* Fix bug with DateTime string tests and move to UTC representation
2016-04-14 07:58:09 -04:00
Peter 361e2612a7 Updating README
This change updates the PyKMIP README, adding additional information on
the new software server in addition to other minor updates.
2016-04-13 15:26:28 -04:00
Peter Hamilton d7b27b211b Merge pull request #165 from OpenKMIP/dev/pykmip-server
Added KMIP Server Entry Point
2016-04-11 13:33:36 -04:00
Nathan Reller 7096ed63f3 Added KMIP Server Entry Point
Added console_scripts to setup.py, and added an entry for
pykmip-server. The pykmip-server application will run the PyKMIP
server. The two command line options below will run the server.

python -m kmip.services.server.server
pykmip-server
2016-04-11 10:27:57 -04:00
Peter Hamilton 7c57416249 Merge pull request #162 from OpenKMIP/maint/add-server-logging
Updating the KmipEngine logging for operation handling
2016-04-07 11:05:39 -04:00