All of lore.kernel.org
 help / color / mirror / Atom feed
* BMC image generation without private key
@ 2023-01-16  9:53 Lei Yu
  2023-01-17 13:49 ` Brad Bishop
                   ` (2 more replies)
  0 siblings, 3 replies; 7+ messages in thread
From: Lei Yu @ 2023-01-16  9:53 UTC (permalink / raw)
  To: openbmc

The OpenBMC build requires a private key to:
1. Generate the public key that is put in the image;
2. Sign the image and generate the whole tarball.

For dev builds, it uses the insecure development key in the tree.
For release builds, it requires the `SIGNING_KEY` env to point to a
secure key to sign the image.

It is considered insecure because it requires the build server to
access the private key.

An alternative is proposed:
* A new `SIGNING_PUBLIC_KEY` env is defined to point to a public key.
* The above key is default to empty, and the behavior is the same as
before, using the insecure development key to generate and sign the
image.
* With a valid `SIGNING_PUBLIC_KEY`:
   * The public key is installed into the BMC image.
   * The generated tarball is not signed, only containing the MANIFEST
and the image.
   * A new `gen-bmc-tar` tool will be introduced to sign the above
tarball, like `gen-bios-tar`.
* If both `SIGNING_PUBLIC_KEY` and `SIGNING_KEY` is set, throw an error.

With the above proposal, the build does not require the private key
anymore and the user could install the public key during build, and
sign the image separately.

Comments are welcome.

-- 
BRs,
Lei YU

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2023-01-18 12:21 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-01-16  9:53 BMC image generation without private key Lei Yu
2023-01-17 13:49 ` Brad Bishop
2023-01-17 20:21 ` Michael Richardson
2023-01-18  2:24   ` Lei Yu
2023-01-18 12:05   ` Patrick Williams
2023-01-18 12:10 ` Patrick Williams
2023-01-18 12:20   ` Lei Yu

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.