493 Commits

Author SHA1 Message Date
Peter Hamilton
86e49b4c35 Add key derivation support to the server cryptography engine
This change adds key derivation functionality to the cryptographic
engine, adding support for multiple key derivation methods,
including encrypting, hashing, HMACing, and specific algorithms
like PBKDF2 and NIST 800-108. Numerous unit tests are included
from established cryptographic testing sources to verify the
added functionality.
2017-07-10 14:19:25 -04:00
Peter Hamilton
4c244a1f6f Merge pull request from OpenKMIP/feat/add-encrypt-to-clients
Add Encrypt support to the clients
2017-06-28 10:59:30 -04:00
Peter Hamilton
a3dd6503cd Merge pull request from OpenKMIP/feat/add-decrypt
Add decryption support to the server cryptography engine
2017-06-28 10:11:10 -04:00
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
e18dd54599 Merge pull request from OpenKMIP/feat/add-derive-key-payloads
Add request and response payloads for the DeriveKey operation
2017-06-26 12:19:18 -04:00
Peter Hamilton
344cce83da Add request and response payloads for the DeriveKey operation
This change adds request/response payloads for the DeriveKey
operation, updating the payload factories to support DeriveKey.
Unit tests for the payloads and payload factories are included.
The inequality operator was also added to the TemplateAttribute
struct to support the DeriveKey payload unit tests; differences
in Python2.7 and 3+ led to comparison failures.
2017-06-23 18:28:02 -04:00
Peter Hamilton
38ee408b21 Merge pull request from OpenKMIP/feat/add-derivation-parameters
Add the DerivationParameters struct
2017-06-23 18:22:11 -04:00
Peter Hamilton
4cc2870530 Merge pull request from OpenKMIP/feat/add-decrypt-payloads
Add request and response payloads for the Decrypt operation
2017-06-23 18:20:57 -04:00
Peter Hamilton
ed22fb15f9 Add the DerivationParameters struct
This change adds support for the DerivationParameters struct,
which is needed for DeriveKey support. Unit tests are included to
cover all newly added code.
2017-06-21 11:14:07 -04:00
Peter Hamilton
3db0bfe88f Add request and response payloads for the Decrypt operation
This change adds request and response payloads for Decrypt
operation, updating the payload factories to support Decrypt
payloads. Unit tests for all new code are included.
2017-06-20 17:12:29 -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
7b8bd4769c Merge pull request from OpenKMIP/feat/add-encrypt-to-server
Add Encrypt operation support to the server
2017-06-19 12:36:47 -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
920dce73f4 Merge pull request from OpenKMIP/feat/add-encrypt
Add encryption support to the server cryptography engine
2017-06-19 10:38:58 -04:00
Peter Hamilton
e19c9076de Merge pull request from OpenKMIP/feat/add-encrypt-payloads
Adding request and response payloads for the Encrypt operation
2017-06-16 16:10:28 -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
0f13e0e494 Adding request and response payloads for the Encrypt operation
This change adds request and response payloads for the Encrypt
operation, updating the payload factories to support Encrypt
payloads. Unit tests for all new code are included.
2017-05-31 16:47:19 -04:00
Peter Hamilton
66f80922f3 Merge pull request from OpenKMIP/feat/update-crypto-param
Updating the CryptographicParameters struct
2017-05-30 08:11:43 -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
e591873bf4 Merge pull request from vbnmmnbv/revoke_pie
fix compromise_occurrence_date None handling in pie revoke
2017-04-27 19:48:27 -04:00
Hao Shen
ac6e117676 fix compromise_occurrence_date None handling in pie revoke 2017-04-25 13:13:31 -07:00
Peter Hamilton
4617ae5280 Merge pull request 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
901f2d8097 Merge pull request from vbnmmnbv/add_reset_mock
add missing reset_mock of logger in server revoke operation tests
2017-04-21 15:12:09 -04:00
Peter Hamilton
a7c627d28f Merge pull request from vbnmmnbv/destroy_state_permission_server
Add state check for Destroy operation.
2017-04-21 15:06:29 -04:00
Hao Shen
1c565b37f3 add missing reset_mock of logger in server revoke operation tests 2017-04-21 09:50:29 -07:00
Hao Shen
3897455469 Add state check for Destroy operation. 2017-04-21 09:32:26 -07:00
Peter Hamilton
f7e0e55955 Merge pull request from vbnmmnbv/create_crypo_usage_mask
Add crypto_usage_masks argument to pie Create operation
2017-04-21 11:01:55 -04:00
Peter Hamilton
fda5e32fa0 Merge pull request from vbnmmnbv/revoke_server
Add initial Revoke operation support for server.
2017-04-21 10:31:09 -04:00
Peter Hamilton
2891476568 Merge pull request from vbnmmnbv/revoke_pie
Add Revoke operation support for pie client
2017-04-21 10:26:26 -04:00
Hao Shen
74075d502c Add Revoke operation support for pie client 2017-04-20 10:19:10 -07:00
Hao Shen
a2b7194c08 Add crypto_usage_masks argument to pie Create operation 2017-04-19 21:07:32 -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
e26e0748af Merge pull request from vbnmmnbv/api_activate_locate_mac
Add the missing locate/activate KmipClient abstractmethod definition
2017-04-19 18:07:56 -04:00
Peter Hamilton
5678c21903 Merge pull request from vbnmmnbv/mac_state_permission_server
Add state/crypto usage mask checks for MAC operation
2017-04-19 18:02:46 -04:00
Hao Shen
ec4dae707c Add the missing locate/activate KmipClient abstractmethod definition 2017-04-14 11:19:50 -07:00
Peter Hamilton
19560b92b7 Merge pull request from OpenKMIP/bug/fix-pie-client-get
Fixing stringent uid value checks in the ProxyKmipClient
2017-04-12 18:31:38 -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 
2017-04-12 17:41:13 -04:00
Peter Hamilton
0faf1e5f43 Merge pull request from OpenKMIP/feat/sync-server-query
Update the server Query results to match current features
2017-04-12 12:37:24 -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
Peter Hamilton
28e1e809d1 Merge pull request from vbnmmnbv/KmipOperationFailure
Modify KmipOperationFailure to expose status/reason/message attributes
2017-04-06 08:54:16 -04:00
Peter Hamilton
be50097c2b Merge pull request from vbnmmnbv/mac_check_none
Fixing stringent argument checks for MAC operation
2017-04-06 08:53:08 -04:00
Hao Shen
16d79283f2 Modify KmipOperationFailure to expose status/reason/message attributes 2017-04-04 11:36:05 -07:00
Hao Shen
5967b55148 Fixing stringent argument checks for MAC operation 2017-03-30 14:32:42 -07:00
Peter Hamilton
2aabad714a Merge pull request from vbnmmnbv/activate_pie
fix activate uid none check
2017-03-29 23:40:51 -04:00
Hao Shen
eda50d657a fix activate uid none check 2017-03-29 20:23:06 -07:00
Peter Hamilton
1a8a31af49 Merge pull request from vbnmmnbv/activate_pie
Add Activate operation support for pie client
2017-03-29 18:52:51 -04:00
Hao Shen
de1d9c5646 Add Activate operation support for pie client 2017-03-29 11:55:48 -07:00
Peter Hamilton
5fc2e26527 Merge pull request from OpenKMIP/maint/cleanup-old-server-code
Removing deprecated server code and supporting infrastructure
2017-03-28 09:37:10 -04:00