[PATCH] doc: Replace examples of MD5 and SHA1 with SHA256
Peter Robinson
pbrobinson at gmail.com
Sun Dec 3 17:45:22 CET 2023
On Sat, Dec 2, 2023 at 7:33 PM Sean Anderson <seanga2 at gmail.com> wrote:
>
> Both SHA1 and (especially) MD5 are no longer as safe as they once were for
> cryptographic use. Replaces examples which use them with examples using
> SHA256 instead. This will provide more-secure defaults for users who use
> documentation examples as a base for their own use. This is not too
> necessary for non-verified-boot scenarios (since someone could just replace
> the checksum), but I wanted to be complete.
>
> Signed-off-by: Sean Anderson <seanga2 at gmail.com>
> ---
>
> doc/chromium/files/chromebook_jerry.its | 4 +-
> doc/chromium/files/nyan-big.its | 4 +-
> doc/usage/cmd/imxtract.rst | 6 +-
> doc/usage/fit/beaglebone_vboot.rst | 74 ++++++++++++------------
> doc/usage/fit/howto.rst | 40 ++++++-------
> doc/usage/fit/kernel.rst | 6 +-
> doc/usage/fit/kernel_fdt.rst | 4 +-
> doc/usage/fit/kernel_fdts_compressed.rst | 6 +-
> doc/usage/fit/multi-with-fpga.rst | 6 +-
> doc/usage/fit/multi-with-loadables.rst | 8 +--
> doc/usage/fit/multi.rst | 12 ++--
> doc/usage/fit/sign-configs.rst | 6 +-
> doc/usage/fit/sign-images.rst | 4 +-
> doc/usage/fit/signature.rst | 22 +++----
> doc/usage/fit/update3.rst | 6 +-
> doc/usage/fit/update_uboot.rst | 2 +-
> doc/usage/fit/x86-fit-boot.rst | 8 +--
> 17 files changed, 109 insertions(+), 109 deletions(-)
>
> diff --git a/doc/chromium/files/chromebook_jerry.its b/doc/chromium/files/chromebook_jerry.its
> index 7505a20535b..02e5e1340f3 100644
> --- a/doc/chromium/files/chromebook_jerry.its
> +++ b/doc/chromium/files/chromebook_jerry.its
> @@ -15,7 +15,7 @@
> load = <0>;
> entry = <0>;
> hash-2 {
> - algo = "sha1";
> + algo = "sha256";
> };
> };
>
> @@ -26,7 +26,7 @@
> arch = "arm";
> compression = "none";
> hash-1{
> - algo = "sha1";
> + algo = "sha256";
> };
> };
> };
> diff --git a/doc/chromium/files/nyan-big.its b/doc/chromium/files/nyan-big.its
> index bd412915e95..60bdffbb829 100644
> --- a/doc/chromium/files/nyan-big.its
> +++ b/doc/chromium/files/nyan-big.its
> @@ -15,7 +15,7 @@
> load = <0>;
> entry = <0>;
> hash-2 {
> - algo = "sha1";
> + algo = "sha256";
> };
> };
>
> @@ -26,7 +26,7 @@
> arch = "arm";
> compression = "none";
> hash-1{
> - algo = "sha1";
> + algo = "sha256";
> };
> };
> };
> diff --git a/doc/usage/cmd/imxtract.rst b/doc/usage/cmd/imxtract.rst
> index eb64b1cefab..16be60b4aab 100644
> --- a/doc/usage/cmd/imxtract.rst
> +++ b/doc/usage/cmd/imxtract.rst
> @@ -45,14 +45,14 @@ Examples
>
> With verify=no incorrect hashes, signatures, or check sums don't stop the
> extraction. But correct hashes are still indicated in the output
> -(here: md5, sha1).
> +(here: sha256, sha512).
>
> .. code-block:: console
>
> => setenv verify no
> => imxtract $loadaddr kernel-1 $kernel_addr_r
> ## Copying 'kernel-1' subimage from FIT image at 40200000 ...
> - md5+ sha1+ Loading part 0 ... OK
> + sha256+ sha512+ Loading part 0 ... OK
> =>
>
> With verify=yes incorrect hashes, signatures, or check sums stop the extraction.
> @@ -62,7 +62,7 @@ With verify=yes incorrect hashes, signatures, or check sums stop the extraction.
> => setenv verify yes
> => imxtract $loadaddr kernel-1 $kernel_addr_r
> ## Copying 'kernel-1' subimage from FIT image at 40200000 ...
> - md5 error!
> + sha256 error!
> Bad hash value for 'hash-1' hash node in 'kernel-1' image node
> Bad Data Hash
> =>
> diff --git a/doc/usage/fit/beaglebone_vboot.rst b/doc/usage/fit/beaglebone_vboot.rst
> index a102be187bd..cd6bb141910 100644
> --- a/doc/usage/fit/beaglebone_vboot.rst
> +++ b/doc/usage/fit/beaglebone_vboot.rst
> @@ -145,7 +145,7 @@ Put this into a file in that directory called sign.its::
> load = <0x80008000>;
> entry = <0x80008000>;
> hash-1 {
> - algo = "sha1";
> + algo = "sha256";
> };
> };
> fdt-1 {
> @@ -155,7 +155,7 @@ Put this into a file in that directory called sign.its::
> arch = "arm";
> compression = "none";
> hash-1 {
> - algo = "sha1";
> + algo = "sha256";
> };
> };
> };
> @@ -165,7 +165,7 @@ Put this into a file in that directory called sign.its::
> kernel = "kernel";
> fdt = "fdt-1";
> signature-1 {
> - algo = "sha1,rsa2048";
> + algo = "sha256,rsa2048";
> key-name-hint = "dev";
> sign-images = "fdt", "kernel";
> };
> @@ -227,8 +227,8 @@ You should see something like this::
> OS: Linux
> Load Address: 0x80008000
> Entry Point: 0x80008000
> - Hash algo: sha1
> - Hash value: c94364646427e10f423837e559898ef02c97b988
> + Hash algo: sha256
> + Hash value: 51b2adf9c1016ed46f424d85dcc6c34c46a20b9bee7227e06a6b6320ca5d35c1
> Image 1 (fdt-1)
> Description: beaglebone-black
> Created: Sun Jun 1 12:50:30 2014
> @@ -236,8 +236,8 @@ You should see something like this::
> Compression: uncompressed
> Data Size: 31547 Bytes = 30.81 kB = 0.03 MB
> Architecture: ARM
> - Hash algo: sha1
> - Hash value: cb09202f889d824f23b8e4404b781be5ad38a68d
> + Hash algo: sha256
> + Hash value: 807d5842a04132261ba092373bd40c78991bc7ce173d1175cd976ec37858e7cd
> Default Configuration: 'conf-1'
> Configuration 0 (conf-1)
> Description: unavailable
> @@ -255,11 +255,11 @@ You can also run fit_check_sign to check it::
>
> which results in::
>
> - Verifying Hash Integrity ... sha1,rsa2048:dev+
> + Verifying Hash Integrity ... sha256,rsa2048:dev+
> ## Loading kernel from FIT Image at 7fc6ee469000 ...
> Using 'conf-1' configuration
> Verifying Hash Integrity ...
> - sha1,rsa2048:dev+
> + sha256,rsa2048:dev+
> OK
>
> Trying 'kernel' kernel subimage
> @@ -272,10 +272,10 @@ which results in::
> OS: Linux
> Load Address: 0x80008000
> Entry Point: 0x80008000
> - Hash algo: sha1
> - Hash value: c94364646427e10f423837e559898ef02c97b988
> + Hash algo: sha256
> + Hash value: 51b2adf9c1016ed46f424d85dcc6c34c46a20b9bee7227e06a6b6320ca5d35c1
> Verifying Hash Integrity ...
> - sha1+
> + sha256+
> OK
>
> Unimplemented compression type 4
> @@ -288,10 +288,10 @@ which results in::
> Compression: uncompressed
> Data Size: 31547 Bytes = 30.81 kB = 0.03 MB
> Architecture: ARM
> - Hash algo: sha1
> - Hash value: cb09202f889d824f23b8e4404b781be5ad38a68d
> + Hash algo: sha256
> + Hash value: 807d5842a04132261ba092373bd40c78991bc7ce173d1175cd976ec37858e7cd
> Verifying Hash Integrity ...
> - sha1+
> + sha256+
> OK
>
> Loading Flat Device Tree ... OK
> @@ -303,14 +303,14 @@ which results in::
> Signature check OK
>
>
> -At the top, you see "sha1,rsa2048:dev+". This means that it checked an RSA key
> -of size 2048 bits using SHA1 as the hash algorithm. The key name checked was
> +At the top, you see "sha256,rsa2048:dev+". This means that it checked an RSA key
> +of size 2048 bits using SHA256 as the hash algorithm. The key name checked was
> 'dev' and the '+' means that it verified. If it showed '-' that would be bad.
>
> Once the configuration is verified it is then possible to rely on the hashes
> in each image referenced by that configuration. So fit_check_sign goes on to
> load each of the images. We have a kernel and an FDT but no ramkdisk. In each
> -case fit_check_sign checks the hash and prints sha1+ meaning that the SHA1
> +case fit_check_sign checks the hash and prints sha256+ meaning that the SHA256
> hash verified. This means that none of the images has been tampered with.
>
> There is a test in test/vboot which uses U-Boot's sandbox build to verify that
> @@ -328,11 +328,11 @@ This tells us that the kernel starts at byte offset 168 (decimal) in image.fit
> and extends for about 7MB. Try changing a byte at 0x2000 (say) and run
> fit_check_sign again. You should see something like::
>
> - Verifying Hash Integrity ... sha1,rsa2048:dev+
> + Verifying Hash Integrity ... sha256,rsa2048:dev+
> ## Loading kernel from FIT Image at 7f5a39571000 ...
> Using 'conf-1' configuration
> Verifying Hash Integrity ...
> - sha1,rsa2048:dev+
> + sha256,rsa2048:dev+
> OK
>
> Trying 'kernel' kernel subimage
> @@ -345,10 +345,10 @@ fit_check_sign again. You should see something like::
> OS: Linux
> Load Address: 0x80008000
> Entry Point: 0x80008000
> - Hash algo: sha1
> - Hash value: c94364646427e10f423837e559898ef02c97b988
> + Hash algo: sha256
> + Hash value: 51b2adf9c1016ed46f424d85dcc6c34c46a20b9bee7227e06a6b6320ca5d35c1
> Verifying Hash Integrity ...
> - sha1 error
> + sha256 error
> Bad hash value for 'hash-1' hash node in 'kernel' image node
> Bad Data Hash
>
> @@ -361,10 +361,10 @@ fit_check_sign again. You should see something like::
> Compression: uncompressed
> Data Size: 31547 Bytes = 30.81 kB = 0.03 MB
> Architecture: ARM
> - Hash algo: sha1
> - Hash value: cb09202f889d824f23b8e4404b781be5ad38a68d
> + Hash algo: sha256
> + Hash value: 807d5842a04132261ba092373bd40c78991bc7ce173d1175cd976ec37858e7cd
> Verifying Hash Integrity ...
> - sha1+
> + sha256+
> OK
>
> Loading Flat Device Tree ... OK
> @@ -419,13 +419,13 @@ need to change the hash to match. Let's simulate that by changing a byte of
> the hash::
>
> fdtget -tx image.fit /images/kernel/hash-1 value
> - c9436464 6427e10f 423837e5 59898ef0 2c97b988
> - fdtput -tx image.fit /images/kernel/hash-1 value c9436464 6427e10f 423837e5 59898ef0 2c97b981
> + 51b2adf9 c1016ed4 6f424d85 dcc6c34c 46a20b9b ee7227e0 6a6b6320 ca5d35c1
> + fdtput -tx image.fit /images/kernel/hash-1 value 51b2adf9 c1016ed4 6f424d85 dcc6c34c 46a20b9b ee7227e0 6a6b6320 ca5d35c8
>
> Now check it again::
>
> $UOUT/tools/fit_check_sign -f image.fit -k am335x-boneblack-pubkey.dtb
> - Verifying Hash Integrity ... sha1,rsa2048:devrsa_verify_with_keynode: RSA failed to verify: -13
> + Verifying Hash Integrity ... sha256,rsa2048:devrsa_verify_with_keynode: RSA failed to verify: -13
> rsa_verify_with_keynode: RSA failed to verify: -13
> -
> Failed to verify required signature 'key-dev'
> @@ -446,7 +446,7 @@ running the mkimage link again. Then::
> fdtput -p image.fit /configurations/conf-1/signature-1 value fred
> $UOUT/tools/fit_check_sign -f image.fit -k am335x-boneblack-pubkey.dtb
> Verifying Hash Integrity ... -
> - sha1,rsa2048:devrsa_verify_with_keynode: RSA failed to verify: -13
> + sha256,rsa2048:devrsa_verify_with_keynode: RSA failed to verify: -13
> rsa_verify_with_keynode: RSA failed to verify: -13
> -
> Failed to verify required signature 'key-dev'
> @@ -528,7 +528,7 @@ You should then see something like this::
> U-Boot# bootm 82000000
> ## Loading kernel from FIT Image at 82000000 ...
> Using 'conf-1' configuration
> - Verifying Hash Integrity ... sha1,rsa2048:dev+ OK
> + Verifying Hash Integrity ... sha256,rsa2048:dev+ OK
> Trying 'kernel' kernel subimage
> Description: unavailable
> Created: 2014-06-01 19:32:54 UTC
> @@ -540,9 +540,9 @@ You should then see something like this::
> OS: Linux
> Load Address: 0x80008000
> Entry Point: 0x80008000
> - Hash algo: sha1
> - Hash value: c94364646427e10f423837e559898ef02c97b988
> - Verifying Hash Integrity ... sha1+ OK
> + Hash algo: sha256
> + Hash value: 51b2adf9c1016ed46f424d85dcc6c34c46a20b9bee7227e06a6b6320ca5d35c1
> + Verifying Hash Integrity ... sha256+ OK
> ## Loading fdt from FIT Image at 82000000 ...
> Using 'conf-1' configuration
> Trying 'fdt-1' fdt subimage
> @@ -553,9 +553,9 @@ You should then see something like this::
> Data Start: 0x8276e2ec
> Data Size: 31547 Bytes = 30.8 KiB
> Architecture: ARM
> - Hash algo: sha1
> - Hash value: cb09202f889d824f23b8e4404b781be5ad38a68d
> - Verifying Hash Integrity ... sha1+ OK
> + Hash algo: sha256
> + Hash value: 807d5842a04132261ba092373bd40c78991bc7ce173d1175cd976ec37858e7cd
> + Verifying Hash Integrity ... sha256+ OK
> Booting using the fdt blob at 0x8276e2ec
> Uncompressing Kernel Image ... OK
> Loading Device Tree to 8fff5000, end 8ffffb3a ... OK
> diff --git a/doc/usage/fit/howto.rst b/doc/usage/fit/howto.rst
> index def12a70f7b..b5097d4460b 100644
> --- a/doc/usage/fit/howto.rst
> +++ b/doc/usage/fit/howto.rst
> @@ -8,7 +8,7 @@ Overview
>
> The new uImage format allows more flexibility in handling images of various
> types (kernel, ramdisk, etc.), it also enhances integrity protection of images
> -with sha1 and md5 checksums.
> +with cryptographic checksums.
>
> Two auxiliary tools are needed on the development host system in order to
> create an uImage in the new format: mkimage and dtc, although only one
> @@ -99,7 +99,7 @@ started by ATF where SPL is loading U-Boot (as loadables) and ATF (as firmware).
> load = <0x8 0x8000000>;
> entry = <0x8 0x8000000>;
> hash {
> - algo = "md5";
> + algo = "sha256";
> };
> };
> atf {
> @@ -112,7 +112,7 @@ started by ATF where SPL is loading U-Boot (as loadables) and ATF (as firmware).
> load = <0xfffea000>;
> entry = <0xfffea000>;
> hash {
> - algo = "md5";
> + algo = "sha256";
> };
> };
> fdt_1 {
> @@ -123,7 +123,7 @@ started by ATF where SPL is loading U-Boot (as loadables) and ATF (as firmware).
> compression = "none";
> load = <0x100000>;
> hash {
> - algo = "md5";
> + algo = "sha256";
> };
> };
> };
> @@ -190,8 +190,8 @@ its contents:
> Entry Point: 0x00000000
> Hash algo: crc32
> Hash value: 2ae2bb40
> - Hash algo: sha1
> - Hash value: 3c200f34e2c226ddc789240cca0c59fc54a67cf4
> + Hash algo: sha256
> + Hash value: c22f6bb5a3f96942507a37e7d6a9333ebdc7da57971bc4c082113fe082fdc40f
> Default Configuration: 'config-1'
> Configuration 0 (config-1)
> Description: Boot Linux kernel
> @@ -236,8 +236,8 @@ specific to the new image format).
> Entry Point: 0x00000000
> Hash algo: crc32
> Hash value: 2ae2bb40
> - Hash algo: sha1
> - Hash value: 3c200f34e2c226ddc789240cca0c59fc54a67cf4
> + Hash algo: sha256
> + Hash value: c22f6bb5a3f96942507a37e7d6a9333ebdc7da57971bc4c082113fe082fdc40f
> Default Configuration: 'config-1'
> Configuration 0 (config-1)
> Description: Boot Linux kernel
> @@ -258,8 +258,8 @@ specific to the new image format).
> Entry Point: 0x00000000
> Hash algo: crc32
> Hash value: 2ae2bb40
> - Hash algo: sha1
> - Hash value: 3c200f34e2c226ddc789240cca0c59fc54a67cf4
> + Hash algo: sha256
> + Hash value: c22f6bb5a3f96942507a37e7d6a9333ebdc7da57971bc4c082113fe082fdc40f
> Verifying Hash Integrity ... crc32+ sha1+ OK
> Uncompressing Kernel Image ... OK
> Memory BAT mapping: BAT2=256Mb, BAT3=0Mb, residual: 0Mb
> @@ -302,8 +302,8 @@ modified to take the files from some other location if needed):
> Entry Point: 0x00000000
> Hash algo: crc32
> Hash value: 2c0cc807
> - Hash algo: sha1
> - Hash value: 264b59935470e42c418744f83935d44cdf59a3bb
> + Hash algo: sha256
> + Hash value: a3e9e18b793873827d27c97edfbca67c404a1972d9f36cf48e73ff85d69a422c
> Image 1 (fdt-1)
> Description: Flattened Device Tree blob
> Type: Flat Device Tree
> @@ -312,8 +312,8 @@ modified to take the files from some other location if needed):
> Architecture: PowerPC
> Hash algo: crc32
> Hash value: 0d655d71
> - Hash algo: sha1
> - Hash value: 25ab4e15cd4b8a5144610394560d9c318ce52def
> + Hash algo: sha256
> + Hash value: e9b9a40c5e2e12213ac819e7ccad7271ef43eb5edf9b421f0fa0b4b51bfdb214
> Default Configuration: 'conf-1'
> Configuration 0 (conf-1)
> Description: Boot Linux kernel with FDT blob
> @@ -353,8 +353,8 @@ inspected and booted:
> Entry Point: 0x00000000
> Hash algo: crc32
> Hash value: 2c0cc807
> - Hash algo: sha1
> - Hash value: 264b59935470e42c418744f83935d44cdf59a3bb
> + Hash algo: sha256
> + Hash value: a3e9e18b793873827d27c97edfbca67c404a1972d9f36cf48e73ff85d69a422c
> Image 1 (fdt-1)
> Description: Flattened Device Tree blob
> Type: Flat Device Tree
> @@ -364,8 +364,8 @@ inspected and booted:
> Architecture: PowerPC
> Hash algo: crc32
> Hash value: 0d655d71
> - Hash algo: sha1
> - Hash value: 25ab4e15cd4b8a5144610394560d9c318ce52def
> + Hash algo: sha256
> + Hash value: e9b9a40c5e2e12213ac819e7ccad7271ef43eb5edf9b421f0fa0b4b51bfdb214
> Default Configuration: 'conf-1'
> Configuration 0 (conf-1)
> Description: Boot Linux kernel with FDT blob
> @@ -387,7 +387,7 @@ inspected and booted:
> Hash algo: crc32
> Hash value: 2c0cc807
> Hash algo: sha1
> - Hash value: 264b59935470e42c418744f83935d44cdf59a3bb
> + Hash value: a3e9e18b793873827d27c97edfbca67c404a1972d9f36cf48e73ff85d69a422c
> Verifying Hash Integrity ... crc32+ sha1+ OK
> Uncompressing Kernel Image ... OK
> ## Flattened Device Tree from FIT Image at 00900000
> @@ -402,7 +402,7 @@ inspected and booted:
> Hash algo: crc32
> Hash value: 0d655d71
> Hash algo: sha1
> - Hash value: 25ab4e15cd4b8a5144610394560d9c318ce52def
> + Hash value: e9b9a40c5e2e12213ac819e7ccad7271ef43eb5edf9b421f0fa0b4b51bfdb214
> Verifying Hash Integrity ... crc32+ sha1+ OK
> Booting using the fdt blob at 0xa0abdc
> Loading Device Tree to 007fc000, end 007fffff ... OK
> diff --git a/doc/usage/fit/kernel.rst b/doc/usage/fit/kernel.rst
> index 012a81efead..e56017985b2 100644
> --- a/doc/usage/fit/kernel.rst
> +++ b/doc/usage/fit/kernel.rst
> @@ -25,7 +25,7 @@ Single kernel
> algo = "crc32";
> };
> hash-2 {
> - algo = "sha1";
> + algo = "sha256";
> };
> };
> };
> @@ -59,7 +59,7 @@ For x86 a setup node is also required: see x86-fit-boot::
> load = <0x01000000>;
> entry = <0x00000000>;
> hash-2 {
> - algo = "sha1";
> + algo = "sha256";
> };
> };
>
> @@ -73,7 +73,7 @@ For x86 a setup node is also required: see x86-fit-boot::
> load = <0x00090000>;
> entry = <0x00090000>;
> hash-2 {
> - algo = "sha1";
> + algo = "sha256";
> };
> };
> };
> diff --git a/doc/usage/fit/kernel_fdt.rst b/doc/usage/fit/kernel_fdt.rst
> index 8eee13af780..9cc26fb7831 100644
> --- a/doc/usage/fit/kernel_fdt.rst
> +++ b/doc/usage/fit/kernel_fdt.rst
> @@ -25,7 +25,7 @@ Single kernel and FDT blob
> algo = "crc32";
> };
> hash-2 {
> - algo = "sha1";
> + algo = "sha256";
> };
> };
> fdt-1 {
> @@ -38,7 +38,7 @@ Single kernel and FDT blob
> algo = "crc32";
> };
> hash-2 {
> - algo = "sha1";
> + algo = "sha256";
> };
> };
> };
> diff --git a/doc/usage/fit/kernel_fdts_compressed.rst b/doc/usage/fit/kernel_fdts_compressed.rst
> index 0b169c7c27c..b57871da58b 100644
> --- a/doc/usage/fit/kernel_fdts_compressed.rst
> +++ b/doc/usage/fit/kernel_fdts_compressed.rst
> @@ -28,7 +28,7 @@ string to match directly.
> algo = "crc32";
> };
> hash-2 {
> - algo = "sha1";
> + algo = "sha256";
> };
> };
> fdt at 1 {
> @@ -41,7 +41,7 @@ string to match directly.
> algo = "crc32";
> };
> hash-2 {
> - algo = "sha1";
> + algo = "sha256";
> };
> };
> fdt at 2 {
> @@ -54,7 +54,7 @@ string to match directly.
> algo = "crc32";
> };
> hash-2 {
> - algo = "sha1";
> + algo = "sha256";
> };
> };
> };
> diff --git a/doc/usage/fit/multi-with-fpga.rst b/doc/usage/fit/multi-with-fpga.rst
> index 28d7d5d2626..4c7f1bebd5a 100644
> --- a/doc/usage/fit/multi-with-fpga.rst
> +++ b/doc/usage/fit/multi-with-fpga.rst
> @@ -20,7 +20,7 @@ This example makes use of the 'loadables' field::
> compression = "none";
> load = <0x10000000>;
> hash-1 {
> - algo = "md5";
> + algo = "sha256";
> };
> };
>
> @@ -33,7 +33,7 @@ This example makes use of the 'loadables' field::
> load = <0x30000000>;
> compatible = "u-boot,fpga-legacy"
> hash-1 {
> - algo = "md5";
> + algo = "sha256";
> };
> };
>
> @@ -47,7 +47,7 @@ This example makes use of the 'loadables' field::
> load = <0x8000>;
> entry = <0x8000>;
> hash-1 {
> - algo = "md5";
> + algo = "sha256";
> };
> };
> };
> diff --git a/doc/usage/fit/multi-with-loadables.rst b/doc/usage/fit/multi-with-loadables.rst
> index a0241df96ca..7849cb544f1 100644
> --- a/doc/usage/fit/multi-with-loadables.rst
> +++ b/doc/usage/fit/multi-with-loadables.rst
> @@ -22,7 +22,7 @@ This example makes use of the 'loadables' field::
> load = <0xa0000000>;
> entry = <0xa0000000>;
> hash-1 {
> - algo = "md5";
> + algo = "sha256";
> };
> };
>
> @@ -34,7 +34,7 @@ This example makes use of the 'loadables' field::
> compression = "none";
> load = <0xb0000000>;
> hash-1 {
> - algo = "md5";
> + algo = "sha256";
> };
> };
>
> @@ -46,7 +46,7 @@ This example makes use of the 'loadables' field::
> compression = "none";
> load = <0xb0400000>;
> hash-1 {
> - algo = "md5";
> + algo = "sha256";
> };
> };
>
> @@ -60,7 +60,7 @@ This example makes use of the 'loadables' field::
> load = <0xa0000000>;
> entry = <0xa0000000>;
> hash-1 {
> - algo = "md5";
> + algo = "sha256";
> };
> };
> };
> diff --git a/doc/usage/fit/multi.rst b/doc/usage/fit/multi.rst
> index 2e6ae58c409..e68752b2ad0 100644
> --- a/doc/usage/fit/multi.rst
> +++ b/doc/usage/fit/multi.rst
> @@ -22,10 +22,10 @@ Multiple kernels, ramdisks and FDT blobs
> load = <00000000>;
> entry = <00000000>;
> hash-1 {
> - algo = "md5";
> + algo = "sha256";
> };
> hash-2 {
> - algo = "sha1";
> + algo = "sha512";
> };
> };
>
> @@ -39,7 +39,7 @@ Multiple kernels, ramdisks and FDT blobs
> load = <00000000>;
> entry = <00000000>;
> hash-1 {
> - algo = "sha1";
> + algo = "sha256";
> };
> };
>
> @@ -53,7 +53,7 @@ Multiple kernels, ramdisks and FDT blobs
> load = <00000000>;
> entry = <00000000>;
> hash-1 {
> - algo = "md5";
> + algo = "sha256";
> };
> };
>
> @@ -67,7 +67,7 @@ Multiple kernels, ramdisks and FDT blobs
> load = <00000000>;
> entry = <00000000>;
> hash-1 {
> - algo = "sha1";
> + algo = "sha256";
> };
> };
>
> @@ -104,7 +104,7 @@ Multiple kernels, ramdisks and FDT blobs
> compression = "none";
> load = <00700000>;
> hash-1 {
> - algo = "sha1";
> + algo = "sha256";
> };
> };
>
> diff --git a/doc/usage/fit/sign-configs.rst b/doc/usage/fit/sign-configs.rst
> index 6a3df8f2c5b..6d98d44430c 100644
> --- a/doc/usage/fit/sign-configs.rst
> +++ b/doc/usage/fit/sign-configs.rst
> @@ -22,7 +22,7 @@ Signed configurations
> entry = <0x8>;
> kernel-version = <1>;
> hash-1 {
> - algo = "sha1";
> + algo = "sha256";
> };
> };
> fdt-1 {
> @@ -33,7 +33,7 @@ Signed configurations
> compression = "none";
> fdt-version = <1>;
> hash-1 {
> - algo = "sha1";
> + algo = "sha256";
> };
> };
> };
> @@ -43,7 +43,7 @@ Signed configurations
> kernel = "kernel";
> fdt = "fdt-1";
> signature {
> - algo = "sha1,rsa2048";
> + algo = "sha256,rsa2048";
> key-name-hint = "dev";
> sign-images = "fdt", "kernel";
> };
> diff --git a/doc/usage/fit/sign-images.rst b/doc/usage/fit/sign-images.rst
> index 7d54d702c97..ca7d10fab83 100644
> --- a/doc/usage/fit/sign-images.rst
> +++ b/doc/usage/fit/sign-images.rst
> @@ -22,7 +22,7 @@ Signed Images
> entry = <0x8>;
> kernel-version = <1>;
> signature {
> - algo = "sha1,rsa2048";
> + algo = "sha256,rsa2048";
> key-name-hint = "dev";
> };
> };
> @@ -34,7 +34,7 @@ Signed Images
> compression = "none";
> fdt-version = <1>;
> signature {
> - algo = "sha1,rsa2048";
> + algo = "sha256,rsa2048";
> key-name-hint = "dev";
> };
> };
> diff --git a/doc/usage/fit/signature.rst b/doc/usage/fit/signature.rst
> index 0804bffd1ed..39edba14630 100644
> --- a/doc/usage/fit/signature.rst
> +++ b/doc/usage/fit/signature.rst
> @@ -93,7 +93,7 @@ Public keys should be stored as sub-nodes in a /signature node. Required
> properties are:
>
> algo
> - Algorithm name (e.g. "sha1,rsa2048" or "sha256,ecdsa256")
> + Algorithm name (e.g. "sha256,rsa2048" or "sha512,ecdsa256")
>
> Optional properties are:
>
> @@ -219,28 +219,28 @@ As an example, consider this FIT::
> kernel-1 {
> data = <data for kernel1>
> signature-1 {
> - algo = "sha1,rsa2048";
> + algo = "sha256,rsa2048";
> value = <...kernel signature 1...>
> };
> };
> kernel-2 {
> data = <data for kernel2>
> signature-1 {
> - algo = "sha1,rsa2048";
> + algo = "sha256,rsa2048";
> value = <...kernel signature 2...>
> };
> };
> fdt-1 {
> data = <data for fdt1>;
> signature-1 {
> - algo = "sha1,rsa2048";
> + algo = "sha256,rsa2048";
> value = <...fdt signature 1...>
> };
> };
> fdt-2 {
> data = <data for fdt2>;
> signature-1 {
> - algo = "sha1,rsa2048";
> + algo = "sha256,rsa2048";
> value = <...fdt signature 2...>
> };
> };
> @@ -291,28 +291,28 @@ So the above example is adjusted to look like this::
> kernel-1 {
> data = <data for kernel1>
> hash-1 {
> - algo = "sha1";
> + algo = "sha256";
> value = <...kernel hash 1...>
> };
> };
> kernel-2 {
> data = <data for kernel2>
> hash-1 {
> - algo = "sha1";
> + algo = "sha256";
> value = <...kernel hash 2...>
> };
> };
> fdt-1 {
> data = <data for fdt1>;
> hash-1 {
> - algo = "sha1";
> + algo = "sha256";
> value = <...fdt hash 1...>
> };
> };
> fdt-2 {
> data = <data for fdt2>;
> hash-1 {
> - algo = "sha1";
> + algo = "sha256";
> value = <...fdt hash 2...>
> };
> };
> @@ -323,7 +323,7 @@ So the above example is adjusted to look like this::
> kernel = "kernel-1";
> fdt = "fdt-1";
> signature-1 {
> - algo = "sha1,rsa2048";
> + algo = "sha256,rsa2048";
> value = <...conf 1 signature...>;
> };
> };
> @@ -331,7 +331,7 @@ So the above example is adjusted to look like this::
> kernel = "kernel-2";
> fdt = "fdt-2";
> signature-1 {
> - algo = "sha1,rsa2048";
> + algo = "sha256,rsa2048";
> value = <...conf 1 signature...>;
> };
> };
> diff --git a/doc/usage/fit/update3.rst b/doc/usage/fit/update3.rst
> index 4ff3950c01e..24235801470 100644
> --- a/doc/usage/fit/update3.rst
> +++ b/doc/usage/fit/update3.rst
> @@ -19,7 +19,7 @@ Automatic software update: multiple files
> type = "firmware";
> load = <FF700000>;
> hash-1 {
> - algo = "sha1";
> + algo = "sha256";
> };
> };
> update-2 {
> @@ -29,7 +29,7 @@ Automatic software update: multiple files
> type = "firmware";
> load = <FF8E0000>;
> hash-1 {
> - algo = "sha1";
> + algo = "sha256";
> };
> };
>
> @@ -40,7 +40,7 @@ Automatic software update: multiple files
> type = "firmware";
> load = <FFAC0000>;
> hash-1 {
> - algo = "sha1";
> + algo = "sha256";
> };
> };
> };
> diff --git a/doc/usage/fit/update_uboot.rst b/doc/usage/fit/update_uboot.rst
> index a9288ee6367..811d008d13d 100644
> --- a/doc/usage/fit/update_uboot.rst
> +++ b/doc/usage/fit/update_uboot.rst
> @@ -21,7 +21,7 @@ Make sure the flashing addresses ('load' prop) is correct for your board!
> type = "firmware";
> load = <0xFFFC0000>;
> hash-1 {
> - algo = "sha1";
> + algo = "sha256";
> };
> };
> };
> diff --git a/doc/usage/fit/x86-fit-boot.rst b/doc/usage/fit/x86-fit-boot.rst
> index 93b73bb9019..9e3e32204d5 100644
> --- a/doc/usage/fit/x86-fit-boot.rst
> +++ b/doc/usage/fit/x86-fit-boot.rst
> @@ -207,16 +207,16 @@ You can take a look at the resulting fit file if you like::
> OS: Linux
> Load Address: 0x01000000
> Entry Point: 0x00000000
> - Hash algo: sha1
> - Hash value: 446b5163ebfe0fb6ee20cbb7a8501b263cd92392
> + Hash algo: sha256
> + Hash value: 4bbf49981ade163ed089f8525236fedfe44508e9b02a21a48294a96a1518107b
> Image 1 (setup)
> Description: Linux setup.bin
> Created: Tue Oct 7 10:57:24 2014
> Type: x86 setup.bin
> Compression: uncompressed
> Data Size: 12912 Bytes = 12.61 kB = 0.01 MB
> - Hash algo: sha1
> - Hash value: a1f2099cf47ff9816236cd534c77af86e713faad
> + Hash algo: sha256
> + Hash value: 6aa50c2e0392cb119cdf0971dce8339f100608ed3757c8200b0e39e889e432d2
> Default Configuration: 'config-1'
> Configuration 0 (config-1)
> Description: Boot Linux kernel
Reviewed-by: Peter Robinson <pbrobinson at gmail.com>
Looks good to me. Do we know if we need to update any sample configs
with the options for those checksums?
More information about the U-Boot
mailing list