Commit Graph

39 Commits

Author SHA1 Message Date
Peter Hamilton b7f67bcaa2 Updating the SecretFactory to create Public and PrivateKeys with data 2015-04-20 14:43:50 -04:00
Peter Hamilton 3c29d5f743 Merge pull request #7 from callidus/more-object-type
Adding handling for SecretData and OpaqueData objects
2015-04-14 13:25:59 -04:00
Tim Kelsey 751ae8e3b0 Adding handling for SecretData and OpaqueData objects
Secret Data (2.2.7) can now be registered
Opaque Object (2.2.8) can now be registered

This required the adding of a NONE type to the OpaqueDataType enum
with the value of 0. This is not indicated by the standard but we
needed some value to satisfy response decoding.

Also fixed get demo

This has been tested vs a HP Atalla ESKM HSM
2015-04-14 13:28:11 +01: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 43ecea23a6 Updating the Register unit demo
This change updates the Register unit demo, adding support for the
registration of different types of secret objects. The changes required
to support this include implementation updates to the KeyValue backing
objects.
2015-03-13 16:31:39 -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 3e11002567 Adding support for Digest
This change adds support for the Digest attribute, including updates and
unit test suites for all dependent KMIP objects.
2015-03-10 11:57:35 -04:00
Peter Hamilton f784b67f3a Updating the CreateKeyPair demo
This change updates the CreateKeyPair demo, adding the following items:
* a name option for specifying the name of the key pair to create
* a CryptographicUsageMask attribute sent with the CreateKeyPair request
* enhanced attribute logging for private/public key template attributes
2015-03-10 11:29:08 -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 0c4f9cd9d0 Updating application attributes
This change updates the various Application attributes, adding inline
documentation, and reorganizing the different related test suites. Minor
updates to supporting primitive objects are included.
2015-02-23 14:13:21 -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
Peter Hamilton f6b420d2db Adding support for the DiscoverVersions operation
This change adds support for the DiscoverVersions operation, including
updates to the KMIP client, the client and KMIP core test suites, and a
DiscoverVersions unit demo.
2015-01-23 15:26:28 -05:00
Peter Hamilton 7ce5a74315 Merge branch 'feat/unit-demos' 2015-01-22 12:56:46 -05:00
Peter Hamilton ff533ff4bb Adding support for the RekeyKeyPair operation
This change adds support for the ReKeyKeyPair operation, adding in
required KMIP objects and updating the KMIP client. Minor changes to the
server are included in preparation for future changes. The unit test
suite has been updated accordingly.
2015-01-21 11:41:08 -05:00
Peter Hamilton 87575e1a15 Adding unit demos
This change adds a suite of unit demos which demonstrate how to use
individual KMIP client operations. These demos also feature better
argument handling, which will eventually be ported to the rest of the
demo suite. Some added debug logging is included.
2015-01-19 09:37:32 -05:00
Peter Hamilton c6d6db3dfe Adding support for the CreateKeyPair operation
This change adds support for the CreateKeyPair operation, adding in
required KMIP attributes and objects and updating the KMIP client. Minor
changes to the server are also made in preparation for future changes.
The unit test suite has been updated accordingly.
2015-01-09 13:11:05 -05:00
Peter Hamilton 6cbb3159ca Adding payload factories
This change adds a set of payload factories to the factory suite, which
handle the construction of default request/response payload objects for
KMIP operations. These factories replace the use of payload operation
dictionaries for dynamic payload object lookup. A payload factory test
suite and minor logging tweaks are included.
2014-12-11 13:32:17 -05:00
Peter Hamilton 3918c320fd Adding OperationPolicyName
This change adds the OperationPolicyName attribute, extending support to
the AttributeValueFactory. Test cases are included for the creation
process for both the factory and the individual attribute.
2014-12-11 13:32:17 -05:00
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
Peter Hamilton 6a11dacfc3 Updating unit test suite
This change updates the unit test suite, adding the initial test case
framework for factory tests. The attributes test suite is also updated,
replacing pass statements with skip calls.
2014-12-11 13:32:17 -05:00
Michael McCune f77b0202b2 Adding server key and cert files to installation
This change adds the server key and cert files from kmip/demos/certs to
the MANIFEST.in and setup.py files. These files are being added to
resolve missing file issues when using the default config values.

In cases where a user is instantiating a KMIPClient and passing
ca_cert=None an exception will be raised with newer versions of
Python(2.7.8+). This exception is based on the missing server.crt file
that is specified in the default configuration.

Likewise, when instantiating a KMIPServer with keyfile=None or
certfile=None the default values will be used. This will also cause an
exception with newer versions of Python.

Although it may be unlikely that an end user would instantiate these
classes without providing cert and key files, there are cases(namely
testing) where it is acceptable to pass None values for these files. In
these cases the files should be present to allow proper execution.

Changes
* adding server.crt and server.key to MANIFEST.in and setup.py
* correcting mismatched default values for KMIPServer certfile and
  keyfile
2014-12-10 18:43:56 -05:00
Peter Hamilton 34962e36af Adding support for the six library
This change adds support for the six library, specifically for handling
portions of the code that are sensitive to differences between Python
2.* and 3.*.
2014-11-18 15:19:56 -05:00
Peter Hamilton bfb0bb88d7 Adding username and password config options
This change adds username and password configuration options to the
client section of the configuration file. These options are used to
create KMIP Credential objects for authenticating connections to a KMIP
appliance.

The KMIP proxy now uses these options when handling operation calls. If
no credential is provided, the proxy will automatically create one from
the config file. If either the username or the password is unspecified,
an error is generated. If neither are specified, no credential is
created. Only username/password credentials are currently supported.

The KMIP proxy test suite now includes test cases covering this
functionality.
2014-10-23 22:28:20 -04:00
Peter Hamilton 3eabf209cc Merge branch 'develop' 2014-09-22 12:42:09 -04:00
Wyllys Ingersoll aa51f15bf0 Fixed broken destroy message in test 2014-09-18 10:17:52 -04:00
Wyllys Ingersoll 61b3231e79 Removed name from TODO comment 2014-09-17 15:33:23 -04:00
Wyllys Ingersoll 47032c9d85 Update locate.py
removed Johns Hopkins copyright lines.
2014-09-17 15:25:58 -04:00
Kaitlin Farr 0212ee898c Adds a configuration file
Adds a configuration file to allow users to modify settings for the
client and server. The configured settings can be overridden by
directly passing values when a kmip server or client is initialized.
Additionally, if the config file or config options are not found,
pre-set default values will be used.
2014-09-17 00:24:58 -07:00
Wyllys Ingersoll 6752b700c9 flake8 fix 2014-09-12 13:00:15 -04:00
Wyllys Ingersoll e67f56ae56 Added TypeError exception to Name.create method 2014-09-12 12:55:18 -04:00
Wyllys Ingersoll ceaff6d7ac Fixed typos 2014-09-11 18:15:52 -04:00
Wyllys aa300b256c Stub out server side locate operation. 2014-09-11 18:04:22 -04:00
Wyllys Ingersoll a2b71a1f1c Updated to address comments from first attempt 2014-09-09 00:14:02 -04:00
wyllys b04f5c2dc3 Added support for LOCATE operation 2014-09-04 14:42:20 -04:00
Peter Hamilton 97ae864196 PyKMIP - Release v0.1.0
This change includes several new features to PyKMIP, including:

* support for Python 3.3 and 3.4
* support for KMIP client/server SSL connections
* removal of all Thrift library dependencies
2014-08-28 14:04:23 -04:00
Peter Hamilton f0e3c26170 PyKMIP - Release v0.0.1
This changes adds the final modifications needed for release v0.0.1 of
the PyKMIP library.

Packaging and licensing files are updated with current information and
some minor file restructuring is done to ensure test suite integrity.
2014-08-13 19:23:05 -04:00
Peter Hamilton 1cb6deaf0b PyKMIP library version 0.0.1
This implementation supports version 1.1 of the KMIP spec. The
library supports the following operations for SymmetricKey objects:

create
register
get
destroy
2014-08-11 16:34:30 -04:00
Nathan Reller a0d8c9195e Initial commit of KMIP library
This contains the basic items for repository. The basic files and directories
were created to layout the repository structure.

Created a simple KMIP client and server. This was generated using the thrift
library. This version only tests the thrift framework. It does not adhere to
the spec.
2014-04-11 17:38:19 -04:00