Commit Graph

165 Commits

Author SHA1 Message Date
Peter Hamilton 60bd56066e Add decryption support to the server cryptography engine
This change adds decryption functionality to the cryptographic
engine used by the server. It supports a variety of symmetric
decryption algorithms and block cipher modes. Asymmetric
decryption support will be added in a future patch.

Unit tests and minor updates to surrounding code are included.
2017-06-27 14:21:59 -04:00
Peter Hamilton a5e960153c Add Encrypt support to the clients
This change adds Encrypt operation support to the KMIPProxy and
ProxyKmipClient clients, including unit tests to cover the new
functionality.

Extensive documentation has been added to the header comments for
the new client methods detailing the expected input parameters and
return values. This approach should be followed for all new client
additions going forward.
2017-06-20 11:11:50 -04:00
Peter Hamilton de575303ce Add Encrypt operation support to the server
This change adds the Encrypt operation to the server. Support is
currently limited to symmetric encryption only. The encryption key
used with the operation must be in the Active state and it must
have the Encrypt bit set in its cryptographic usage mask.
2017-06-19 10:59:40 -04:00
Peter Hamilton 7bc613417b Add encryption support to the server cryptography engine
This change adds encryption functionality to the cryptographic
engine used by the server. It supports a variety of symmetric
encryption algorithms and block cipher modes. Asymmetric encryption
support will be added in a future patch.

Unit tests and minor updates to surrounding core code are included.
2017-06-16 16:03:30 -04:00
Peter Hamilton 471d0a1ad8 Updating the CryptographicParameters struct
This change updates the CryptographicParameters struct, removing the
primitive class wrappers that it used to use for attribute values
and replacing them with struct properties that internally manage the
primitive objects directly. This gutting and regutting necessitates
cascading changes to every part of the library that used these
internal primitive class wrappers, including unit tests, client and
client tests, and attribute factory handlers. All of these have been
updated to reflect the correct usage of the CryptographicParameters
struct.

This change also adds in additional attribute members for the
CryptographicParameters struct to bring it up to spec with KMIP 1.2.
2017-05-24 15:39:09 -04:00
Peter Hamilton 4617ae5280 Merge pull request #283 from vbnmmnbv/rename_compromise_occurrence_date
rename compromise_date to compromise_occurrence_date in revoke reques…
2017-04-21 15:52:04 -04:00
Hao Shen 8f16558b76 rename compromise_date to compromise_occurrence_date 2017-04-21 12:24:48 -07:00
Peter Hamilton a7c627d28f Merge pull request #274 from vbnmmnbv/destroy_state_permission_server
Add state check for Destroy operation.
2017-04-21 15:06:29 -04:00
Hao Shen 3897455469 Add state check for Destroy operation. 2017-04-21 09:32:26 -07:00
Peter Hamilton fda5e32fa0 Merge pull request #271 from vbnmmnbv/revoke_server
Add initial Revoke operation support for server.
2017-04-21 10:31:09 -04:00
Hao Shen 74075d502c Add Revoke operation support for pie client 2017-04-20 10:19:10 -07:00
Hao Shen 0229a83acf Add initial Revoke operation support for server.
See the TODO in _process_revoke for more info.
2017-04-19 15:27:51 -07:00
Peter Hamilton 5678c21903 Merge pull request #273 from vbnmmnbv/mac_state_permission_server
Add state/crypto usage mask checks for MAC operation
2017-04-19 18:02:46 -04:00
Peter Hamilton fae811528b Fixing stringent uid value checks in the ProxyKmipClient
This change loosens the input requirements for ProxyKmipClient
operations that accept a secret UID. Operations like Get and
Destroy used to require a string value but are allowed in the
KMIP specification to take no value at all. This change updates
the ProxyKmipClient to properly reflect the specification. The
underlying KMIPProxy client is mostly unchanged.

Closes #261
2017-04-12 17:41:13 -04:00
Hao Shen a0673dc111 Add state/crypto usage mask checks for MAC operation 2017-04-11 18:16:54 -07:00
Peter Hamilton 1d2a337ee0 Update the server Query results to match current features
This change updates the server results returned by the Query
operation to match the current set of supported features. The tests
for Query have been updated to better reflect testing across KMIP
versions.
2017-04-11 16:43:43 -04:00
Hao Shen 5967b55148 Fixing stringent argument checks for MAC operation 2017-03-30 14:32:42 -07:00
Peter Hamilton 5fc2e26527 Merge pull request #259 from OpenKMIP/maint/cleanup-old-server-code
Removing deprecated server code and supporting infrastructure
2017-03-28 09:37:10 -04:00
Hao Shen b8b2d43347 Add minimum Locate operation support for server.
Currently it will return all the existing managed objects with the restriction of operation
policy only. No other filterings.

Closes #258
2017-02-14 18:09:10 -08:00
Peter Hamilton c584ac0cb5 Removing deprecated server code and supporting infrastructure
This change removes the original KMIPServer implementation, along
with all supporting classes. The KmipServer implementation is the
only supported server implementation going forward.
2017-02-08 15:29:10 -05:00
Peter Hamilton d9cf4c148a Merge pull request #256 from vbnmmnbv/server
Add MAC operation support for server
2017-02-03 12:11:41 -05:00
Hao Shen ac1206082c Add MAC operation support for server 2017-02-02 13:25:22 -08:00
Peter Hamilton 7fca09fa75 Merge pull request #254 from vbnmmnbv/client
Add MAC operation support at client side
2017-02-02 13:09:51 -05:00
Hao Shen 2d45f33d43 Add MAC operation support for client 2017-01-31 14:48:19 -08:00
Hao Shen e8b63eb9d3 Add MAC operation support in cryptography engine 2017-01-25 13:10:41 -08:00
Peter Hamilton 57c703c52f Refactor access control enforcement in the server
This change restructures how access controls are enforced for
different server operations, pulling common code into a shared
method for reuse. The server unit tests have been updated to
reflect this change.
2017-01-09 10:34:14 -05:00
Peter Hamilton 1bd5366a62 Adding support for the InitialDate attribute
This change updates the server and managed object set to support
the InitialDate attribute. The InitialDate is set when the Create,
CreateKeyPair, and Register operations are invoked and can be
listed and retrieved with the GetAttributeList and GetAttributes
operations respectively. The server unit tests have been updated
to reflect these changes.
2017-01-08 12:07:22 -05:00
Peter Hamilton 089d126b04 Adding server support for the GetAttributeList operation
This change adds support for the GetAttributeList operation. The
user can specify the ID of a managed object and get back a list
containing the names of all attributes currently set on the object.
The user can also omit the ID and the server will default to using
the ID placeholder for the object ID. New server tests have been
added to cover this feature. The GetAttributeList payloads have
also been updated for consistency with other payloads, requiring
minor updates in other clients and unit tests.
2017-01-05 18:43:11 -05:00
Peter Hamilton 28209bd60a Fixes a bug with socket interrupt handling under Python3.5
This change fixes a bug introduced with the addition of Python3.5
support. In Python3.5, SIGINT is silently ignored for system calls
(e.g., socket.accept) if the SIGINT signal handler does not raise
an exception. This causes the server to delay shutdown when
receiving SIGINT until after a new connection has been made. This
change updates the server's SIGINT signal handler to raise the
correct exception and updates the error handling code while serving
connections to account for this change in SIGINT processing. This
allows the server to shutdown immediately upon receiving SIGINT.
The server unit tests are updated to account for this change.
2017-01-04 16:05:45 -05:00
Peter Hamilton b1f73d811c Fixing a bug with multithreading support with the SQLite backend
This change fixes a bug that could occur when accessing the server
with multiple threads or processes. The SQLite backend by default
does not support multithreading. This change updates how the
SQLite backend is instantiated, preventing error generation when
using multiple clients simultaenously. The server unit test suite
has been updated to cover the change.
2016-12-17 14:57:38 -05:00
Peter Hamilton 065cc0cec1 Updating server to enable the Activate operation
This change updates the PyKMIP server to enable the Activate
operation. Server unit tests are updated to account for this
change.
2016-12-07 19:27:05 -05:00
Peter Hamilton e2841f1ee5 Updating the server to handle errors during attribute lookup
This change updates the server to better handle exceptions thrown
while looking up the value of different attributes on managed
objects. Some managed objects in PyKMIP don't currently support
attributes they are supposed to. This can cause lookup errors
when using GetAttributes. This change suppresses any exceptions
and simply returns None for the missing attribute value. The
server unit tests have been updated to account for this change.
2016-12-07 09:13:38 -05:00
Peter Hamilton fc0d95ebb9 Adding GetAttributes support to the PyKMIP clients
This change adds support for the GetAttributes operation to the
PyKMIP clients. Demo scripts showing how to use the new operation
will be included in a future update. Client test cases have been
added and updated to reflect the new operation.
2016-12-06 20:42:17 -05:00
Peter Hamilton c59cfeeef9 Adding server support for the GetAttributes operation
This change adds server support for the GetAttributes operation.
The user can specify an object ID and an attribute list to get
the values of the attributes listed from the specified object.
The user can also omit either argument; the server will default
to using the ID placeholder and all viable attributes respectively.
Only a subset of the standard attributes are supported right now.
New tests have been added to cover the new feature.

Closes #185
Closes #211
Closes #218
2016-12-06 20:24:29 -05:00
Peter Hamilton 94aacc1897 Fixes premature server shutdown on receiving invalid certificate
This change fixes a bug with the server where the server would
prematurely shutdown upon receiving a client connection using an
invalid certificate. The server will now withstand bad client
connections. The impacted server unit tests have been updated to
reflect the bug fix.
2016-12-01 14:40:30 -05:00
Peter Hamilton 38e7635fc7 Fixes configuration settings override by default script values
This change fixes a bug with parameter handling when invoking
the server's main routine. The default values provided for the
parameters would override any configuration file settings if
the main routine was used to run the server. To fix this, the
default values were removed, requiring the user to explicitly
specify parameter values if they want them to override the
configuration settings. The parameter doc strings have been
updated to match these changes.

Fixes #217
2016-12-01 11:44:43 -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 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 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 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 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 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 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
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 477669f620 Updating the KmipEngine logging for operation handling
This change adds some additional logging statements when processing
individual KMIP operations, providing additional information on
operation input and output. The associated tests have been updated
accordingly.
2016-04-07 10:04:33 -04:00
Peter Hamilton 0ed92a1ea4 Merge pull request #150 from viktorTarasov/fix/service-client/batch-item-of-error-response
fix: kmip-client: batch item of error response
2016-04-05 14:28:34 -04:00
Peter Hamilton b152941b68 Merge pull request #159 from OpenKMIP/bug/fix-early-close
Fixing bug terminating connection prematurely
2016-04-05 14:09:41 -04:00
Peter 9a994637d9 Fixing bug with in-memory SQLite storage
This change swaps out the in-memory SQLite database for file-based data
storage. SQLAlchemy support for in-memory SQLite storage does not work
across threads. The new storage scheme stores all PyKMIP server data in
/tmp.
2016-04-05 09:57:50 -04:00
Peter b2714002b6 Fixing bug terminating connection prematurely
This change fixes a bug with the KmipSession connection handling logic
that would terminate the connection before actually receiving a
termination from the client. The corresponding unit tests have been
updated to reflect this fix.
2016-04-05 08:58:40 -04:00
Peter Hamilton 77f1b1223c Merge pull request #155 from OpenKMIP/maint/add-server-deprecate
Adding a pending deprecation warning to old server
2016-04-04 15:58:54 -04:00
Peter edf4e4dcc9 Integrating the KmipEngine with the KmipSession
This change adds KmipEngine support to the KmipSession. The session will
now pass on received requests for processing by the engine, handling any
results or errors that occur. The KmipSession test suite has been
updated to reflect this change.
2016-04-04 10:48:53 -04:00
Peter e01a9142e5 Linking the loggers for the different KmipServer components
This change renames the loggers for different KmipServer components,
ensuring that all server logs are processed by the same kmip.server
logger.
2016-04-04 10:39:06 -04:00
Peter ab17f672ce Adding a pending deprecation warning to old server
This change adds a simple warning that is triggered whenever the
KMIPServer class is instantiated. It advises the user to use the newer
KmipServer class. The KMIPServer will be removed in a future version of
PyKMIP.
2016-03-31 10:47:11 -04:00
Peter 702ba77715 Adding the KmipServer
This change adds the KmipServer, the front-end of the KMIP software
server. The KmipServer is in charge of loading configuration settings,
creating all major server components, and serving and managing client
connections. A KmipServerConfig tool is included to handle configuration
settings. Test cases for all new code are included.
2016-03-30 16:55:44 -04:00
Peter 934fc7b93e Adding KmipEngine support for CreateKeyPair
This change adds support for the CreateKeyPair operation to the
KmipEngine. New exceptions and test cases are included.
2016-03-29 08:09:29 -04:00
Peter 22b8a84361 Adding KmipEngine support for Create
This change adds support for the Create operation to the KmipEngine. New
exceptions and test cases are included.
2016-03-29 07:57:18 -04:00
Viktor Tarasov 4684fc6650 fix: kmip-client: batch item of error response 2016-03-29 10:25:29 +02:00
Peter Hamilton 8cc7c5f8e0 Merge pull request #149 from viktorTarasov/fix/session/session_name
fix: session: 'expected str instance, NoneType found'
2016-03-28 16:47:24 -04:00
Viktor Tarasov d996c268df fix session: 'expected str instance, NoneType found'
When KmipSession instantiated without session name there is error:
File ".../PyKMIP/kmip/services/server/session.py", line 57, in __init__
    self._logger = logging.getLogger('.'.join((__name__, name)))
TypeError: sequence item 1: expected str instance, NoneType found
2016-03-28 22:01:28 +02:00
Peter Hamilton 995d458654 Merge pull request #146 from OpenKMIP/feat/add-kmip-engine-register
Adding KmipEngine support for Register
2016-03-25 09:40:29 -04:00
Peter 89cba73821 Adding KmipEngine support for Register
This change adds support for the Register operation to the KmipEngine.
New exceptions and test cases are included.
2016-03-21 11:22:47 -04:00
Peter 0a499b7b12 Adding an AttributePolicy system
This change adds a policy system that will be used by the KmipEngine to
track and organize rules for individual KMIP attributes. Comparison
operators for the Integer primitive and ProtocolVersion struct are added
to support the AttributePolicy. Tests for all new changes are included.
2016-03-21 11:22:07 -04:00
Peter 07a63c07c8 Adding an AttributePolicy system
This change adds a policy system that will be used by the KmipEngine to
track and organize rules for individual KMIP attributes. Comparison
operators for the Integer primitive and ProtocolVersion struct are added
to support the AttributePolicy. Tests for all new changes are included.
2016-03-21 11:11:46 -04:00
Peter Hamilton abd11c6327 Merge pull request #110 from viktorTarasov/feature/services-server-use-EOF
services/server: use EOF exception
2016-03-18 12:54:33 -04:00
Peter 6ecbe7bdda Adding KmipEngine support for Get
This change adds support for the Get operation to the KmipEngine. New
exceptions and test cases are included.
2016-03-15 16:15:35 -04:00
Peter 27befcb85c Adding KmipEngine support for Destroy
This change adds support for the Destroy operation to the KmipEngine.
New exceptions and test cases are included.
2016-03-14 08:21:27 -04:00
Peter 55113a70f8 Adding the KmipEngine
This change adds the KmipEngine, the core processing component of the
KmipServer. The KmipEngine contains the KMIP application logic and
handles process request messages by batch. The engine handles logging
and error handling throughout the processing stack.
    
New server exceptions are added to handle new error cases. A test suite
is included.
2016-03-08 15:15:17 -05:00
Viktor Tarasov 8b877fd4d2 services/server: use EOF exception ...
... to gently indicate the end of request processing

Introduce 'RequestLengthMismatch' exception  dedicated for the
unexpected result of 'read' request operation

Unit tests for kmip-protocol
2016-02-23 12:51:40 +01:00
Peter Hamilton cfb85190fa Merge pull request #128 from viktorTarasov/feature/discover-versions/server
server: implement 'discover-versions'
2016-02-22 10:46:41 -05:00
Viktor Tarasov c9df034e48 server: implement 'discover-versions' 2016-02-18 14:35:30 +01:00
Viktor Tarasov 2b9d19c35f service/server: fix Locate.Payload member name 2016-02-17 17:26:10 +01:00
Peter Hamilton 52c7103681 Merge pull request #123 from OpenKMIP/feat/add-kmip-session
Adding KmipSession
2016-02-15 09:25:14 -05:00
Peter Hamilton 92c7358237 Merge pull request #122 from OpenKMIP/feat/add-auth-suites
Adding KMIP authentication suites
2016-02-15 09:20:46 -05:00
Peter d316d29b60 Adding KmipSession
This change adds a KmipSession class that manages individual
client/server connections in a thread of execution separate from the
main thread. A test suite is included.
2016-02-09 18:05:57 -05:00
Peter Hamilton a0423352ab Merge pull request #115 from hadesto/dev/hadi/unit_tests/kmip_client/server_failover_release
Server Failover Unit Tests
2016-02-09 15:09:19 -05:00
Hadi Esiely bd9ac1c521 Server Failover Unit Tests
This pull request adds some unit tests for the server failover code that was recently merged.

Signed-off-by: Hadi Esiely <hadi.esiely-barrera@jhuapl.edu>
2016-02-09 14:13:22 -05:00
Peter a1fa021af3 Adding KMIP authentication suites
This change adds KMIP authentication suites, which define the TLS
protocols and cipher suites to use for establishing secure network
connections compliant with the KMIP specification. Test suites are
included.
2016-02-05 13:29:05 -05:00
Peter 53d6b1776e Adding the CryptographyEngine
This changes adds the CryptographyEngine, which uses pyca/cryptography
to create symmetric and asymmetric keys. A test suite is included.
2016-01-29 13:29:36 -05:00
Peter 54b446f2d5 Adding server.crypto package and initial API
This changes adds the kmip.services.server.crypto package and the
initial API for the CryptographicEngine hierarchy.
2016-01-18 16:36:52 -05:00
Hadi Esiely b4644c47ae Server Failover Feature
This feature enables the PyKMIP library to switch between KMIP service provider
hosts in the event one of them is unavailable. To list more than than one host,
include all necessary host IP addresses separated by commas in the "host" field
in the pykmip.conf file.

Signed-off-by: Hadi Esiely <hadi.esiely-barrera@jhuapl.edu>
2015-11-25 12:43:40 -05:00
Peter Hamilton a04a014a8a Reorganizing the server code
This change creates a new subpackage under services, server, which now
holds all of the software server related code. References to different
pieces of the server code base are updated accordingly.
2015-09-29 14:22:03 -04:00
Peter Hamilton 20dbad5055 Updating support for the Enumeration primitive
This change updates the Enumeration primitive, adding a fresh
implementation and documentation. An updated unit test suite for the
primitive is included. Numerous changes to Enumeration usage across the
library are also included to comply with the updated implementation.
2015-09-29 13:23:44 -04:00
Peter Hamilton c763b69af1 Adding KMIPProxy support for the GetAttributeList operation
This change adds support for the GetAttributeList operation to the
KMIPProxy client. It adds a new result object for the operation along
with an integration test demonstrating how the operation can be used.
Client unit test cases are also included.
2015-08-31 12:06:49 -04:00
Peter Hamilton 097bd38910 Fixing pep8 errors for the KMIP server
This change fixes pep8 whitespace errors in the KMIP server.
2015-08-03 10:52:27 -04:00
Felix Engelmann 27f09f6b34 KMIPServer serve log exceptions
The Exception handler discards all errors, would be nice to log them
to the error logger before closing the connection.
2015-07-31 12:28:05 +02:00
sedukull 4a0b2c4c57 Shutdown and close the socket properly.
Calling close in destructor, helps in case default close() is not called
by consumers.
2015-07-22 23:33:40 +10:00
Peter Hamilton d6a4da6050 Adding customizable timeout support to the KMIP client
This change adds support for a customizable timeout option for the KMIP
client. The client will stop attempting connections or operations once
the timeout is exceeded instead of waiting for the default system
timeout. The default timeouts is 30 seconds.
2015-07-21 08:54:44 -04:00
Tim Kelsey 30ff7e78bf Adding revoke operation 2015-06-26 14:54:23 +01:00
Tim Kelsey b1ac997d38 Adding the "activate" opperation 2015-06-26 12:08:24 +01:00
Peter Hamilton ab3298c6d1 Fixing infinite recursion bug with object inheritance
This change removes all references to self.__class__. In object
hierarchies with multiple levels of inheritance, using self.__class__
can cause an infinite loop when resolving references to parent classes.
2015-06-02 11:16:42 -04:00
Peter Hamilton bea9bf08b2 Adding KMIP profile information to the client
This change updates the client with the KMIP profile information of the
conformance clauses and authentication suites that the client supports.
Several new methods are added to the client, allowing for the retrieval
and basic predicate querying of the profile data. A new test suite has
also been added to test this new capability.
2015-04-09 10:45:59 -04:00
Peter Hamilton d263302077 Updating the Get unit demo
This change updates the Get unit demo, adding support for:
* the additional display of key-related objects
* the passing of more arguments to the client (e.g., KeyFormatType)
* the retrieval of Public/PrivateKeys
2015-03-13 15:01:52 -04:00
Peter Hamilton 908aece78a Adding custom configuration support
This change updates the KMIP client to support the custom selection of
client configuration options. This makes it easy to dynamically create
clients that connect to different backends. All unit demos have been
updated to support this feature.
2015-02-27 10:48:07 -05:00
Peter Hamilton 80ee64e600 Adding support for the Query operation
This change adds support for the Query operation, including updates to
the KMIP client and core object libraries, the KMIP client and core unit
test suites, and a Query unit demo.
2015-02-23 17:18:05 -05:00
Peter Hamilton 0cd2d3dab6 Fixing format string indices
This change adds indices to all format strings, ensuring
interoperability with Python 2.6.
2015-02-23 09:52:15 -05:00