mirror of
https://github.com/ipxe/ipxe.git
synced 2026-10-24 07:59:35 +03:00
tls13
The TLS version 1.3 client Finished is somewhat messy to handle: its verify_data must be calculated with the key schedule still holding the client handshake traffic secret, the application traffic secret must be calculated before the client Finished is added to the transcript digest, and the application traffic keys must be activated only after sending the client Finished. Since the action of sending the client Finished also adds the client Finished to the transcript digest, this necessitates an awkward sequence of events. (A cleaner protocol design might have chosen to derive the client application traffic secret from the transcript digest up to and including the client Finished.) Perform the various necessary contortions to construct the client Finished and to transition to using the application traffic secrets. With this commit, TLS version 1.3 is functional for the first time. It is not yet enabled by default, since there are still some missing features such as session resumption. Signed-off-by: Michael Brown <mcb30@ipxe.org>
iPXE network bootloader
iPXE is the leading open source network boot firmware. It provides a full PXE implementation enhanced with additional features such as:
-
boot from a web server via HTTP or HTTPS,
-
boot from an iSCSI, FCoE, or AoE SAN,
-
control the boot process with a script,
You can use iPXE to replace the existing PXE ROM on your network card, or you can chainload into iPXE to obtain the features of iPXE without the hassle of reflashing.
iPXE is free, open-source software licensed under the GNU GPL (with some portions under GPL-compatible licences).
You can download the rolling release binaries (built from the latest commit), or use the most recent stable release.
For full documentation, visit the iPXE website.
Description
Languages
C
98.5%
Assembly
0.6%
Python
0.3%
Perl
0.3%
Makefile
0.2%