releasetools: Add script to sign zips
Change-Id: I9cbeb6edea79a7e9bb0fc692e53497b54058d67f (cherry picked from commit 040a8b007974c6cb56d361d6db8ba96f9b63da10)
This commit is contained in:
69
tools/releasetools/sign_zip.py
Executable file
69
tools/releasetools/sign_zip.py
Executable file
@@ -0,0 +1,69 @@
|
||||
#!/usr/bin/env python3
|
||||
#
|
||||
# Copyright (C) 2017 The LineageOS Project
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
"""
|
||||
Signs the given zip with the given key producing a new zip.
|
||||
|
||||
Usage: sign_release_zip [flags] input_zip output_zip
|
||||
|
||||
-k (--package_key) <key> Key to use to sign the package (default is
|
||||
"build/target/product/security/testkey").
|
||||
"""
|
||||
import sys
|
||||
|
||||
import common
|
||||
|
||||
OPTIONS = common.OPTIONS
|
||||
|
||||
OPTIONS.package_key = "build/target/product/security/testkey"
|
||||
|
||||
def SignOutput(input_zip_name, output_zip_name):
|
||||
key_passwords = common.GetKeyPasswords([OPTIONS.package_key])
|
||||
pw = key_passwords[OPTIONS.package_key]
|
||||
|
||||
common.SignFile(input_zip_name, output_zip_name, OPTIONS.package_key, pw,
|
||||
whole_file=True)
|
||||
|
||||
|
||||
def main(argv):
|
||||
|
||||
def option_handler(o, a):
|
||||
if o in ("-k", "--package_key"):
|
||||
OPTIONS.package_key = a
|
||||
else:
|
||||
return False
|
||||
return True
|
||||
|
||||
args = common.ParseOptions(argv, __doc__,
|
||||
extra_opts="k:",
|
||||
extra_long_opts=[
|
||||
"package_key=",
|
||||
], extra_option_handler=option_handler)
|
||||
if len(args) != 2:
|
||||
common.Usage(__doc__)
|
||||
sys.exit(1)
|
||||
|
||||
SignOutput(args[0], args[1])
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
try:
|
||||
main(sys.argv[1:])
|
||||
except common.ExternalError as e:
|
||||
print()
|
||||
print(" ERROR: %s" % e)
|
||||
print()
|
||||
sys.exit(1)
|
Reference in New Issue
Block a user