@@ -110,6 +110,7 @@ metadata_gather() {
110110 jtag_locked integer DEFAULT NULL,
111111 eeprom_write_protected integer DEFAULT NULL,
112112 pubkey_programmed integer DEFAULT NULL,
113+ devkey_revoked integer DEFAULT NULL,
113114 signed_boot_enabled integer DEFAULT NULL,
114115 os_image_filename varchar(255) DEFAULT NULL,
115116 os_image_sha256 char(64) DEFAULT NULL,
@@ -142,14 +143,42 @@ metadata_gather() {
142143 EEPROM_WP_VALUE=" 0"
143144 fi
144145
145- # Public key programming: 1 for secure provisioning, 0 for non-secure, NULL for unknown
146+ # Public key programming: read from fastboot metadata 'signed-otp'
147+ # Map 'present' -> 1, 'not present' -> 0, common boolean forms as fallback, else NULL
146148 PUBKEY_PROGRAMMED_VALUE=" NULL"
147- if [ " ${SECURE} " = " 1" ]; then
148- PUBKEY_PROGRAMMED_VALUE=" 1"
149- elif [ " ${SECURE} " = " 0" ]; then
150- PUBKEY_PROGRAMMED_VALUE=" 0"
149+ SIGNED_OTP=" $( metadata_get " signed-otp" ) "
150+ if [ -n " ${SIGNED_OTP} " ]; then
151+ SIGNED_OTP_LC=" $( printf " %s" " ${SIGNED_OTP} " | tr ' [:upper:]' ' [:lower:]' ) "
152+ case " ${SIGNED_OTP_LC} " in
153+ present|1|true|yes)
154+ PUBKEY_PROGRAMMED_VALUE=" 1"
155+ ;;
156+ " not present" |notpresent|0|false|no)
157+ PUBKEY_PROGRAMMED_VALUE=" 0"
158+ ;;
159+ * )
160+ : # leave as NULL
161+ ;;
162+ esac
151163 fi
152164
165+ # Dev key revoked (signed-devkey): 'present' -> 1, 'not present' -> 0, else NULL
166+ DEVKEY_REVOKED_VALUE=" NULL"
167+ SIGNED_DEVKEY=" $( metadata_get " signed-devkey" ) "
168+ if [ -n " ${SIGNED_DEVKEY} " ]; then
169+ SIGNED_DEVKEY_LC=" $( printf " %s" " ${SIGNED_DEVKEY} " | tr ' [:upper:]' ' [:lower:]' ) "
170+ case " ${SIGNED_DEVKEY_LC} " in
171+ present)
172+ DEVKEY_REVOKED_VALUE=" 1"
173+ ;;
174+ " not present" |notpresent)
175+ DEVKEY_REVOKED_VALUE=" 0"
176+ ;;
177+ * )
178+ : ;;
179+ esac
180+ fi
181+
153182 # Signed boot: 1 for secure provisioning, 0 for non-secure, NULL for unknown
154183 SIGNED_BOOT_VALUE=" NULL"
155184 if [ " ${SECURE} " = " 1" ]; then
@@ -195,6 +224,7 @@ metadata_gather() {
195224 jtag_locked, \
196225 eeprom_write_protected, \
197226 pubkey_programmed, \
227+ devkey_revoked, \
198228 signed_boot_enabled, \
199229 os_image_filename, \
200230 os_image_sha256 \
@@ -215,6 +245,7 @@ metadata_gather() {
215245 ${JTAG_LOCKED_VALUE} , \
216246 ${EEPROM_WP_VALUE} , \
217247 ${PUBKEY_PROGRAMMED_VALUE} , \
248+ ${DEVKEY_REVOKED_VALUE} , \
218249 ${SIGNED_BOOT_VALUE} , \
219250 '${OS_IMAGE_FILENAME} ', \
220251 '${OS_IMAGE_SHA256} ' \
0 commit comments