boot.its is used to create a FIT image. it defines a configuration which contains a kernel and dtb. the configuration will be hased and signed using the private key.
s32g274a-rdb2.dtb is the device tree blob that the public key will be copied to.
kernel_keys is the folder path that contains the private key
How mkimage generate signature for ITS file:
The call stack to generate signature for a ITB file:
tools/mkimage -f ../linux/boot.its -K ../arm-trusted-firmware/build/s32g274ardb2/release/fdts/s32g274a-rdb2.dtb -k ../kernel_keys -r sec-boot.itb
fit_handle_file (tools/fit_image.c) : it is fit image, call fit image handler
fit_add_file_data (tools/fit_image.c) : add the data to FDT blob according to dts
fit_add_verification_data (tools/image_host.c): add verification data(sig)
fit_imag_add_verification_data (tools/image_host.c)
fit_image_process_sig (tools/image_host.c) : process signature tag:
this function calls:
fit_image_set_sig //set sign algo according to its
info.crypto->sign //generate signature
fit_image_write_sig //write the signature to FDT blob
U-boot supported signature algo. currently we use SHA256, rsa2048,pkcs1.5