summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYi-Yo Chiang <yochiang@google.com>2022-01-03 11:27:14 +0000
committerAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>2022-01-03 11:27:14 +0000
commit0385dbc9b424f5e7f497e8fc2f5fa7d11e3c9fb2 (patch)
treeea75071da8cc112cb45b305662b69f9c07eb8341
parentde93fcceaa9999384eeeff985ab8af0f59b90f54 (diff)
parent414d58ed950828f7c971a444eae6c0199f5eef91 (diff)
downloadmkbootimg-0385dbc9b424f5e7f497e8fc2f5fa7d11e3c9fb2.tar.gz
Add 'generate_gki_certificate' standalone tool to certify GKI am: 6ec5817b45 am: c7d21760d2 am: 414d58ed95
Original change: https://android-review.googlesource.com/c/platform/system/tools/mkbootimg/+/1933194 Change-Id: I39e1722aca21d570db8752434f72769e9a95f706
-rw-r--r--Android.bp12
-rwxr-xr-xgki/generate_gki_certificate.py39
2 files changed, 51 insertions, 0 deletions
diff --git a/Android.bp b/Android.bp
index 77a5a32..5881443 100644
--- a/Android.bp
+++ b/Android.bp
@@ -54,6 +54,18 @@ python_defaults {
}
python_binary_host {
+ name: "generate_gki_certificate",
+ defaults: ["mkbootimg_defaults"],
+ main: "gki/generate_gki_certificate.py",
+ srcs: [
+ "gki/generate_gki_certificate.py",
+ ],
+ required: [
+ "avbtool",
+ ],
+}
+
+python_binary_host {
name: "mkbootimg",
defaults: ["mkbootimg_defaults"],
main: "mkbootimg.py",
diff --git a/gki/generate_gki_certificate.py b/gki/generate_gki_certificate.py
index 94bec88..f3802a0 100755
--- a/gki/generate_gki_certificate.py
+++ b/gki/generate_gki_certificate.py
@@ -45,3 +45,42 @@ def generate_gki_certificate(image, avbtool, name, algorithm, key, salt,
avbtool_cmd += additional_avb_args
subprocess.check_call(avbtool_cmd)
+
+
+def parse_cmdline():
+ parser = ArgumentParser(add_help=True)
+
+ # Required args.
+ parser.add_argument('image', help='path to the image')
+ parser.add_argument('-o', '--output', required=True,
+ help='output certificate file name')
+ parser.add_argument('--name', required=True,
+ choices=['generic_kernel', 'generic_ramdisk'],
+ help='name of the image to be certified')
+ parser.add_argument('--algorithm', required=True,
+ help='AVB signing algorithm')
+ parser.add_argument('--key', required=True,
+ help='path to the RSA private key')
+
+ # Optional args.
+ parser.add_argument('--avbtool', default='avbtool',
+ help='path to the avbtool executable')
+ parser.add_argument('--salt', help='salt to use when computing image hash')
+ parser.add_argument('--additional_avb_args', default='',
+ help='additional arguments to be forwarded to avbtool')
+
+ return parser.parse_args()
+
+
+def main():
+ args = parse_cmdline()
+ generate_gki_certificate(
+ image=args.image, avbtool=args.avbtool, name=args.name,
+ algorithm=args.algorithm, key=args.key, salt=args.salt,
+ additional_avb_args=args.additional_avb_args.split(),
+ output=args.output,
+ )
+
+
+if __name__ == '__main__':
+ main()