Commit Graph

106 Commits

Author SHA1 Message Date
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
Hadi Esiely a7c41c758b Add Attribute class unit tests
This pull request:

- Adds the comparison operators to the following classes:

 -- Attribute.AttributeName class

- Fixes bug in the "_create_cryptographic_parameters" function when "None" type parameters are used

- Adds read, write, and comparator unit tests for the Attribute class in the /kmip/core/objects.py file

Signed-off-by: Hadi Esiely <hadi.esiely-barrera@jhuapl.edu>
2016-03-01 10:53:29 -05: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
Nathan Reller 043553c0e0 Added SQLAlchemy Code for X509 Certificates
The code for persisting X509 certificates in a database has been added
along with the corresponding unit tests.
2016-02-19 14:05:00 -05:00
Peter Hamilton e967bb056d Merge pull request #136 from OpenKMIP/feat/sqlalchemy-secret
Added SQLAlchemy Code for Secret Data
2016-02-19 11:36:06 -05:00
Nathan Reller c3680f7609 Added SQLAlchemy Code for Asymmetric Keys
The code for persisting public and private keys in a database has been
added along with the corresponding unit tests.
2016-02-19 10:38:24 -05:00
Nathan Reller 8d6575fa36 Added SQLAlchemy Code for Secret Data
The SecretData class has the SQLAlchemy code in it to allow it be
stored in the database using the library.
2016-02-19 10:33:36 -05:00
Nathan Reller c21f07634b Added SQLAlchemy Code for Symmetric Key
The code for persisting symmetric keys in a database has been added
along with the corresponding unit tests.

The usage mask list for cryptographic objects is stored as an integer bitmask.
The conversion takes place with a new SQLAlchemy type.

Switched ManagedObject value type to VARBINARY. This prevents errors from
occuring when trying to convert to a string.
2016-02-19 09:23:51 -05:00
Viktor Tarasov c9df034e48 server: implement 'discover-versions' 2016-02-18 14:35:30 +01:00
Nathan Reller e7a383cace Added SQLAlchemy Code to OpaqueData
Added the ORM code to be able to persist OpaqueData in a database.
This added the code to the base class ManagedObject as well. Unit
tests are added to demonstrate the code is working correctly.
2016-02-16 14:53:45 -05: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
Viktor Tarasov d83e0a3416 test/integration: fix path to 'kmip_server' module 2015-12-11 16:40:31 +01:00
Peter Hamilton ad6ec69848 Fixing broken GetAttributeList integration test 2015-12-02 12:08:47 -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 0cccf68798 Merge pull request #96 from hadesto/dev/hadi/tests/attributes-digest
Adding Digest unit tests
2015-11-02 09:11:15 -05:00
Hadi Esiely e7810667e9 Adding Digest unit tests
Completes remaining tests for the Digest class
2015-10-27 14:31:10 -04:00
Hadi Esiely 64dbbe86e0 Adding test coverage for Cryptographic Parameter tests
Added unit tests for the cryptographic parameter attribute code
2015-10-27 14:29:55 -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 55b35b0353 Merge pull request #83 from OpenKMIP/feat/update-attribute-value-factory
Updating the AttributeValue factory
2015-09-29 13:11:08 -04:00
Peter Hamilton 2c166a68ea Merge pull request #80 from OpenKMIP/feat/update-interval
Updating support for the Interval primitive
2015-09-29 13:09:39 -04:00
Peter Hamilton a521f49dcd Merge pull request #91 from hadesto/dev/hadi/tests/attributes-namespace-tests
Added tests for testing Name attribute
2015-09-29 13:08:22 -04:00
Hadi Esiely ac6d0ae81c Added tests for testing Name attribute
Completes test coverage for the Name attribute
2015-09-28 13:05:41 -04:00
Peter Hamilton 45c91b9c8d Merge pull request #79 from OpenKMIP/feat/update-date-time
Updating support for the DateTime primitive
2015-09-23 12:51:30 -04:00
Peter Hamilton e3075a1b04 Merge pull request #77 from OpenKMIP/feat/update-big-integer
Updating support for the BigInteger primitive
2015-09-23 10:59:36 -04:00
Peter Hamilton 3970c0f211 Adding ProxyKmipClient support for the GetAttributeList operation
This change adds support for the GetAttributeList operation to the
ProxyKmipClient. It updates the Pie client API and provides a demo
showing how to use the operation. All relevant test suites are updated
accordingly.
2015-09-04 10:01:39 -04:00
Peter Hamilton a79e9d7f99 Updating support for the Interval primitive
This change updates the Interval primitive, adding a fresh
implementation and documentation. A new unit test suite for the
primitive is included.
2015-09-01 12:36:22 -04:00
Peter Hamilton 26e44a07e1 Updating support for the DateTime primitive
This change updates the DateTime primitive, adding documentation and
Python string operator support. A new unit test suite for the primitive
is included.
2015-08-31 12:19:03 -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 89a6e21a06 Updating support for the BigInteger primitive
This change fixes various bugs with the original BigInteger
implementation, adding in a working version of the primitive. A full
unit test suite is included.
2015-08-27 09:00:00 -04:00
Peter Hamilton b04e3ab3dc Updating support for the LongInteger primitive
This change updates the LongInteger primitive, improving class
documentation, adding standard Python operators, cleaning up the
original implementation, and expanding the corresponding unit test suite
to address the modifications.
2015-08-27 08:47:07 -04:00
Peter Hamilton f3c202cf3c Merge pull request #75 from OpenKMIP/maint/split-primitive-tests
Splitting primitive object test suites
2015-08-24 09:03:06 -04:00
Peter Hamilton 3ebc09670a Updating integration tests to ignore software server
This change adds a new pytest marker, ignore. It is used to silently
skip the software server integration test suite, which is now broken
from a recent ssl update. A pytest ini configuration file is also added
to register the new marker.
2015-08-20 09:13:20 -04:00
Peter Hamilton b0bab4b8bc Updating the AttributeValue factory
This change updates the AttributeValue factory, removing and
streamlining code. Support for several basic primitive attributes are
added in addition to a redesigned test suite for the factory.
2015-08-18 14:04:29 -04:00
Peter Hamilton 76a2f68f1f Splitting primitive object test suites
This change splits the original set of primitive object test suites into
separate modules. Minor refactoring to account for structure changes is
included.
2015-08-18 09:56:51 -04:00
Peter Hamilton a21f0b66c6 Adding payloads for the GetAttributeList operation
This change adds request and response payloads for the GetAttributeList
operation. It updates the payload factories to support these new objects
and updates and adds all associated or required test suites. A new
exception is also included that is thrown by objects attempting to parse
invalid KMIP encodings.
2015-08-17 12:15:25 -04:00
Peter Hamilton bb0487b5dc Merge pull request #69 from OpenKMIP/feat/add-pie-client-opaque
Adding opaque object examples for the ProxyKmipClient
2015-07-31 17:21:40 -04:00
Hadi Esiely 50cc8d9e8a Addition of Opaque Objects Integration Tests
Tests that opaque objects can be properly registered, retrieved, and destroyed.
2015-07-30 13:01:51 -04:00
Hadi Esiely f7e9c398fc Addition of Passphrase Integration Test
Tests that passphrases can be properly registered, retrieved, and destroyed.
2015-07-30 12:22:46 -04:00
Hadi Esiely 866ba3f3f4 Addition of Certificate Integration Tests
Tests that certificates can be properly registered, retrieved, and destroyed.
2015-07-30 10:54:37 -04:00
Peter Hamilton a148e7c615 Adding opaque object examples for the ProxyKmipClient
This change adds two examples showing how to use opaque objects with the
ProxyKmipClient. The first is a unit demo showing how to register an
opaque object using the register operation of the ProxyKmipClient. The
second is an integration test showing how to register, get, and destroy
an opaque object using the ProxyKmipClient.
2015-07-30 10:39:06 -04:00
Peter Hamilton 689275ced0 Adding secret data examples for the ProxyKmipClient
This change adds two examples showing how to use secret data with the
ProxyKmipClient. The first is a unit demo showing how to register a
secret using the register operation of the ProxyKmipClient. The second
is an integration test showing how to register, get, and destroy a
secret using the ProxyKmipClient.
2015-07-30 10:22:48 -04:00
Peter Hamilton 275f341da9 Adding certificate examples for the ProxyKmipClient
This change adds two examples showing how to use certificates with the
ProxyKmipClient. The first is a unit demo showing how to register a
certificate using the register operation of the ProxyKmipClient. The
second is an integration test showing how to register, get, and destroy
a certificate using the ProxyKmipClient.
2015-07-30 08:31:47 -04:00
Peter Hamilton 93610719a5 Adding opaque objects to the Pie object hierarchy
This change adds an OpaqueObject class to the Pie object hierarchy. A
unit test suite covering the class is included, as are updates to the
Pie object factory and associated tests.
2015-07-30 08:25:06 -04:00
Peter Hamilton e497e1c37c Adding secret data to the Pie object hierarchy
This change adds a SecretData class to the Pie object hierarchy. A unit
test suite covering the class is provided, as are updates to the Pie
object factory and associated tests.
2015-07-30 08:03:33 -04:00