diff options
| author | Niall Cooling <niallcooling@gmail.com> | 2021-03-22 17:23:49 (GMT) |
|---|---|---|
| committer | Niall Cooling <niallcooling@gmail.com> | 2021-03-22 17:23:49 (GMT) |
| commit | e5e3fc02b8a2adf9ea100c162d1290cecdf617ef (patch) | |
| tree | 78d4da0239ff8bf7a8694c28f804f81d2496979f /tools/mcuboot/imgtool/boot_record.py | |
| parent | 14bd790701f4e2f6d75ef8a1f52b9f38023c2dd9 (diff) | |
| parent | 9f9d0eb5df8ff86b9cd1e095afa3159094dde53c (diff) | |
Updated to include WatchFaceAnalog and fixed clashes
Diffstat (limited to 'tools/mcuboot/imgtool/boot_record.py')
| -rw-r--r-- | tools/mcuboot/imgtool/boot_record.py | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/tools/mcuboot/imgtool/boot_record.py b/tools/mcuboot/imgtool/boot_record.py new file mode 100644 index 0000000..4112b22 --- /dev/null +++ b/tools/mcuboot/imgtool/boot_record.py @@ -0,0 +1,47 @@ +# Copyright (c) 2019, Arm Limited. +# Copyright (c) 2020, Linaro Limited +# +# 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. + +from enum import Enum +import cbor + + +class SwComponent(int, Enum): + """ + Software component property IDs specified by + Arm's PSA Attestation API 1.0 document. + """ + TYPE = 1 + MEASUREMENT_VALUE = 2 + VERSION = 4 + SIGNER_ID = 5 + MEASUREMENT_DESCRIPTION = 6 + + +def create_sw_component_data(sw_type, sw_version, sw_measurement_description, + sw_measurement_value, sw_signer_id): + + # List of software component properties (Key ID + value) + properties = { + SwComponent.TYPE: sw_type, + SwComponent.VERSION: sw_version, + SwComponent.SIGNER_ID: sw_signer_id, + SwComponent.MEASUREMENT_DESCRIPTION: sw_measurement_description, + } + + # Note: The measurement value must be the last item of the property + # list because later it will be modified by the bootloader. + properties[SwComponent.MEASUREMENT_VALUE] = sw_measurement_value + + return cbor.dumps(properties) |
