=pod

=head1 NAME

ahab_image_verifier, hab4_image_verifier - parse and verify AHAB and HABv4 images for secure boot on NXP i.MX processors

=head1 SYNOPSIS

=over 4

=item AHAB

B<ahab_image_verifier> [B<-h>] [B<-b>] I<image_file> I<offset>

=item HABv4

B<hab4_image_verifier> [B<-h>] [B<-b>] I<image_file> I<offset>

=back

=head1 NOTE

This manpage is a short description of NXP B<ahab_image_verifier> and B<hab4_image_verifier>.
For a detailed discussion refer to the Code Signing Tool User Guide UG10106,
section 5.6 and 5.7 for usage, and to the High Assurance Boot Version 4 API
Reference Manual RM00298 section 4 for structures contained in I<image_file>.
The user guide and the reference manual can be obtained from www.nxp.com and is
excluded from Debian for copyright reasons.

The B<ahab_image_verifier> and B<hab4_image_verifier> tools are intended solely
for experimentation and debugging purposes.

=head1 DESCRIPTION

B<ahab_image_verifier> and B<hab4_image_verifier> parse and verify an AHAB or
HABv4 binary I<image_file>, where I<image_file> has previously been generated
with the B<cst> tool.
It prints a readable representation of the IVT, HAB commands, the SRK table,
signatures, and verification errors if any.
I<offset> specifies the offset in bytes from the beginning of I<image_file> to
the Image Vector Table (IVT).
The IVT is the entry point for further processing.

=head1 OPTIONS

=over 4

=item B<-h>

Display a help message.

=item B<-v>

Display version information.

=back

=head1 EXIT STATUS

B<ahab_image_verifier> and B<hab4_image_verifier> exit with 0 if the image is
valid, or 1 otherwise.

=head1 EXAMPLES

To parse and verify an ELE firmware container in an i.MX 95 A0 AHAB image,
where the image starts immediately with an IVT

  ahab_image_verifier mx95a0-ahab-container.img 0

=head1 SEE ALSO

L<cst(1)>, L<hab_csf_parser>

=cut
