Add payload_hash/metadata_hash to update scripts
This makes debugging signature related OTA problems easier, developers
can easily inspect the actual hashes of an OTA package.
Test: th
Change-Id: Ia7f6e8f313a5fda4dc9f9ee4416fd9c9e9b80d5c
diff --git a/scripts/update_payload/payload.py b/scripts/update_payload/payload.py
index 4abd63e..8771ee4 100644
--- a/scripts/update_payload/payload.py
+++ b/scripts/update_payload/payload.py
@@ -152,6 +152,19 @@
self.Init()
@property
+ def metadata_hash(self):
+ return self.manifest_hasher.digest()
+
+ @property
+ def payload_hash(self):
+ hasher = hashlib.sha256()
+ self.payload_file.seek(0)
+ hasher.update(self.payload_file.read(self.metadata_size))
+ self.payload_file.seek(self.header.metadata_signature_len, io.SEEK_CUR)
+ hasher.update(self.payload_file.read(self.total_data_length))
+ return hasher.digest()
+
+ @property
def is_incremental(self):
return any([part.HasField("old_partition_info") for part in self.manifest.partitions])