352 Commits

Author SHA1 Message Date
Peter Hamilton
a60c65f191 Merge pull request #331 from alishamayor/patch-1
Add REVOKE to list of supported server ops
2017-09-12 10:14:20 -04:00
alishamayor
50546f2d92 Updated query tests to include Revoke 2017-09-06 17:37:50 -07:00
Edward Betts
0f249a0121 correct spelling mistake 2017-09-01 21:18:15 +01:00
Peter Hamilton
06c4e5b361 Add a ProxyKmipClient demo for the SignatureVerify operation
This change adds a demo for the ProxyKmipClient, demonstrating
how to verify a message signature using a public key. Only RSA
keys and signatures are supported for now.
2017-08-30 12:14:43 -04:00
alishamayor
fa548a7ebe Add REVOKE to list of supported server ops
As defined in _process_query, the list of supported server operations is missing REVOKE.
2017-08-29 17:42:55 -07:00
Peter Hamilton
64b6177fe7 Add SignatureVerify support to the clients
This change adds SignatureVerify support to the KMIPProxy and
ProxyKmipClient clients, including unit tests to cover the new
functionality.
2017-08-29 16:41:11 -04:00
Peter Hamilton
fc7224e20d Add SignatureVerify support to the server
This change adds the SignatureVerify operation to the server. Unit
tests covering the additions are included. The Query operation has
been updated to reflect this addition.
2017-08-29 16:11:26 -04:00
Peter Hamilton
48ef434922 Add signature verification support
This change adds signature verification support to the server
cryptography engine. Only RSA-based signatures are currently
supported. Unit tests have been added to verify the new
functionality.
2017-08-29 13:09:56 -04:00
Dane Fichter
d48b590c35 This change adds Sign operation support to the server. 2017-08-28 12:47:23 -04:00
Dane
df06aa8ad8 Add engine support for sign operation
This change adds the sign operation functionality
to the cryptography engine.
2017-08-25 10:31:11 -04:00
Peter Hamilton
df74c854b7 Merge pull request #325 from OpenKMIP/feat/add-signature-verify-payloads
Add payloads for the SignatureVerify operation
2017-08-21 16:53:21 -04:00
Peter Hamilton
c5cf2c3846 Merge pull request #323 from OpenKMIP/feat/add-encrypt-decrypt-demos
Add ProxyKmipClient demos for the Encrypt / Decrypt operations
2017-08-21 16:52:44 -04:00
Peter Hamilton
1aa24586f5 Merge pull request #322 from OpenKMIP/feat/add-asymmetric-encrypt-support
Add support for asymmetric encryption and decryption
2017-08-21 16:51:33 -04:00
Peter Hamilton
a6d3b944ab Add payloads for the SignatureVerify operation
This change adds request and response payloads for the
SignatureVerify operation. Payload factories have been updated to
support SignatureVerify and new unit test suites have been added
to cover the new payload code.
2017-08-18 10:41:03 -04:00
Peter Hamilton
a11bb8da05 Add KMIP 1.4 enumerations
This change updates the set of supported enumerations to include
those added by KMIP 1.4
2017-08-15 16:07:28 -04:00
Peter Hamilton
b0d454da9a Add ProxyKmipClient demos for the Encrypt / Decrypt operations
This change adds demos for the ProxyKmipClient, demonstrating how
to encrypt and decrypt messages. Demo utilities have been updated
to support the new demo scripts and the KMIPProxy client has been
updated to correctly return operation results.
2017-08-15 11:10:57 -04:00
Peter Hamilton
89c997c337 Add support for asymmetric encryption and decryption
This change updates the encrypt/decrypt support in the cryptography
engine to support asymmetric key algorithms, specifically RSA. Unit
tests have been added to validate the new functionality.
2017-08-14 21:10:12 -04:00
Peter Hamilton
5758c6dd1e Merge pull request #321 from OpenKMIP/feat/enforce-derive-key-length
Enforce server support for DeriveKey truncation
2017-08-10 17:30:32 -04:00
Peter Hamilton
0009bb2b5a Enforce server support for DeriveKey truncation
This change updates DeriveKey support in the software server to
enforce key truncation. If the derived key is longer than the
requested cryptographic length, the derived key is truncated to
fit the requested length. A unit test has been added to cover
this update.
2017-08-09 15:58:03 -04:00
Peter Hamilton
56b8a9f04b Add DeriveKey integration tests for the ProxyKmipClient
This change adds several integration tests that exercise the
DeriveKey functionality supported by the ProxyKmipClient. These
tests pass when run against the PyKMIP software server.
2017-08-09 15:37:46 -04:00
Peter Hamilton
125bbee9ad Merge pull request #319 from OpenKMIP/bug/fix-get-integration-tests
Fix integration test errors involving Get payloads
2017-08-09 14:25:31 -04:00
Peter Hamilton
015368161c Fix integration test errors involving Get payloads
This change fixes a series of bugs in the integration test suite
introduced by the previous Get payload update. The integration
test suite now runs successfully against the PyKMIP software
server.
2017-08-09 13:51:29 -04:00
Peter Hamilton
ec61f1861d Add a ProxyKmipClient demo for the DeriveKey operation
This change adds a demo for the ProxyKmipClient, demonstrating how
to derive keys in a variety of ways, including via encryption,
hashing, HMAC, PBKDF2, and NIST 800 108-C.
2017-08-09 13:25:23 -04:00
Peter Hamilton
357ac022c4 Merge pull request #317 from OpenKMIP/feat/add-derive-key-to-clients
Add DeriveKey support to the clients
2017-08-09 13:05:13 -04:00
Peter Hamilton
6071c938b6 Add DeriveKey support to the clients
This change adds DeriveKey operation support to the KMIPProxy and
ProxyKmipClient clients, including unit tests to cover the new
functionality.
2017-08-08 14:54:48 -04:00
Peter Hamilton
278a54320c Merge pull request #297 from OpenKMIP/feat/add-decrypt-to-clients
Add Decrypt support to the clients
2017-07-27 12:31:33 -04:00
Peter Hamilton
a4b7b433b4 Add Decrypt support to the server
This change adds the Decrypt operation to the server. Support is
currently limited to symmetric decryption only. The decryption key
used with the operation must be in the Active state and it must
have the Decrypt bit set in its cryptographic usage mask.
2017-07-27 12:03:27 -04:00
Peter Hamilton
7c6e45f549 Fix bug generating detached instance errors in server tests
This patch fixes a bug that generates intermittent sqlalchemy
DetachedInstanceErrors during the KMIP server engine unit test
execution. Specifically, this fix disables instance expiration on
commit for the sqlalchemy sessions used throughout the unit tests,
allowing access to instance attributes even if the instance is
detached from a session.

Fixes #312
2017-07-27 11:38:07 -04:00
Peter Hamilton
90fafe8713 Add DeriveKey support to the server
This change adds the DeriveKey operation to the server. Unit tests
covering the new additions are included. The Query operation has
also been updated to reflect this addition.
2017-07-25 13:20:16 -04:00
Peter Hamilton
50b0ae9fee Add server support for Getting wrapped keys
This change adds support for retrieving wrapped keys from the KMIP
server. The only supported key wrapping algorithm currently is
the AES-based NIST Key Wrap algorithm (RFC 3394). MAC/signing is
not supported for key wrapping. Attribute-bundling with the wrapped
key value is not supported. Wrapping of the entire key block TTLV
encoding is not supported. Various additional error cases are
included and checked for.

Unit tests covering the additions to Get are included.
2017-07-25 09:50:11 -04:00
Peter Hamilton
448cf229f6 Fix key wrapping support in the cryptography engine
This change fixes key wrapping support in the cryptography engine.
The original implementation used a CryptographicAlgorithm enum to
determine what key wrapping algorithm to use for key wrapping.
Closer inspection of the KMIP spec indicates that a BlockCipherMode
enum should be used instead. The engine has been updated to reflect
this change, as have the corresponding key wrapping unit tests.
2017-07-24 12:40:46 -04:00
Peter Hamilton
615889f7eb Merge pull request #307 from OpenKMIP/feat/update-key-wrapping-data
Update the KeyWrappingData struct
2017-07-24 12:13:58 -04:00
Peter Hamilton
f71500446f Add key wrapping support to the cryptography engine
This change adds key wrapping support to the CryptographyEngine,
supporting RFC 3394, AES Key Wrap, only. Numerous unit tests from
using test vectors from RFC 3394 are included.
2017-07-24 10:24:25 -04:00
Peter Hamilton
ba47813553 Update the Get request and response payloads
This change updates the Get payloads to reflect current coding
styles. It streamlines payload usage and makes it easier to create
and access payload fields. A new unit test suite dedicated to the
Get payloads is added. Surrounding code in the client/server and
associated utilities and unit tests are updated to reflect these
changes.
2017-07-20 12:36:42 -04:00
Peter Hamilton
1e6b043ab8 Update the KeyWrappingData struct
This change updates the KeyWrappingData struct to conform with
current library styles. This struct is used with key data to
represent a wrapped key and will be used by future patches to
support key wrapping functionality. Updated unit tests matching
the new additions are included.
2017-07-18 10:31:05 -04:00
Peter Hamilton
0e0e1465e9 Update the KeyWrappingSpecification struct
This change updates the KeyWrappingSpecification struct to conform
with current library styles. This struct is used for key wrapping
functionality and will be used in future patches. Updated unit
tests matching the new additions are included.
2017-07-16 14:41:44 -04:00
Peter Hamilton
2e15a1ca3b Update the MACSignatureKeyInformation struct
This change updates the MACSignatureKeyInformation struct to
conform with current library styles. This struct is used for key
wrapping functionality and will be leveraged by future patches.
Updated unit tests matching the new additions are included.
2017-07-15 13:08:06 -04:00
Peter Hamilton
e5d29f031f Update the EncryptionKeyInformation struct
This change updates the EncryptionKeyInformation struct to conform
with current library styles. This struct is used for key wrapping
functionality and will be leveraged by future patches. Updated
unit tests matching the new additions are included.
2017-07-13 15:12:26 -04:00
Peter Hamilton
db81d9b16e Merge pull request #299 from OpenKMIP/feat/add-derive
Add key derivation support to the server cryptography engine
2017-07-10 15:58:02 -04:00
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
62d30be7fa Merge pull request #298 from vbnmmnbv/locate_attributes_server
Add Name attribute filtering of locate for server
2017-07-05 20:23:24 -04:00
Peter Hamilton
4462a4cf42 Update server engine unit tests to improve coverage
This change adds several miscellaneous tests to improve unit test
coverage, minor additions all.
2017-07-05 14:24:38 -04:00
dane-fichter
a910dccf07 Adding request and response payloads for the Sign operation 2017-07-05 10:03:58 -04:00
Hao Shen
b55a051b26 Add Name attribute filtering of locate for server 2017-06-30 12:27:00 -07:00
Peter Hamilton
0618018c8b Add Decrypt support to the clients
This change adds Decrypt operation support to the KMIPProxy and
ProxyKmipClient clients, including unit tests to cover the new
functionality.
2017-06-28 11:35:38 -04:00
Peter Hamilton
4c244a1f6f Merge pull request #291 from OpenKMIP/feat/add-encrypt-to-clients
Add Encrypt support to the clients
2017-06-28 10:59:30 -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
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 #293 from OpenKMIP/feat/add-derivation-parameters
Add the DerivationParameters struct
2017-06-23 18:22:11 -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