[ipxe-devel] https booting

Daniel P. Berrangé berrange at redhat.com
Wed Jul 22 14:13:18 UTC 2020

On Wed, Jul 22, 2020 at 03:55:38PM +0200, Gerd Hoffmann wrote:
> > > How does edk2 handle the root ca problem?
> > 
> > There are two fw_cfg paths
> > 
> >   - etc/edk2/https/ciphers
> >   - etc/edk2/https/cacerts
> > 
> > The first sets the cipher algorithms that are permitted and their
> > priority, the second sets the CA certificate bundle.
> Ok, ipxe should be able to fetch them.  Would be roughly the same as
> compiling in the certificates, except that they don't take up space in
> the rom and are much easier to update.

> What is in cacerts?
> Basically /etc/pki/ca-trust/extracted/pem/tls-ca-bundle.pem of the host
> machine?

Not that file exactly. Instead


which is the same certs, but in a different format:

[quote man update-ca-trust]
       The directory /etc/pki/ca-trust/extracted/edk2/ contains a
       CA certificate bundle ("cacerts.bin") in the "sequence of
       EFI_SIGNATURE_LISTs" format, defined in the UEFI-2.7
       specification, sections "31.4.1 Signature Database" and
       "EFI_CERT_X509_GUID". Distrust information cannot be
       represented in this file format, and distrusted certificates
       are missing from these files. File "cacerts.bin" contains CA
       certificates trusted for TLS server authentication.

On Fedora/RHEL  the "update-ca-trust" tool creates the file in this
format automatically now.

I don't know if that's a useful format for iPXE or not.

We could easily define etc/ipxe/https/{ciphers,cacerts} paths in a
different format if better suited for iPXE. Libvirt can set the right
path depending on whether its booting a VM with EDK2 vs legacy BIOS

|: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org         -o-            https://fstop138.berrange.com :|
|: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|

More information about the ipxe-devel mailing list