Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit fb4fb4b7 authored by Treehugger Robot's avatar Treehugger Robot Committed by Gerrit Code Review
Browse files

Merge "Reduce OTA tools's dependency on brillo_update_payload" into main

parents 8c3bb5b9 f6fe0a9c
Loading
Loading
Loading
Loading
+1 −24
Original line number Diff line number Diff line
@@ -897,30 +897,7 @@ class PayloadGenerator(object):
    """
    assert isinstance(payload_signer, PayloadSigner)

    # 1. Generate hashes of the payload and metadata files.
    payload_sig_file = common.MakeTempFile(prefix="sig-", suffix=".bin")
    metadata_sig_file = common.MakeTempFile(prefix="sig-", suffix=".bin")
    cmd = ["brillo_update_payload", "hash",
           "--unsigned_payload", self.payload_file,
           "--signature_size", str(payload_signer.maximum_signature_size),
           "--metadata_hash_file", metadata_sig_file,
           "--payload_hash_file", payload_sig_file]
    self._Run(cmd)

    # 2. Sign the hashes.
    signed_payload_sig_file = payload_signer.SignHashFile(payload_sig_file)
    signed_metadata_sig_file = payload_signer.SignHashFile(metadata_sig_file)

    # 3. Insert the signatures back into the payload file.
    signed_payload_file = common.MakeTempFile(prefix="signed-payload-",
                                              suffix=".bin")
    cmd = ["brillo_update_payload", "sign",
           "--unsigned_payload", self.payload_file,
           "--payload", signed_payload_file,
           "--signature_size", str(payload_signer.maximum_signature_size),
           "--metadata_signature_file", signed_metadata_sig_file,
           "--payload_signature_file", signed_payload_sig_file]
    self._Run(cmd)
    signed_payload_file = payload_signer.SignPayload(self.payload_file)

    self.payload_file = signed_payload_file

+11 −12
Original line number Diff line number Diff line
@@ -95,11 +95,11 @@ class PayloadSigner(object):
    # 1. Generate hashes of the payload and metadata files.
    payload_sig_file = common.MakeTempFile(prefix="sig-", suffix=".bin")
    metadata_sig_file = common.MakeTempFile(prefix="sig-", suffix=".bin")
    cmd = ["brillo_update_payload", "hash",
           "--unsigned_payload", unsigned_payload,
           "--signature_size", str(self.maximum_signature_size),
           "--metadata_hash_file", metadata_sig_file,
           "--payload_hash_file", payload_sig_file]
    cmd = ["delta_generator",
           "--in_file=" + unsigned_payload,
           "--signature_size=" + str(self.maximum_signature_size),
           "--out_metadata_hash_file=" + metadata_sig_file,
           "--out_hash_file=" + payload_sig_file]
    self._Run(cmd)

    # 2. Sign the hashes.
@@ -109,16 +109,15 @@ class PayloadSigner(object):
    # 3. Insert the signatures back into the payload file.
    signed_payload_file = common.MakeTempFile(prefix="signed-payload-",
                                              suffix=".bin")
    cmd = ["brillo_update_payload", "sign",
           "--unsigned_payload", unsigned_payload,
           "--payload", signed_payload_file,
           "--signature_size", str(self.maximum_signature_size),
           "--metadata_signature_file", signed_metadata_sig_file,
           "--payload_signature_file", signed_payload_sig_file]
    cmd = ["delta_generator",
           "--in_file=" + unsigned_payload,
           "--out_file=" + signed_payload_file,
           "--signature_size=" + str(self.maximum_signature_size),
           "--metadata_signature_file=" + signed_metadata_sig_file,
           "--payload_signature_file=" + signed_payload_sig_file]
    self._Run(cmd)
    return signed_payload_file


  def SignHashFile(self, in_file):
    """Signs the given input file. Returns the output filename."""
    out_file = common.MakeTempFile(prefix="signed-", suffix=".bin")