Add cryptographic usage mask support for DeriveKey

This change updates the ProxyKmipClient support for the DeriveKey
operation, now allowing the caller to specify a list of
CryptographicUsageMask enumerations to set on the newly derived
key.

Fixes #417
This commit is contained in:
Peter Hamilton 2018-04-11 20:44:20 -04:00
parent 3c59dcf61a
commit 25f6cc9e5c
2 changed files with 12 additions and 1 deletions

View File

@ -484,6 +484,13 @@ class ProxyKmipClient(object):
kwargs.get('cryptographic_algorithm')
)
)
if kwargs.get('cryptographic_usage_mask'):
attributes.append(
self.attribute_factory.create_attribute(
enums.AttributeType.CRYPTOGRAPHIC_USAGE_MASK,
kwargs.get('cryptographic_usage_mask')
)
)
template_attribute = cobjects.TemplateAttribute(
attributes=attributes
)

View File

@ -1586,7 +1586,11 @@ class TestProxyKmipClient(testtools.TestCase):
'derivation_data': b'\xFF\xFE\xFE\xFC'
},
cryptographic_length=128,
cryptographic_algorithm=enums.CryptographicAlgorithm.AES
cryptographic_algorithm=enums.CryptographicAlgorithm.AES,
cryptographic_usage_mask=[
enums.CryptographicUsageMask.ENCRYPT,
enums.CryptographicUsageMask.DECRYPT
]
)
self.assertEqual('1', derived_id)