On Mon, Jul 14, 2025 at 11:05:13PM +0530, Sudhakar Kuppusamy wrote:
> This explains how static and dynamic key appended signatures can be used to 
> form part of
> a secure boot chain, and documents the commands and variables introduced.
>
> Signed-off-by: Sudhakar Kuppusamy <sudha...@linux.ibm.com>
> Reviewed-by: Avnish Chouhan <avn...@linux.ibm.com>
> ---
>  docs/grub.texi | 75 ++++++++++++++++++++++++++++++++++++++------------
>  1 file changed, 58 insertions(+), 17 deletions(-)
>
> diff --git a/docs/grub.texi b/docs/grub.texi
> index 561f301cf..af63fe4f7 100644
> --- a/docs/grub.texi
> +++ b/docs/grub.texi
> @@ -6420,9 +6420,12 @@ you forget a command, you can run the command 
> @command{help}
>  * [::                           Check file types and compare values
>  * acpi::                        Load ACPI tables
>  * append_add_db_cert::          Add an X.509 certificate to the db list
> -* append_list_db::              List trusted certificates from the db list
> +* append_add_db_sig::           Add an X.509 certificate/binary hash to the 
> db list
> +* append_add_dbx_sig::          Add an X.509 certificate/binary hash to the 
> dbx list
> +* append_list_db::              List trusted certificates/binary hashes from 
> the db list
> +* append_list_dbx::             List certificates and binary/certificate 
> hashes from the dbx list
>  * append_rm_dbx_cert::          Remove a certificate from the db list
> -* append_verify::               Verify appended digital signature using db 
> list
> +* append_verify::               Verify appended digital signature using db 
> and dbx list
>  * authenticate::                Check whether user is in user list
>  * background_color::            Set background color for active terminal
>  * background_image::            Load background image for active terminal
> @@ -6563,16 +6566,48 @@ certificates themselves.)
>  See @xref{Using appended signatures} for more information.
>  @end deffn
>
> +@node append_add_db_sig
> +@subsection append_add_db_sig
> +
> +@deffn Command append_add_db_sig hash_file

s/hash_file/<hash_file>/

> +Read a binary/certificate hash from the file @var{hash_file}

What is <hash_file> format?

> +and add it to GRUB's internal db list. These hash are used to validate linux 
> image
> +integrity if appended signatures validation failed when the environment 
> variable
> +@code{check_appended_signatures} is set to @code{enforce}.
> +
> +See @xref{Using appended signatures} for more information.
> +@end deffn
> +
> +@node append_add_dbx_sig
> +@subsection append_add_dbx_sig
> +
> +@deffn Command append_add_dbx_sig hash_file

s/hash_file/<hash_file>/

> +Read a binary/certificate hash from the file @var{hash_file}

What is <hash_file> format?

> +and add it to GRUB's internal dbx list. These hash are used to restrict 
> validation
> +of linux image integrity using db list if appended signatures validation 
> failed
> +when the environment variable @code{check_appended_signatures} is set to 
> @code{enforce}.
> +
> +See @xref{Using appended signatures} for more information.
> +@end deffn
> +
>  @node append_list_db
>  @subsection append_list_db
>
>  @deffn Command append_list_db
> -List all X.509 certificates trusted by GRUB for validating appended 
> signatures.
> -The output is a numbered list of certificates, showing the certificate's 
> serial
> -number and Common Name.
> +List all X.509 certificates and binary hashes trusted by GRUB for validating
> +appended signatures. The output is a numbered list of certificates and 
> binary hashes,
> +showing the certificate's serial number and Common Name.
> +
> +See @xref{Using appended signatures} for more information.
> +@end deffn
> +
> +@node append_list_dbx
> +@subsection append_list_dbx
>
> -The certificate number can be used as an argument to
> -@command{append_rm_dbx_cert} (@pxref{append_rm_dbx_cert}).
> +@deffn Command append_list_dbx
> +List all the distrusted x509 certificates and binary/certificate hashes.
> +The output is a numbered list of certificates and binary/certificate hashes,
> +showing the certificate's serial number and Common Name.
>
>  See @xref{Using appended signatures} for more information.
>  @end deffn
> @@ -6597,12 +6632,12 @@ information.
>  @node append_verify
>  @subsection append_verify
>
> -@deffn Command append_verify file
> -Verifies an appended signature on @var{file} against the trusted X.509 
> certificates
> -known to GRUB (See @pxref{append_list_db}, @pxref{append_add_db_cert}, and
> -@pxref{append_rm_dbx_cert}).
> -Exit code @code{$?} is set to 0 if the signature validates
> -successfully.  If validation fails, it is set to a non-zero value.
> +@deffn Command append_verify signed_file

s/hash_file/<signed_file>/

> +Verifies an appended signature on @var{signed_file} against the trusted 
> X.509 certificates
> +known to GRUB (See @pxref{append_list_db},@pxref{append_list_dbx}, 
> @pxref{append_add_db_cert},
> +@pxref{append_add_db_sig}, @pxref{append_add_dbx_sig}, and 
> @pxref{append_rm_dbx_cert}).
> +Exit code @code{$?} is set to 0 if the signature validates successfully.
> +If validation fails, it is set to a non-zero value.

Daniel

_______________________________________________
Grub-devel mailing list
Grub-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/grub-devel

Reply via email to