include: image.h: add key info to image_sign_info
authorAKASHI Takahiro <takahiro.akashi@linaro.org>
Fri, 21 Feb 2020 06:12:57 +0000 (15:12 +0900)
committerTom Rini <trini@konsulko.com>
Thu, 12 Mar 2020 12:20:39 +0000 (08:20 -0400)
For FIT verification, all the properties of a public key come from
"control fdt" pointed to by fdt_blob. In UEFI secure boot, on the other
hand, a public key is located and retrieved from dedicated signature
database stored as UEFI variables.

Added two fields may hold values of a public key if fdt_blob is NULL, and
will be used in rsa_verify_with_pkey() to verify a signature in UEFI
sub-system.

Signed-off-by: AKASHI Takahiro <takahiro.akashi@linaro.org>
Reviewed-by: Simon Glass <sjg@chromium.org>
include/image.h

index 928d9d5069e15d4d0b0de1e35cab23bf7760f453..a1eea94f7d8455e4f737e7a699e43e8f2fcb3f8c 100644 (file)
@@ -1170,6 +1170,13 @@ struct image_sign_info {
        int required_keynode;           /* Node offset of key to use: -1=any */
        const char *require_keys;       /* Value for 'required' property */
        const char *engine_id;          /* Engine to use for signing */
+       /*
+        * Note: the following two fields are always valid even w/o
+        * RSA_VERIFY_WITH_PKEY in order to make sure this structure is
+        * the same on target and host. Otherwise, vboot test may fail.
+        */
+       const void *key;                /* Pointer to public key in DER */
+       int keylen;                     /* Length of public key */
 };
 
 /* A part of an image, used for hashing */