From 9fb517b32f0c4d3b9f2b16c176960df416704ece Mon Sep 17 00:00:00 2001 From: "Mike A." Date: Sun, 21 Jul 2024 21:22:30 +0200 Subject: [PATCH] reports: Add `LocationReport.key` property for decrypted reports --- findmy/reports/reports.py | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/findmy/reports/reports.py b/findmy/reports/reports.py index ba8975f..c93edc4 100644 --- a/findmy/reports/reports.py +++ b/findmy/reports/reports.py @@ -47,6 +47,16 @@ def hashed_adv_key_bytes(self) -> bytes: """See `HasHashedPublicKey.hashed_adv_key_bytes`.""" return self._hashed_adv_key + @property + def key(self) -> KeyPair: + """`KeyPair` using which this report was decrypted.""" + if not self.is_decrypted: + msg = "Full key is unavailable while the report is encrypted." + raise RuntimeError(msg) + assert self._decrypted_data is not None + + return self._decrypted_data[0] + @property def payload(self) -> bytes: """Full (partially encrypted) payload of the report, as retrieved from Apple."""