diff --git a/tuf/api/exceptions.py b/tuf/api/exceptions.py index ff7186c2..cb926945 100644 --- a/tuf/api/exceptions.py +++ b/tuf/api/exceptions.py @@ -10,6 +10,7 @@ #### Repository errors #### +# pylint: disable=unused-import from securesystemslib.exceptions import StorageError diff --git a/tuf/api/metadata.py b/tuf/api/metadata.py index 50454c4b..418190d8 100644 --- a/tuf/api/metadata.py +++ b/tuf/api/metadata.py @@ -304,9 +304,7 @@ def sign( Raises: tuf.api.serialization.SerializationError: 'signed' cannot be serialized. - securesystemslib.exceptions.CryptoError, \ - securesystemslib.exceptions.UnsupportedAlgorithmError: - Signing errors. + exceptions.UnsignedMetadataError: Signing errors. Returns: Securesystemslib Signature object that was added into signatures. @@ -319,7 +317,14 @@ def sign( signed_serializer = CanonicalJSONSerializer() - signature = signer.sign(signed_serializer.serialize(self.signed)) + bytes_data = signed_serializer.serialize(self.signed) + + try: + signature = signer.sign(bytes_data) + except Exception as e: + raise exceptions.UnsignedMetadataError( + "Problem signing the metadata" + ) from e if not append: self.signatures.clear()