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:
@@ -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):
|
||||
"""
|
||||
|
||||
Reference in New Issue
Block a user