=pod

=head1 NAME

ahab_signed_message - generate signed messages for unlocking services of AHAB devices

=head1 SYNOPSIS

B<ahab_signed_message> B<-t> I<file> B<-m> I<file> B<-o> I<file> [B<-v>] [B<-V>] [B<-h>]

=head1 NOTE

This manpage is a short description of NXP B<ahab_signed_message>.
For a detailed discussion refer to the Code Signing Tool User Guide UG10106, section 5.5 and NXP Application Note AN13770.
The user guide and the application note can be obtained from www.nxp.com and are excluded from Debian for copyright reasons.

=head1 DESCRIPTION

The B<ahab_signed_message> tool is used to generate signed messages for
unlocking services of AHAB devices running on an OEM-closed life cycle.
Generated signed messages can be sent to a NXP SECO crypto processor or an NXP
EdgeLock Enclave (ELE) module after signing them with the B<cst> tool and a
valid key.

Templates and payloads for messages supported by SECO and ELE can be found in
/usr/share/doc/imx-code-signing-tool/examples/signed_message.

=head1 OPTIONS

=over 4

=item B<-t> I<file>

Specify the message template file.

=item B<-m> I<file>

Specify the message payload file.

=item B<-o> I<file>

Specify the output file.

=item B<-v>

Enable verbose output.

=item B<-V>

Print version information.

=item B<-h>

Display help message and exit.

=back

=head1 EXAMPLES

To generate a message for SECO to enable secure debugging, retrieve the unique
ID and monotonic counter for the target processor and enter the values to a
copy of
/usr/share/doc/imx-code-signing-tool/examples/signed_message/ahab-signed-msg-header-template.json.
Then create the binary message with

  ahab_signed_message \
      -t ahab-signed-msg-header-template.json \
      -m /usr/share/doc/imx-code-signing-tool/examples/signed_message/ahab-EnableDebug-example-msg.json \
      -o msg.bin

msg.bin can then be signed using B<cst> and a suitable CSF file, and can be sent
to SECO through the SCFW API or by placing it in a boot container.
Details on the process are discussed in NXP application note AN13770, section 11.

=head1 SEE ALSO

L<cst(1)>

=cut
