public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
* internal structure of EFI_TLS_CA_CERTIFICATE_VARIABLE
@ 2018-03-20 14:55 Laszlo Ersek
  2018-03-21  1:30 ` Fu, Siyuan
  0 siblings, 1 reply; 10+ messages in thread
From: Laszlo Ersek @ 2018-03-20 14:55 UTC (permalink / raw)
  To: Jiaxin Wu, Fu, Siyuan; +Cc: edk2-devel-01, Daniel P. Berrange

Hi Jiaxin, Siyuan,

setting *multiple* CA certificates for HTTPS server verification looks
possible, from the following call tree:

TlsConfigCertificate()      [NetworkPkg/HttpDxe/HttpsSupport.c]
  TlsConfigurationSetData() [NetworkPkg/TlsDxe/TlsConfigProtocol.c]
    TlsSetCaCertificate()   [CryptoPkg/Library/TlsLib/TlsConfig.c]
      X509_STORE_add_cert()

because the outermost TlsConfigCertificate() function implements a loop
over the EFI_TLS_CA_CERTIFICATE_VARIABLE contents.

Is there natural-language documentation available about the internal
structure of EFI_TLS_CA_CERTIFICATE_VARIABLE?

Because, OVMF should avoid taking one format of CA Cert list from QEMU
(i.e. from the virtualization host) and converting it to the format
expected by TlsConfigCertificate(). Instead, the "update-ca-trust"
command should be taught (on the host system) to generate a binary
certificate list file (somewhere under "/etc/pki/ca-trust/extracted", I
believe) such that the file can be used directly for setting
EFI_TLS_CA_CERTIFICATE_VARIABLE in the guest.

In order to write such an extractor for "update-ca-trust", the format of
EFI_TLS_CA_CERTIFICATE_VARIABLE should be publicly documented. Also, a
promise of stability wouldn't hurt. :)

(To refer back to the cipher suite list discussion
<https://lists.01.org/pipermail/edk2-devel/2018-February/020944.html>,
this stability / public documentation goal was guaranteed there, due to
EFI_TLS_CIPHER being specified publicly.)

Thanks!
Laszlo


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

end of thread, other threads:[~2018-03-28 11:55 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-03-20 14:55 internal structure of EFI_TLS_CA_CERTIFICATE_VARIABLE Laszlo Ersek
2018-03-21  1:30 ` Fu, Siyuan
2018-03-21 13:39   ` Laszlo Ersek
2018-03-22  2:02     ` Wu, Jiaxin
2018-03-22  9:20       ` Laszlo Ersek
2018-03-28  2:31   ` Laszlo Ersek
2018-03-28  3:28     ` Zeng, Star
2018-03-28 10:06       ` Laszlo Ersek
2018-03-28 11:10         ` Zeng, Star
2018-03-28 12:01           ` Laszlo Ersek

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox