From: AKASHI Takahiro <takahiro.akashi@linaro.org>
To: u-boot@lists.denx.de
Subject: [PATCH 5/5] Makefile: Add provision for embedding public key in platform's dtb
Date: Fri, 7 May 2021 17:15:32 +0900 [thread overview]
Message-ID: <20210507081532.GA32968@laputa> (raw)
In-Reply-To: <CAA93ih3Sxutg5jfcfmCQweVsb0oUOJbPBLTsaaL8+SRu9+uTCg@mail.gmail.com>
On Wed, Apr 28, 2021 at 03:31:36PM +0900, Masami Hiramatsu wrote:
> 2021?4?28?(?) 14:44 AKASHI Takahiro <takahiro.akashi@linaro.org>:
> >
> > On Thu, Apr 08, 2021 at 09:58:17PM +0200, Heinrich Schuchardt wrote:
> > > On 4/7/21 1:53 PM, Sughosh Ganu wrote:
> > > > Add provision for embedding the public key used for capsule
> > > > authentication in the platform's dtb. This is done by invoking the
> > > > mkeficapsule utility which puts the public key in the efi signature
> > > > list(esl) format into the dtb.
> > > >
> > > > Signed-off-by: Sughosh Ganu <sughosh.ganu@linaro.org>
> > > > ---
> > > > Makefile | 10 ++++++++++
> > > > 1 file changed, 10 insertions(+)
> > > >
> > > > diff --git a/Makefile b/Makefile
> > > > index 193aa4d1c9..0d50c6a805 100644
> > > > --- a/Makefile
> > > > +++ b/Makefile
> > > > @@ -1010,6 +1010,10 @@ cmd_pad_cat = $(cmd_objcopy) && $(append) || { rm -f $@; false; }
> > > > quiet_cmd_lzma = LZMA $@
> > > > cmd_lzma = lzma -c -z -k -9 $< > $@
> > > >
> > > > +quiet_cmd_mkeficapsule = MKEFICAPSULE $@
> > > > +cmd_mkeficapsule = $(objtree)/tools/mkeficapsule -K $(CONFIG_EFI_PKEY_FILE) \
> > > > + -D $@
> > > > +
> > >
> > > tools/mkeficapsule --help does neither show a parameter -K nor a
> > > parameter -D.
> >
> > This clearly shows that the feature with -K/-D has nothing to do with
> > creating a capsule file.
> > Two totally different things in one place (command).
> > And the dtb overlay operation can be achieved by using standard commands.
>
> If I understand correctly, we need the following steps,
> 1. prepare the key for signing
> 2. make dtb overlay from that key
> 3. sign the capsule with the key
>
> And Sughosh's implementation is using mkeficapsule for 2 and 3.
> Takahiro pointed that mkeficapsule is only for 3 because of its name
> and avoid confusion.
>
> Is that correct?
>
> What would you think about changing the tool name?
> E.g.
>
> For step 2.
> capsuletool dtb --public-key pubkey [--overlay] target.dtb
My point is: as this command line shows, it has nothing to do
with a capsule file. It simply deals with dtb blob for overlaying.
(So 'capsuletool' is not appropriate.)
-Takahiro Akashi
> For step 3.
> capsuletool capsule --raw u-boot.bin --index 1 --public-key pubkey u-boot.cap
>
> Then we can expand it for inspection, verify etc.
>
> Thank you,
>
> >
> > I believe that the feature should be removed from mkeficapsule.
> >
> > -Takahiro Akashi
> >
> >
> > > Please, update tools/mkeficapsule.c before using these. A
> > > man-page for mkeficapsule in doc/usage/ would be helpful.
> > >
> > > $ tools/mkeficapsule --help
> > > Usage: mkeficapsule [options] <output file>
> > > Options:
> > > --fit <fit image> new FIT image file
> > > --raw <raw image> new raw image file
> > > --index <index> update image index
> > > --instance <instance> update hardware instance
> > > --public-key <key file> public key esl file
> > > --dtb <dtb file> dtb file
> > > --overlay the dtb file is an overlay
> > > --help print a help message
> > >
> > > Best regards
> > >
> > > Heinrich
> > >
> > > > cfg: u-boot.cfg
> > > >
> > > > quiet_cmd_cfgcheck = CFGCHK $2
> > > > @@ -1104,8 +1108,14 @@ endif
> > > > PHONY += dtbs
> > > > dtbs: dts/dt.dtb
> > > > @:
> > > > +ifeq ($(CONFIG_EFI_CAPSULE_AUTHENTICATE)$(CONFIG_EFI_PKEY_DTB_EMBED),yy)
> > > > +dts/dt.dtb: u-boot tools
> > > > + $(Q)$(MAKE) $(build)=dts dtbs
> > > > + $(call cmd,mkeficapsule)
> > > > +else
> > > > dts/dt.dtb: u-boot
> > > > $(Q)$(MAKE) $(build)=dts dtbs
> > > > +endif
> > > >
> > > > quiet_cmd_copy = COPY $@
> > > > cmd_copy = cp $< $@
> > > >
> > >
>
>
>
> --
> Masami Hiramatsu
next prev parent reply other threads:[~2021-05-07 8:15 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-04-07 11:53 [PATCH 0/5] Add support for embedding public key in platform's dtb Sughosh Ganu
2021-04-07 11:53 ` [PATCH 1/5] efi_loader: Kconfig: Select IMAGE_SIGN_INFO when capsule authentication is enabled Sughosh Ganu
2021-04-08 8:27 ` Heinrich Schuchardt
2021-04-07 11:53 ` [PATCH 2/5] efi_loader: Kconfig: Add symbols for embedding the public key into the platform's dtb Sughosh Ganu
2021-04-08 20:13 ` Heinrich Schuchardt
2021-04-07 11:53 ` [PATCH 3/5] efi_capsule: Add a weak function to check whether capsule authentication is enabled Sughosh Ganu
2021-04-08 19:47 ` Heinrich Schuchardt
2021-04-09 6:25 ` Sughosh Ganu
2021-04-07 11:53 ` [PATCH 4/5] efi_capsule: Add a weak function to get the public key needed for capsule authentication Sughosh Ganu
2021-04-08 19:48 ` Heinrich Schuchardt
2021-04-09 6:25 ` Sughosh Ganu
2021-04-07 11:53 ` [PATCH 5/5] Makefile: Add provision for embedding public key in platform's dtb Sughosh Ganu
2021-04-08 19:58 ` Heinrich Schuchardt
2021-04-28 5:43 ` AKASHI Takahiro
2021-04-28 6:31 ` Masami Hiramatsu
2021-05-07 8:15 ` AKASHI Takahiro [this message]
2021-05-07 9:57 ` Masami Hiramatsu
2021-05-08 3:32 ` Masami Hiramatsu
2021-04-07 16:14 ` [PATCH 0/5] Add support " Simon Glass
2021-04-08 6:53 ` Sughosh Ganu
2021-04-08 8:41 ` Heinrich Schuchardt
2021-04-08 10:10 ` Sughosh Ganu
2021-04-08 11:21 ` Heinrich Schuchardt
2021-04-08 11:48 ` Sughosh Ganu
2021-04-08 23:55 ` Simon Glass
2021-04-09 11:27 ` Sughosh Ganu
2021-04-09 20:58 ` Simon Glass
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20210507081532.GA32968@laputa \
--to=takahiro.akashi@linaro.org \
--cc=u-boot@lists.denx.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox