diff --git a/kmip/core/factories/keys.py b/kmip/core/factories/keys.py deleted file mode 100644 index d89753f..0000000 --- a/kmip/core/factories/keys.py +++ /dev/null @@ -1,132 +0,0 @@ -# Copyright (c) 2014 The Johns Hopkins University/Applied Physics Laboratory -# All Rights Reserved. -# -# Licensed under the Apache License, Version 2.0 (the "License"); you may -# not use this file except in compliance with the License. You may obtain -# a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT -# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the -# License for the specific language governing permissions and limitations -# under the License. - -from kmip.core.enums import KeyFormatType - -from kmip.core.keys import ECPrivateKey -from kmip.core.keys import OpaqueKey -from kmip.core.keys import PKCS1Key -from kmip.core.keys import PKCS8Key -from kmip.core.keys import RawKey -from kmip.core.keys import TransparentSymmetricKey -from kmip.core.keys import X509Key - - -class KeyFactory(object): - - def create_key(self, key_format, value=None): - if value is None: - value = {} - - # Switch on the format type of the key - if key_format is KeyFormatType.RAW: - return self._create_raw_key(value) - elif key_format is KeyFormatType.OPAQUE: - return self._create_opaque_key() - elif key_format is KeyFormatType.PKCS_1: - return self._create_pkcs_1_key() - elif key_format is KeyFormatType.PKCS_8: - return self._create_pkcs_8_key() - elif key_format is KeyFormatType.X_509: - return self._create_x_509_key() - elif key_format is KeyFormatType.EC_PRIVATE_KEY: - return self._create_ec_private_key() - elif key_format is KeyFormatType.TRANSPARENT_SYMMETRIC_KEY: - return self._create_transparent_symmetric_key() - elif key_format is KeyFormatType.TRANSPARENT_DSA_PRIVATE_KEY: - return self._create_transparent_dsa_private_key(value) - elif key_format is KeyFormatType.TRANSPARENT_DSA_PUBLIC_KEY: - return self._create_transparent_dsa_public_key(value) - elif key_format is KeyFormatType.TRANSPARENT_RSA_PRIVATE_KEY: - return self._create_transparent_rsa_private_key(value) - elif key_format is KeyFormatType.TRANSPARENT_RSA_PUBLIC_KEY: - return self._create_transparent_rsa_public_key(value) - elif key_format is KeyFormatType.TRANSPARENT_DH_PRIVATE_KEY: - return self._create_transparent_dh_private_key(value) - elif key_format is KeyFormatType.TRANSPARENT_DH_PUBLIC_KEY: - return self._create_transparent_dh_public_key(value) - elif key_format is KeyFormatType.TRANSPARENT_ECDSA_PRIVATE_KEY: - return self._create_transparent_ecdsa_private_key(value) - elif key_format is KeyFormatType.TRANSPARENT_ECDSA_PUBLIC_KEY: - return self._create_transparent_ecdsa_public_key(value) - elif key_format is KeyFormatType.TRANSPARENT_ECDH_PRIVATE_KEY: - return self._create_transparent_ecdh_private_key(value) - elif key_format is KeyFormatType.TRANSPARENT_ECDH_PUBLIC_KEY: - return self._create_transparent_ecdh_public_key(value) - elif key_format is KeyFormatType.TRANSPARENT_ECMQV_PRIVATE_KEY: - return self._create_transparent_ecmqv_private_key(value) - elif key_format is KeyFormatType.TRANSPARENT_ECMQV_PUBLIC_KEY: - return self._create_transparent_ecmqv_public_key(value) - else: - msg = 'Unrecognized key format type: {0}' - raise ValueError(msg.format(key_format)) - - def _create_raw_key(self, value): - data = value.get('bytes') - return RawKey(data) - - def _create_opaque_key(self): - return OpaqueKey() - - def _create_pkcs_1_key(self): - return PKCS1Key() - - def _create_pkcs_8_key(self): - return PKCS8Key() - - def _create_x_509_key(self): - return X509Key() - - def _create_ec_private_key(self): - return ECPrivateKey() - - def _create_transparent_symmetric_key(self): - return TransparentSymmetricKey() - - def _create_transparent_dsa_private_key(self, value): - raise NotImplementedError() - - def _create_transparent_dsa_public_key(self, value): - raise NotImplementedError() - - def _create_transparent_rsa_private_key(self, value): - raise NotImplementedError() - - def _create_transparent_rsa_public_key(self, value): - raise NotImplementedError() - - def _create_transparent_dh_private_key(self, value): - raise NotImplementedError() - - def _create_transparent_dh_public_key(self, value): - raise NotImplementedError() - - def _create_transparent_ecdsa_private_key(self, value): - raise NotImplementedError() - - def _create_transparent_ecdsa_public_key(self, value): - raise NotImplementedError() - - def _create_transparent_ecdh_private_key(self, value): - raise NotImplementedError() - - def _create_transparent_ecdh_public_key(self, value): - raise NotImplementedError() - - def _create_transparent_ecmqv_private_key(self, value): - raise NotImplementedError() - - def _create_transparent_ecmqv_public_key(self, value): - raise NotImplementedError() diff --git a/kmip/core/factories/secrets.py b/kmip/core/factories/secrets.py index 0c8da35..c9b61b8 100644 --- a/kmip/core/factories/secrets.py +++ b/kmip/core/factories/secrets.py @@ -13,8 +13,6 @@ # License for the specific language governing permissions and limitations # under the License. -from kmip.core.factories.keys import KeyFactory - from kmip.core.attributes import CryptographicAlgorithm from kmip.core.attributes import CryptographicLength @@ -43,8 +41,6 @@ from kmip.core import utils class SecretFactory(object): def __init__(self): - self.key_factory = KeyFactory() - self.base_error = ErrorStrings.BAD_EXP_RECV self.template_input = self.base_error.format('Template', '{0}', '{1}', '{2}') diff --git a/kmip/core/keys.py b/kmip/core/keys.py deleted file mode 100644 index 117033e..0000000 --- a/kmip/core/keys.py +++ /dev/null @@ -1,102 +0,0 @@ -# Copyright (c) 2014 The Johns Hopkins University/Applied Physics Laboratory -# All Rights Reserved. -# -# Licensed under the Apache License, Version 2.0 (the "License"); you may -# not use this file except in compliance with the License. You may obtain -# a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT -# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the -# License for the specific language governing permissions and limitations -# under the License. - -# This module defines classes representing all of the different key types -# used by KMIP, including the more detailed structures of the Transparent -# Keys defined in Section 2.1.7. - -from kmip.core.enums import Tags - -from kmip.core.primitives import Struct -from kmip.core.primitives import ByteString - -from kmip.core.utils import BytearrayStream - - -class RawKey(ByteString): - - def __init__(self, value=None): - super(RawKey, self).__init__(value, Tags.KEY_MATERIAL) - - -class OpaqueKey(ByteString): - - def __init__(self, value=None): - super(OpaqueKey, self).__init__(value, Tags.KEY_MATERIAL) - - -class PKCS1Key(ByteString): - - def __init__(self, value=None): - super(PKCS1Key, self).__init__(value, Tags.KEY_MATERIAL) - - -class PKCS8Key(ByteString): - - def __init__(self, value=None): - super(PKCS8Key, self).__init__(value, Tags.KEY_MATERIAL) - - -class X509Key(ByteString): - - def __init__(self, value=None): - super(X509Key, self).__init__(value, Tags.KEY_MATERIAL) - - -class ECPrivateKey(ByteString): - - def __init__(self, value=None): - super(ECPrivateKey, self).__init__(value, Tags.KEY_MATERIAL) - - -# 2.1.7.1 -class TransparentSymmetricKey(Struct): - - class Key(ByteString): - - def __init__(self, value=None): - super(TransparentSymmetricKey.Key, self).__init__(value, Tags.KEY) - - def __init__(self, key=None): - super(TransparentSymmetricKey, self).__init__(Tags.KEY_MATERIAL) - self.key = key - self.validate() - - def read(self, istream): - super(TransparentSymmetricKey, self).read(istream) - tstream = BytearrayStream(istream.read(self.length)) - - self.key = TransparentSymmetricKey.Key() - self.key.read(tstream) - - self.is_oversized(tstream) - self.validate() - - def write(self, ostream): - tstream = BytearrayStream() - - self.key.write(tstream) - - # Write the length and value of the key wrapping data - self.length = tstream.length() - super(TransparentSymmetricKey, self).write(ostream) - ostream.write(tstream.buffer) - - def validate(self): - self.__validate() - - def __validate(self): - # TODO (peter-hamilton) Finish implementation. - pass diff --git a/kmip/tests/unit/core/messages/test_messages.py b/kmip/tests/unit/core/messages/test_messages.py index bcf9be7..f0105d4 100644 --- a/kmip/tests/unit/core/messages/test_messages.py +++ b/kmip/tests/unit/core/messages/test_messages.py @@ -16,7 +16,6 @@ from testtools import TestCase import binascii -from kmip.core.factories.keys import KeyFactory from kmip.core.factories.secrets import SecretFactory from kmip.core.factories.attributes import AttributeFactory @@ -1144,7 +1143,6 @@ class TestResponseMessage(TestCase): def setUp(self): super(TestResponseMessage, self).setUp() self.stream = BytearrayStream() - self.key_factory = KeyFactory() self.secret_factory = SecretFactory() self.msg = errors.ErrorStrings.BAD_EXP_RECV self.create = (