diff --git a/tests/test_api.py b/tests/test_api.py index 502b2da128..66907b8731 100755 --- a/tests/test_api.py +++ b/tests/test_api.py @@ -1233,9 +1233,7 @@ def test_verify_delegate(self) -> None: envelope.sign(signer) self.assertTrue(len(envelope.signatures) == 1) - root.verify_delegate( - role.type, envelope.pae(), envelope.signatures_dict - ) + root.verify_delegate(role.type, envelope.pae(), envelope.signatures) # Run unit test. diff --git a/tuf/api/dsse.py b/tuf/api/dsse.py index 3967cbdcbb..a6fadedbb0 100644 --- a/tuf/api/dsse.py +++ b/tuf/api/dsse.py @@ -1,7 +1,7 @@ """Low-level TUF DSSE API. (experimental!)""" import json -from typing import Dict, Generic, Type, cast +from typing import Generic, Type, cast from securesystemslib.dsse import Envelope as BaseSimpleEnvelope @@ -42,25 +42,18 @@ class SimpleEnvelope(Generic[T], BaseSimpleEnvelope): delegator.verify_delegate( role_name, envelope.pae(), # Note, how we don't pass ``envelope.payload``! - envelope.signatures_dict, + envelope.signatures, ) Attributes: payload: Serialized payload bytes. payload_type: Payload string identifier. - signatures: List of ``Signature`` objects. - signatures_dict: Ordered dictionary of keyids to ``Signature`` objects. + signatures: Dictionary of keyids to ``Signature`` objects """ _DEFAULT_PAYLOAD_TYPE = "application/vnd.tuf+json" - @property - def signatures_dict(self) -> Dict: - """Convenience alias for ``self.signatures`` mapped to keyids.""" - # TODO: Propose changing ``signatures`` list to dict upstream - return {sig.keyid: sig for sig in self.signatures} - @classmethod def from_bytes(cls, data: bytes) -> "SimpleEnvelope[T]": """Load envelope from JSON bytes. @@ -126,7 +119,7 @@ def from_signed(cls, signed: T) -> "SimpleEnvelope[T]": except Exception as e: raise SerializationError from e - return cls(json_bytes, cls._DEFAULT_PAYLOAD_TYPE, []) + return cls(json_bytes, cls._DEFAULT_PAYLOAD_TYPE, {}) def get_signed(self) -> T: """Extract and deserialize payload JSON bytes from envelope. diff --git a/tuf/ngclient/_internal/trusted_metadata_set.py b/tuf/ngclient/_internal/trusted_metadata_set.py index 36e1aab1c3..2460dad55f 100644 --- a/tuf/ngclient/_internal/trusted_metadata_set.py +++ b/tuf/ngclient/_internal/trusted_metadata_set.py @@ -500,7 +500,7 @@ def _load_from_simple_envelope( if role_name is None: role_name = role.type delegator.verify_delegate( - role_name, envelope.pae(), envelope.signatures_dict + role_name, envelope.pae(), envelope.signatures ) signed = envelope.get_signed() @@ -509,4 +509,4 @@ def _load_from_simple_envelope( f"Expected '{role.type}', got '{signed.type}'" ) - return signed, envelope.pae(), envelope.signatures_dict + return signed, envelope.pae(), envelope.signatures