xref: /aosp_15_r20/build/make/tools/releasetools/ota_signing_utils.py (revision 9e94795a3d4ef5c1d47486f9a02bb378756cea8a)
1*9e94795aSAndroid Build Coastguard Worker# Copyright (C) 2022 The Android Open Source Project
2*9e94795aSAndroid Build Coastguard Worker#
3*9e94795aSAndroid Build Coastguard Worker# Licensed under the Apache License, Version 2.0 (the "License");
4*9e94795aSAndroid Build Coastguard Worker# you may not use this file except in compliance with the License.
5*9e94795aSAndroid Build Coastguard Worker# You may obtain a copy of the License at
6*9e94795aSAndroid Build Coastguard Worker#
7*9e94795aSAndroid Build Coastguard Worker#      http://www.apache.org/licenses/LICENSE-2.0
8*9e94795aSAndroid Build Coastguard Worker#
9*9e94795aSAndroid Build Coastguard Worker# Unless required by applicable law or agreed to in writing, software
10*9e94795aSAndroid Build Coastguard Worker# distributed under the License is distributed on an "AS IS" BASIS,
11*9e94795aSAndroid Build Coastguard Worker# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12*9e94795aSAndroid Build Coastguard Worker# See the License for the specific language governing permissions and
13*9e94795aSAndroid Build Coastguard Worker# limitations under the License.
14*9e94795aSAndroid Build Coastguard Worker
15*9e94795aSAndroid Build Coastguard Workerimport argparse
16*9e94795aSAndroid Build Coastguard Workerimport shlex
17*9e94795aSAndroid Build Coastguard Worker
18*9e94795aSAndroid Build Coastguard Worker
19*9e94795aSAndroid Build Coastguard Workerdef ParseSignerArgs(args):
20*9e94795aSAndroid Build Coastguard Worker  if args is None:
21*9e94795aSAndroid Build Coastguard Worker    return None
22*9e94795aSAndroid Build Coastguard Worker  return shlex.split(args)
23*9e94795aSAndroid Build Coastguard Worker
24*9e94795aSAndroid Build Coastguard Worker
25*9e94795aSAndroid Build Coastguard Workerdef AddSigningArgumentParse(parser: argparse.ArgumentParser):
26*9e94795aSAndroid Build Coastguard Worker  parser.add_argument('--package_key', type=str,
27*9e94795aSAndroid Build Coastguard Worker                      help='Paths to private key for signing payload')
28*9e94795aSAndroid Build Coastguard Worker  parser.add_argument('--search_path', '--path', type=str,
29*9e94795aSAndroid Build Coastguard Worker                      help='Search path for framework/signapk.jar')
30*9e94795aSAndroid Build Coastguard Worker  parser.add_argument('--payload_signer', type=str,
31*9e94795aSAndroid Build Coastguard Worker                      help='Path to custom payload signer')
32*9e94795aSAndroid Build Coastguard Worker  parser.add_argument('--payload_signer_args', type=ParseSignerArgs,
33*9e94795aSAndroid Build Coastguard Worker                      help='Arguments for payload signer if necessary')
34*9e94795aSAndroid Build Coastguard Worker  parser.add_argument('--payload_signer_maximum_signature_size', type=str,
35*9e94795aSAndroid Build Coastguard Worker                      help='Maximum signature size (in bytes) that would be '
36*9e94795aSAndroid Build Coastguard Worker                      'generated by the given payload signer')
37*9e94795aSAndroid Build Coastguard Worker  parser.add_argument('--private_key_suffix', type=str,
38*9e94795aSAndroid Build Coastguard Worker                      help='Suffix to be appended to package_key path', default=".pk8")
39