From df3efa8157196066a9a36efc7ff2e400178d101e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alexis=20M=C3=A9taireau?= Date: Tue, 25 Feb 2025 15:44:08 +0100 Subject: [PATCH] fixup! 6aff84549364a548fbf738d5e62a00e8b35c9105 --- dangerzone/updater/signatures.py | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/dangerzone/updater/signatures.py b/dangerzone/updater/signatures.py index 2b3c676..21a328c 100644 --- a/dangerzone/updater/signatures.py +++ b/dangerzone/updater/signatures.py @@ -115,6 +115,20 @@ def verify_signature(signature: dict, image_digest: str, pubkey: str | Path) -> return False +class Signature: + def __init__(self, signature: Dict): + self.signature = signature + + @property + def payload(self) -> Dict: + return json.loads(b64decode(self.signature["Payload"])) + + @property + def manifest_digest(self) -> str: + full_digest = self.payload["critical"]["image"]["docker-manifest-digest"] + return full_digest.replace("sha256:", "") + + def is_update_available(image: str) -> Tuple[bool, Optional[str]]: remote_digest = registry.get_manifest_digest(image) local_digest = runtime.get_local_image_digest(image)