Commit Graph

71 Commits

Author SHA1 Message Date
Peter Hamilton f57273fcc5 Merge pull request #14 from OpenKMIP/feat/add-test-config-arg
Adding config argument to integration test suite
2015-05-30 21:39:42 -04:00
Peter Hamilton 6606c989fb Adding config argument to integration test suite
This change adds a pytest config argument, allowing the integration test
suite to be run with the client configured with a specific section from
the PyKMIP configuration file. A simple integration test class is added
to demonstrate how to use the client created using the config argument.

To run the integration test suite with a specific configuration, use:

$ tox -e integration -- --config <config-section>

where <config-section> is the name of the config file section to use for
the PyKMIP client.
2015-05-20 12:08:59 -04:00
Peter Hamilton db281b7db4 Merge pull request #13 from OpenKMIP/feat/reorg-tests
Reorganizing test suite and updating tox configuration
2015-05-19 09:15:21 -04:00
Peter Hamilton 23574dc33c Reorganizing test suite and updating tox configuration
This change reorganizes the test suite, splitting it into two separate
test suites, one for unit tests and one for integration tests. The tox
configuration is also updated to reflect this change. Invoking tox now
runs the unit tests by default. A separate tox environment is used to
run the integration tests.
2015-05-14 13:13:10 -04:00
Peter Hamilton bae6d66e8c Merge pull request #12 from OpenKMIP/feat/update-register-demo-for-certificate
Updating demo utilities to support creating Certificates
2015-05-08 16:28:00 -04:00
Peter Hamilton 5ee85c3f9c Updating demo utilities to support creating Certificates
This change updates the unit demo utilities, adding in support for the
creation, registration, and retrieval of X.509 Certificate objects.
Support includes an example encoding of a Certificate as well as updated
logging routines to display retrieved Certificate data.
2015-05-07 16:51:17 -04:00
Peter Hamilton 55e2996b91 Merge pull request #11 from OpenKMIP/feat/add-certificate
Adding support for the Certificate managed object
2015-05-07 09:57:26 -04:00
Peter Hamilton 195671d4bf Adding support for the Certificate managed object
This change polishes and reorganizes the implementation of the
Certificate managed object and its required subclasses. It adds in
documentation and test suites for all modified classes and updates the
SecretFactory to support creating default Certificate objects.
2015-05-05 14:55:34 -04:00
Peter Hamilton 883a36f22a Merge pull request #10 from OpenKMIP/bug/fix-key-material-tag
Fixing invalid tag for the KeyMaterialStruct
2015-04-29 16:05:45 -04:00
Peter Hamilton cb550aef7a Fixing invalid tag for the KeyMaterialStruct 2015-04-28 08:29:21 -04:00
Peter Hamilton 71936f8c37 Merge pull request #9 from OpenKMIP/ver/prep-release-0-3-1
PyKMIP - Release 0.3.1
2015-04-23 09:08:27 -04:00
Peter Hamilton 13827ef863 PyKMIP - Release 0.3.1
This update includes several features:
* Add KMIP profile information to the client
* Add support for registering/retrieving SecretData and Opaque objects
* Update the SecretFactory to build Public/PrivateKeys with user data
2015-04-23 08:34:08 -04:00
Peter Hamilton 3b0250ab59 Merge pull request #8 from OpenKMIP/feat/expand-secret-factory
Updating the SecretFactory to create Public and PrivateKeys with data
2015-04-23 07:55:14 -04:00
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 f7ba5abbcf PyKMIP - Release 0.3.0
This update includes a bunch of new features and bug fixes:
* Add client support for the DiscoverVersions and Query operations
* Add client support for the CreateKeyPair and RekeyKeyPair operations
* Add support for registering and retrieving Public/PrivateKeys
* Add unit demos showing how to use individual KMIP client operations
* Add client custom configuration support
* Add inline documentation for new KMIP objects, attributes and payloads
* Add unit tests for new KMIP objects, attributes, and payloads
* Add a dependency for the six library to handle Python version support
* Update README with a condensed description and overview of the library
* Fix bug with unindexed format strings
* Fix missing example certificate files when installing library
2015-03-14 11:41:25 -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
Joel Coffman 5e401973e2 Merge branch 'dev/readme-update' into 'master'
Update README

Updates to the README to reflect the current status of development.
2014-12-19 11:50:27 -05:00
Joel Coffman 621d67e548 Remove Locate operation from list to implement
Client support for the Locate operation was added in commit b04f5c2.
Hence, this change updates the README to reflect the fact that
support already exists in the code base for this operation.
2014-12-15 07:42:18 -05:00
Joel Coffman 51915c7557 Remove contributors from README
As PyKMIP continues to grow, a list of contributors in the README
becomes increasingly unwieldy and difficult to maintain. This change
removes any mention of specific contributors from the README.
2014-12-15 07:38:21 -05:00
Peter Hamilton d2f6cf11b0 Removing the sqlalchemy library from requirements 2014-12-11 13:32:17 -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
Peter Hamilton f3c7fb79ca Merge pull request #5 from elmiko/master
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-11 13:21:57 -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 ee52df639a Merge branch 'feat/update-changes-and-version' 2014-11-17 14:51:59 -05:00
Peter Hamilton f398d38f50 PyKMIP - Release v0.2.0
This update includes several new features, including:

* client support for the Locate operation
* configuration file support
* README updates in content and formatting
2014-11-12 08:58:49 -05:00
Peter Hamilton 58c42f1098 Merge branch 'develop' 2014-10-27 08:09:09 -04:00
Joel Coffman a429ab8757 Merge branch 'feat/config-username-password' into 'develop'
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-24 14:50:56 -04: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
Joel Coffman 12c5b35ffc Merge branch 'dev/readme' into 'develop'
Updating README content and formatting

This change adds content to the README, including:

* KMIP profile and operation information
* references to OASIS KMIP documentation
* typo fixes

The README format has also been updated, leveraging different reStructuredText features.
2014-10-06 08:24:50 -04:00
Peter Hamilton 02c818a5fc Formatting line breaks in README
This change adds line breaks to the intro paragraphs of the README.
Lines that contain internal/external rST links are ignored, as are
bulleted lines, since line breaks would break rST formatting.
2014-09-22 12:55:58 -04:00
Peter Hamilton 87afc0832e Reformatting README to use reStructuredText
This change reformats the README to use the syntax and formatting
recognized by reStructuredText parsers. Several typos have been fixed
along with minor rephrasing and condensing of text. All external
references have officially been replaced with direct links to the
documents and document sections in question.
2014-09-22 12:55:58 -04:00