Commit Graph

804 Commits

Author SHA1 Message Date
Peter Hamilton 5b5607a8c7 Add Rekey support to the ProxyKmipClient
This change adds Rekey operation support to the ProxyKmipClient.
The client unit test suite has been updated to cover the new code.

Closes #405
2018-04-15 23:26:13 -04:00
Peter Hamilton be436ba519
Merge pull request #421 from OpenKMIP/feat/add-rekey-client
Add Rekey support to the KMIPProxy client
2018-04-15 22:41:31 -04:00
Peter Hamilton 66929198c3 Add Rekey support to the KMIPProxy client
This change adds Rekey operation support to the KMIPProxy client.
The client unit test suite has been updated to cover the new
additions.

Partially addresses #405
2018-04-15 16:45:53 -04:00
Peter Hamilton a604ae17b3
Merge pull request #420 from OpenKMIP/feat/add-rekey-payloads
Add the request and response payloads for the Rekey operation
2018-04-13 16:04:15 -04:00
Peter Hamilton 9be760a0a1
Merge pull request #416 from OpenKMIP/feat/add-policy-file-monitoring
Integrate policy file monitoring with the server
2018-04-13 09:34:32 -04:00
Peter Hamilton 412b452adf Add the request and response payloads for the Rekey operation
This change adds the request/response payloads for the Rekey
operation. Unit tests are included to cover the new payloads. The
payloads package is also updated to allow direct import of the
Rekey payloads going forward.

Partially addresses #405
2018-04-12 22:34:58 -04:00
Peter Hamilton 33d1aabf76
Merge pull request #419 from OpenKMIP/bug/fix-create-key-pair-masks
Fix cryptographic usage mask handling for CreateKeyPair
2018-04-11 22:17:00 -04:00
Peter Hamilton 8260da0905
Merge pull request #418 from OpenKMIP/bug/derive-key-usage-masks
Add cryptographic usage mask support for DeriveKey
2018-04-11 22:16:14 -04:00
Peter Hamilton 950e98569e Fix cryptographic usage mask handling for CreateKeyPair
This change fixes how the ProxyKmipClient handles cryptographic
usage mask values for the CreateKeyPair operation. Originally,
both Encrypt and Decrypt were set by default for both public and
private keys. This is incorrect behavior for certain algorithms.
Now, only the masks specified by the caller are set on the key
pair.

Fixes #412
2018-04-11 21:51:32 -04:00
Peter Hamilton 25f6cc9e5c Add cryptographic usage mask support for DeriveKey
This change updates the ProxyKmipClient support for the DeriveKey
operation, now allowing the caller to specify a list of
CryptographicUsageMask enumerations to set on the newly derived
key.

Fixes #417
2018-04-11 20:44:20 -04:00
Peter Hamilton 05b5b8411a Integrate policy file monitoring with the server
This change updates the server, integrating policy file monitoring
and restructuring the engine. The top-level server entity now
handles loading policy files using the PolicyDirectoryMonitor
subprocess. A shared memory dictionary is used to share newly
modified policy data across the session threads managed by the
server and used by the engine. The legacy policy loading code in
the engine has been removed.

Unit tests have been added and modified for both the server and
engine to verify the functionality of these modifications.
2018-04-11 13:42:44 -04:00
Peter Hamilton 3c59dcf61a
Merge pull request #415 from OpenKMIP/feat/add-policy-file-monitor
Add a policy directory monitor
2018-04-10 16:29:23 -04:00
Peter Hamilton 055483d663 Add a policy directory monitor
This change adds a PolicyDirectoryMonitor subprocess that can be
used by the server to continuously monitor and load operation
policies from the configured operation policy directory. The
monitor tracks policy file modifications, file creation, and file
deletion, restoring legacy policies from existing policy files
should the current file backing a policy get deleted. Changes to
existing policies are detected and updated as soon as the backing
policy file is saved to disk.

An extensive unit test is included to exercise the different
operating conditions the monitor may encounter.
2018-04-10 14:32:27 -04:00
Peter Hamilton 6122579844
Merge pull request #414 from OpenKMIP/feat/add-check-pie
Add Check support to the ProxyKmipClient
2018-04-06 20:15:42 -04:00
Peter Hamilton 804a59d75d Add Check support to the ProxyKmipClient
This change adds Check operation support to the ProxyKmipClient.
The client unit test suite has been updated to cover the new code.

Partially addresses #405
2018-04-06 19:47:10 -04:00
Peter Hamilton 54efe7b3db
Merge pull request #413 from OpenKMIP/feat/add-check-client
Add Check support to the KMIPProxy client
2018-04-06 19:42:29 -04:00
Peter Hamilton 822b889f2e Add Check support to the KMIPProxy client
This change adds Check operation support to the KMIPProxy client.
The client unit test suite has been updated to cover the new
additions.

Partially addresses #405
2018-04-06 00:02:36 -04:00
Peter Hamilton fdfbba8a0e
Merge pull request #411 from OpenKMIP/bug/fix-client-crypto-params
Fix a client bug for cryptographic parameter handling
2018-04-02 13:47:27 -04:00
Peter Hamilton 74f20428f6 Fix a client bug for cryptographic parameter handling
This change fixes a bug with the ProxyKmipClient handling of
cryptographic parameters, specifically handling the case where
no cryptographic parameters are provided for an operation method
call. When no parameters are specified, None is now correctly
propagated through to request handling. A client unit test has
been added to cover this fix.

Fixes #406
2018-04-02 13:03:02 -04:00
Peter Hamilton fdafbfd904
Merge pull request #410 from OpenKMIP/feat/add-operation-policy-name-demo
Add operation policy name to demo scripts
2018-04-02 12:49:34 -04:00
Peter Hamilton a75f0e3666 Add operation policy name to demo scripts
This change adds the ability to set the operation policy name
attribute to object creation demo scripts, including demos for
the Create, CreateKeyPair, and Register operations.
2018-04-02 11:13:53 -04:00
Peter Hamilton b963f7094e
Merge pull request #409 from OpenKMIP/feat/add-certs-script
Add a certificate creation script
2018-04-02 11:09:19 -04:00
Peter Hamilton 0c8f39e069 Add a certificate creation script
This change adds a certificate creation script to the library bin,
allowing for easy creation of root CA, server, and various client
certificates. The resulting certificates can be used for testing
and the script itself can be adapted to generate any certificates
needed by users or PyKMIP deployers.
2018-04-02 10:13:29 -04:00
Peter Hamilton 6bda8ec999
Merge pull request #407 from OpenKMIP/feat/update-session-auth
Update the server session to use the auth plugin framework
2018-03-30 09:38:58 -04:00
Peter Hamilton 1a093f141e Update the server session to use the auth plugin framework
This change updates how the server session handles message
processing, adding support for the new authentication plugin
framework. Session unit tests have been updated to account for
this change.
2018-03-30 09:08:39 -04:00
Peter Hamilton f06014e7c6
Merge pull request #401 from OpenKMIP/feat/add-register-name
Update ProxyKmipClient register to support name attributes
2018-03-22 11:27:23 -04:00
Peter Hamilton f145662e1f Update ProxyKmipClient register to support name attributes
This change updates the ProxyKmipClient support for the Register
operation, adding the ability to register Name attributes with
the managed object being registered. This matches the functionality
available when using the Create operation.

Fixes #400
2018-03-22 11:03:03 -04:00
Peter Hamilton 742b24cef6
Merge pull request #399 from OpenKMIP/feat/update-server-config
Update server config handling to parse auth plugin settings
2018-03-19 17:24:15 -04:00
Peter Hamilton e215ddbe7b Update server config handling to parse auth plugin settings
This change updates server configuration handling, allowing the
server to parse and store configuration settings for authentication
plugins. Unit tests have been added to cover the new functionality.
2018-03-19 16:52:34 -04:00
Peter Hamilton 44eb5f0aff
Merge pull request #398 from OpenKMIP/feat/add-auth-plugins
Add an authentication plugin framework
2018-03-08 09:48:30 -05:00
Peter Hamilton 7743c4ea6b
Merge pull request #386 from gaurav36/small-typo-help-message
Fix help text for the CreateKeyPair demo
2018-03-08 08:56:51 -05:00
uniscon1105 0e6b599a6c Fix help text for the CreateKeyPair demo
The help message for the CreateKeyPair demo shows an incorrect
algorithm (AES) but for asymmetric keys PyKMIP only supports RSA
with a minimum length of 512-bits. This change updates the PyKMIP
documentation to correct this.

Signed-off-by: Gaurav Kumar Garg <garg.gaurav52@gmail.com>
2018-03-07 21:31:51 +01:00
Peter Hamilton 98f5ba39e3 Add an authentication plugin framework
This change adds an authentication plugin framework to be used by
the PyKMIP server. This framework will allow the server to query
third-party authentication systems for user identity information,
improving the access control model for the server. The initial
plugin provided queries an instance of the new SLUGS library.
2018-03-06 22:53:29 -05:00
Peter Hamilton 3bc9a610c6
Merge pull request #397 from OpenKMIP/feat/add-attestation-credential
Add AttestationCredential support
2018-03-03 10:56:21 -05:00
Peter Hamilton 5c5012f524 Add AttestationCredential support
This change adds an implementation of the AttestationCredential
introduced in KMIP 1.2. The underlying Nonce struct is included.
Unit test suites for both objects are provided. Finally, the
Credential struct has also been updated to support the new
credential type.
2018-03-03 09:34:43 -05:00
Peter Hamilton c9c72e172e
Merge pull request #396 from OpenKMIP/feat/remove-client-base
Remove legacy base class code for the original client
2018-02-26 15:33:06 -05:00
Peter Hamilton fc2ff5d04c Remove legacy base class code for the original client
This change removes the legacy KMIP base class that was originally
used for the KMIPProxy client. The base class simply defined the
KMIP operation methods that the client should support. It has not
been actively used to guide client development for some time and
now just clutters up the code base. The KMIPProxy class has been
updated to remove any reference to this original base class.
2018-02-26 15:02:42 -05:00
Peter Hamilton 77ec2a3648
Merge pull request #395 from OpenKMIP/feat/update-auth-struct
Update the Authentication object
2018-02-26 14:27:28 -05:00
Peter Hamilton 8d492fcda4 Update the Authentication object
This change updates the Authentication object, taking into account
the recent changes made to the Credential object hierarchy. A new
comprehensive unit test suite has been added for the Authentication
object. Usage of the object in the PyKMIP server has also been
updated to reflect these changes.
2018-02-26 10:23:25 -05:00
Peter Hamilton f72995490f
Merge pull request #394 from OpenKMIP/feat/update-credential
Update the Credential objects
2018-02-25 11:00:13 -05:00
Peter Hamilton 86b23a9d53 Update the Credential objects
This change updates the implementation of the Credential objects.
The UsernamePassword and Device credentials are now first-class
objects and, along with the base Credential, have been restructured
to match the current struct style. Comprehensive unit test suites
for each class have been added. Additionally, the credential
factory code and its usage in the KMIPProxy class and associated
test suites have been updated to reflect this change.
2018-02-25 10:29:52 -05:00
Peter Hamilton 08f22b424c
Merge pull request #391 from OpenKMIP/feat/add-policy-integration-tests
Update the Travis CI config to add policies for integration tests
2018-02-22 14:08:08 -05:00
Peter Hamilton 499328b077
Merge pull request #392 from OpenKMIP/feat/update-protocol-version
Update the ProtocolVersion implementation
2018-02-22 14:07:56 -05:00
Peter Hamilton dd4a078cc1 Update the ProtocolVersion implementation
This change updates the implementation of the ProtocolVersion
struct, bringing it inline with the current struct style. All
uses of the struct have been updated to reflect these changes,
as have the struct unit tests.
2018-02-22 13:35:11 -05:00
Peter Hamilton ba746775d3 Update the Travis CI config to add policies for integration tests
This change updates the files used by Travis CI to set up the
PyKMIP server used for integration testing, specifically adding in
support for custom operation policies.
2018-02-20 13:03:55 -05:00
Peter Hamilton 4df9273bae
Merge pull request #390 from OpenKMIP/feat/update-policy-examples
Update operation policy file examples
2018-02-20 08:51:54 -05:00
Peter Hamilton b6e881cc64
Merge pull request #389 from OpenKMIP/feat/support-group-policies
Update the server to support group-based operation policies
2018-02-20 08:51:37 -05:00
Peter Hamilton 78190bbdce Update operation policy file examples
This change updates the operation policy files provided under the
examples directory to reflect the new group-based policy model. A
future patch will include documentation describing this model.
2018-02-19 12:25:21 -05:00
Peter Hamilton 61347d80b6 Update the server to support group-based operation policies
This change updates the PyKMIP server, allowing it to process and
use group-based operation policies. The server still supports the
original operation policy file format, so no immediate difference
should be apparent to users. Future documentation changes will
explain group-based policy files and how they should be used.
2018-02-19 12:12:40 -05:00
Peter Hamilton 7f8ace909c
Merge pull request #388 from OpenKMIP/feat/update-gitignore
Update and clean up .gitignore
2018-02-14 16:58:27 -05:00