2
0
mirror of https://github.com/openkmip/pykmip synced 2025-12-13 06:43:15 +00:00

Adding the CryptographyEngine

This changes adds the CryptographyEngine, which uses pyca/cryptography
to create symmetric and asymmetric keys. A test suite is included.
This commit is contained in:
Peter
2016-01-21 15:17:59 -05:00
parent 9d02201178
commit 53d6b1776e
7 changed files with 428 additions and 0 deletions

View File

@@ -13,6 +13,65 @@
# License for the specific language governing permissions and limitations
# under the License.
from kmip.core import enums
class KmipError(Exception):
"""
A generic KMIP error that is the base for the KMIP error hierarchy.
"""
def __init__(self,
status=enums.ResultStatus.OPERATION_FAILED,
reason=enums.ResultReason.GENERAL_FAILURE,
message='A general failure occurred.'):
"""
Create a KmipError exception.
Args:
status (ResultStatus): An enumeration detailing the result outcome.
reason (ResultReason): An enumeration giving the status rationale.
message (string): A string containing more information about the
error.
"""
super(KmipError, self).__init__(message)
self.status = status
self.reason = reason
class CryptographicFailure(KmipError):
"""
An error generated when problems occur with cryptographic operations.
"""
def __init__(self, message):
"""
Create a CryptographicFailure exception.
Args:
message (string): A string containing information about the error.
"""
super(CryptographicFailure, self).__init__(
reason=enums.ResultReason.CRYPTOGRAPHIC_FAILURE,
message=message)
class InvalidField(KmipError):
"""
An error generated when an invalid field value is processed.
"""
def __init__(self, message):
"""
Create an InvalidField exception.
Args:
message (string): A string containing information about the error.
"""
super(InvalidField, self).__init__(
reason=enums.ResultReason.INVALID_FIELD,
message=message)
class InvalidKmipEncoding(Exception):
"""