From 34eb000de525a13248e04e34c64ab25969e0b926 Mon Sep 17 00:00:00 2001 From: Baligh Uddin Date: Wed, 22 Jun 2016 12:14:16 -0700 Subject: [PATCH] Add ability to pass in payload_signer args Bug: 28701652 Change-Id: I110d5fc14446e4a6a0f8e25dcb0d300decdf09a4 (cherry picked from commit 2abbbd03339947327ada0becba5bd4ef41f1bdab) --- tools/releasetools/ota_from_target_files.py | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/tools/releasetools/ota_from_target_files.py b/tools/releasetools/ota_from_target_files.py index bd25fd530..69669641f 100755 --- a/tools/releasetools/ota_from_target_files.py +++ b/tools/releasetools/ota_from_target_files.py @@ -116,6 +116,9 @@ Usage: ota_from_target_files [flags] input_target_files output_ota_package directly, a payload signer that knows how to do that should be specified. The signer will be supplied with "-inkey ", "-in " and "-out " parameters. + + --payload_signer_args + Specify the arguments needed for payload signer. """ import sys @@ -127,6 +130,7 @@ if sys.hexversion < 0x02070000: import multiprocessing import os import subprocess +import shlex import tempfile import zipfile @@ -163,6 +167,7 @@ OPTIONS.stash_threshold = 0.8 OPTIONS.gen_verify = False OPTIONS.log_diff = None OPTIONS.payload_signer = None +OPTIONS.payload_signer_args = [] def MostPopularKey(d, default): """Given a dict, return the key corresponding to the largest @@ -1234,8 +1239,8 @@ def WriteABOTAPackageWithBrilloScript(target_file, output_file, suffix=".bin") # 3a. Sign the payload hash. if OPTIONS.payload_signer is not None: - cmd = [OPTIONS.payload_signer, - "-inkey", OPTIONS.package_key + OPTIONS.private_key_suffix] + cmd = [OPTIONS.payload_signer] + cmd.extend(OPTIONS.payload_signer_args) else: cmd = ["openssl", "pkeyutl", "-sign", "-inkey", rsa_key, @@ -1248,8 +1253,8 @@ def WriteABOTAPackageWithBrilloScript(target_file, output_file, # 3b. Sign the metadata hash. if OPTIONS.payload_signer is not None: - cmd = [OPTIONS.payload_signer, - "-inkey", OPTIONS.package_key + OPTIONS.private_key_suffix] + cmd = [OPTIONS.payload_signer] + cmd.extend(OPTIONS.payload_signer_args) else: cmd = ["openssl", "pkeyutl", "-sign", "-inkey", rsa_key, @@ -1917,6 +1922,8 @@ def main(argv): OPTIONS.log_diff = a elif o == "--payload_signer": OPTIONS.payload_signer = a + elif o == "--payload_signer_args": + OPTIONS.payload_signer_args = shlex.split(a) else: return False return True @@ -1946,6 +1953,7 @@ def main(argv): "gen_verify", "log_diff=", "payload_signer=", + "payload_signer_args=", ], extra_option_handler=option_handler) if len(args) != 2: -- 2.11.0