i.Mx8MP Fast Auth HAB errors

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 
已解决

i.Mx8MP Fast Auth HAB errors

跳至解决方案
2,439 次查看
jd-bootlin
Contributor I

Hello,

I'm trying to implement secure boot on an i.MX8MP-based custom platform. The board design is very similar to the i.MX8MP devkit.

I want to use the Fast Authentication feature. So far, I've burnt the key hash into the SoC and I got the following HAB errors:

u-boot=> hab_status

Secure boot disabled

HAB Configuration: 0xf0, HAB State: 0x66

--------- HAB Event 1 -----------------
event data:
0xdb 0x00 0x14 0x45 0x33 0x1d 0xc0 0x00
0xca 0x00 0x0c 0x00 0x01 0xc5 0x1d 0x00
0x00 0x00 0x10 0xe8

STS = HAB_FAILURE (0x33)
RSN = HAB_INV_KEY (0x1D)
CTX = HAB_CTX_COMMAND (0xC0)
ENG = HAB_ENG_ANY (0x00)


--------- HAB Event 2 -----------------
event data:
0xdb 0x00 0x14 0x45 0x33 0x1d 0xc0 0x00
0xca 0x00 0x0c 0x00 0x01 0xc5 0x1d 0x00
0x00 0x00 0x10 0xe8

STS = HAB_FAILURE (0x33)
RSN = HAB_INV_KEY (0x1D)
CTX = HAB_CTX_COMMAND (0xC0)
ENG = HAB_ENG_ANY (0x00)


--------- HAB Event 3 -----------------
event data:
0xdb 0x00 0x14 0x45 0x33 0x1d 0xc0 0x00
0xca 0x00 0x0c 0x00 0x01 0xc5 0x1d 0x00
0x00 0x00 0x10 0xd0

STS = HAB_FAILURE (0x33)
RSN = HAB_INV_KEY (0x1D)
CTX = HAB_CTX_COMMAND (0xC0)
ENG = HAB_ENG_ANY (0x00)


--------- HAB Event 4 -----------------
event data:
0xdb 0x00 0x14 0x45 0x33 0x1d 0xc0 0x00
0xca 0x00 0x0c 0x00 0x01 0xc5 0x1d 0x00
0x00 0x00 0x10 0xd0

STS = HAB_FAILURE (0x33)
RSN = HAB_INV_KEY (0x1D)
CTX = HAB_CTX_COMMAND (0xC0)
ENG = HAB_ENG_ANY (0x00)


--------- HAB Event 5 -----------------
event data:
0xdb 0x00 0x14 0x45 0x33 0x0c 0xa0 0x00
0x00 0x00 0x00 0x00 0x00 0x91 0xff 0xc0
0x00 0x00 0x00 0x20

STS = HAB_FAILURE (0x33)
RSN = HAB_INV_ASSERTION (0x0C)
CTX = HAB_CTX_ASSERT (0xA0)
ENG = HAB_ENG_ANY (0x00)


--------- HAB Event 6 -----------------
event data:
0xdb 0x00 0x14 0x45 0x33 0x0c 0xa0 0x00
0x00 0x00 0x00 0x00 0x00 0x91 0xff 0xe0
0x00 0x00 0x00 0x0c

STS = HAB_FAILURE (0x33)
RSN = HAB_INV_ASSERTION (0x0C)
CTX = HAB_CTX_ASSERT (0xA0)
ENG = HAB_ENG_ANY (0x00)


--------- HAB Event 7 -----------------
event data:
0xdb 0x00 0x14 0x45 0x33 0x0c 0xa0 0x00
0x00 0x00 0x00 0x00 0x00 0x92 0x00 0x00
0x00 0x00 0x00 0x04

STS = HAB_FAILURE (0x33)
RSN = HAB_INV_ASSERTION (0x0C)
CTX = HAB_CTX_ASSERT (0xA0)
ENG = HAB_ENG_ANY (0x00)


--------- HAB Event 8 -----------------
event data:
0xdb 0x00 0x14 0x45 0x33 0x0c 0xa0 0x00
0x00 0x00 0x00 0x00 0x40 0x1f 0xbd 0xc0
0x00 0x00 0x00 0x20

STS = HAB_FAILURE (0x33)
RSN = HAB_INV_ASSERTION (0x0C)
CTX = HAB_CTX_ASSERT (0xA0)
ENG = HAB_ENG_ANY (0x00)


--------- HAB Event 9 -----------------
event data:
0xdb 0x00 0x14 0x45 0x33 0x0c 0xa0 0x00
0x00 0x00 0x00 0x00 0x40 0x1f 0xad 0xc0
0x00 0x00 0x00 0x04

STS = HAB_FAILURE (0x33)
RSN = HAB_INV_ASSERTION (0x0C)
CTX = HAB_CTX_ASSERT (0xA0)
ENG = HAB_ENG_ANY (0x00)

 

It looks like my key is invalid. I double checked that I fused the correct keys and it looks good to me.

Here is my full procedure, if you see something wrong:

PKI tree generation:

$ ./keys/hab4_pki_tree.sh 
Do you want to use an existing CA key (y/n)?: n

Key type options (confirm targeted device supports desired key type):
Select the key type (possible values: rsa, rsa-pss, ecc)?: rsa-pss
Enter key length in bits for PKI tree: 4096
Enter PKI tree duration (years): 5
How many Super Root Keys should be generated? 4
Do you want the SRK certificates to have the CA flag set? (y/n)?: n

 

 SRK table/fuse generation:

$ ./linux64/bin/srktool -h 4 -t SRK_1_2_3_4_table.bin -e SRK_1_2_3_4_fuse.bin -d sha256 -c crts/SRK1_sha256_4096_65537_v3_usr_crt.pem,crts/SRK2_sha256_4096_65537_v3_usr_crt.pem,crts/SRK3_sha256_4096_65537_v3_usr_crt.pem,crts/SRK4_sha256_4096_65537_v3_usr_crt.pem
Number of certificates    = 4
SRK table binary filename = SRK_1_2_3_4_table.bin
SRK Fuse binary filename  = SRK_1_2_3_4_fuse.bin
SRK Fuse binary dump:
SRKH[0] = 0xCC68B1A5
SRKH[1] = 0xFC739529
SRKH[2] = 0xC2A266D4
SRKH[3] = 0x565ED742
SRKH[4] = 0xD85265D5
SRKH[5] = 0x2E4D871A
SRKH[6] = 0x6AAF0D93
SRKH[7] = 0x21C75F71

 

Hexdump output:

$ hexdump -e '/4 "0x"' -e '/4 "%X""\n"' SRK_1_2_3_4_fuse.bin
0xCC68B1A5
0xFC739529
0xC2A266D4
0x565ED742
0xD85265D5
0x2E4D871A
0x6AAF0D93
0x21C75F71

 

Fuse reads on target after being burnt:

u-boot=> fuse read 6 0 4
Reading bank 6:

Word 0x00000000: cc68b1a5 fc739529 c2a266d4 565ed742
u-boot=> fuse read 7 0 4
Reading bank 7:

Word 0x00000000: d85265d5 2e4d871a 6aaf0d93 21c75f71

 

For the signing procedure, you'll find attached my CSF templates and imx-mkimage build logs.

I'm using CST version 4.0.0.


And for the CSF binaries generation and injection:

 

$ ./linux64/bin/cst -i cst_spl.txt -o cst_spl.bin
CSF Processed successfully and signed data available in cst_spl.bin

$ ./linux64/bin/cst -i cst_fit.txt -o cst_fit.bin
CSF Processed successfully and signed data available in cst_fit.bin

$ cp flash.bin signed_flash.bin

$ dd if=cst_spl.bin of=signed_flash.bin seek=$((0x36c00)) bs=1 conv=notrunc

$ dd if=cst_fit.bin of=signed_flash.bin seek=$((0x59020)) bs=1 conv=notrunc

$ sudo dd if=signed_flash.bin of=/dev/sdb bs=1K seek=32 && sync

 

标签 (1)
标记 (4)
1 解答
2,331 次查看
Harvey021
NXP TechSupport
NXP TechSupport

Hello @jd-bootlin 


The i.MX8MP doesn't support RSA-PSS key for HAB. Suggest to Key Type - RSA.

 

Regards

Harvey

在原帖中查看解决方案

4 回复数
2,332 次查看
Harvey021
NXP TechSupport
NXP TechSupport

Hello @jd-bootlin 


The i.MX8MP doesn't support RSA-PSS key for HAB. Suggest to Key Type - RSA.

 

Regards

Harvey

2,327 次查看
jd-bootlin
Contributor I
Hello @Harvey021, thanks for your feedback!
Do you know if it is written somewhere? I read multiple times the official CST doc and I did not find this information.
0 项奖励
回复
2,292 次查看
Harvey021
NXP TechSupport
NXP TechSupport

For its detailed information, recommend to have a reference to the section <HAB Feature summary> of SRM. 

 

Regards

Harvey

0 项奖励
回复
2,342 次查看
jd-bootlin
Contributor I

After decoding the first HAB event using the HABv4 API document, it looks like the reason is "specified key is identified as a CA key." I double checked my keys and they don't have the CA flag set, I'm a little bit more confused now.

0 项奖励
回复
%3CLINGO-SUB%20id%3D%22lingo-sub-2067164%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3Ei.Mx8MP%20%E5%BF%AB%E9%80%9F%E8%AE%A4%E8%AF%81%20HAB%20%E9%94%99%E8%AF%AF%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2067164%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EHello%2C%3C%2FP%3E%3CP%3E%E6%88%91%E6%AD%A3%E5%9C%A8%E5%B0%9D%E8%AF%95%E5%9C%A8%E5%9F%BA%E4%BA%8E%20i.MX8MP%20%E7%9A%84%E8%87%AA%E5%AE%9A%E4%B9%89%E5%B9%B3%E5%8F%B0%E4%B8%8A%E5%AE%9E%E7%8E%B0%E5%AE%89%E5%85%A8%E5%90%AF%E5%8A%A8%E3%80%82%E8%AF%A5%E7%94%B5%E8%B7%AF%E6%9D%BF%E7%9A%84%E8%AE%BE%E8%AE%A1%E4%B8%8E%20i.MX8MP%20%E5%BC%80%E5%8F%91%E5%A5%97%E4%BB%B6%E9%9D%9E%E5%B8%B8%E7%9B%B8%E4%BC%BC%E3%80%82%3C%2FP%3E%3CP%3E%E6%88%91%E6%83%B3%E4%BD%BF%E7%94%A8%E5%BF%AB%E9%80%9F%E8%BA%AB%E4%BB%BD%E9%AA%8C%E8%AF%81%E5%8A%9F%E8%83%BD%E3%80%82%E5%88%B0%E7%9B%AE%E5%89%8D%E4%B8%BA%E6%AD%A2%EF%BC%8C%E6%88%91%E5%B7%B2%E7%BB%8F%E5%B0%86%E5%AF%86%E9%92%A5%E5%93%88%E5%B8%8C%E5%88%BB%E5%BD%95%E5%88%B0%20SoC%20%E4%B8%AD%EF%BC%8C%E5%B9%B6%E6%94%B6%E5%88%B0%E4%BB%A5%E4%B8%8B%20HAB%20%E9%94%99%E8%AF%AF%EF%BC%9A%3C%2FP%3E%3CPRE%20class%3D%22lia-code-sample%20language-c%22%3E%3CCODE%20translate%3D%22no%22%3Eu-boot%3D%26gt%3B%20hab_status%0A%0ASecure%20boot%20disabled%0A%0AHAB%20Configuration%3A%200xf0%2C%20HAB%20State%3A%200x66%0A%0A---------%20HAB%20Event%201%20-----------------%0Aevent%20data%3A%0A0xdb%200x00%200x14%200x45%200x33%200x1d%200xc0%200x00%0A0xca%200x00%200x0c%200x00%200x01%200xc5%200x1d%200x00%0A0x00%200x00%200x10%200xe8%0A%0ASTS%20%3D%20HAB_FAILURE%20(0x33)%0ARSN%20%3D%20HAB_INV_KEY%20(0x1D)%0ACTX%20%3D%20HAB_CTX_COMMAND%20(0xC0)%0AENG%20%3D%20HAB_ENG_ANY%20(0x00)%0A%0A%0A---------%20HAB%20Event%202%20-----------------%0Aevent%20data%3A%0A0xdb%200x00%200x14%200x45%200x33%200x1d%200xc0%200x00%0A0xca%200x00%200x0c%200x00%200x01%200xc5%200x1d%200x00%0A0x00%200x00%200x10%200xe8%0A%0ASTS%20%3D%20HAB_FAILURE%20(0x33)%0ARSN%20%3D%20HAB_INV_KEY%20(0x1D)%0ACTX%20%3D%20HAB_CTX_COMMAND%20(0xC0)%0AENG%20%3D%20HAB_ENG_ANY%20(0x00)%0A%0A%0A---------%20HAB%20Event%203%20-----------------%0Aevent%20data%3A%0A0xdb%200x00%200x14%200x45%200x33%200x1d%200xc0%200x00%0A0xca%200x00%200x0c%200x00%200x01%200xc5%200x1d%200x00%0A0x00%200x00%200x10%200xd0%0A%0ASTS%20%3D%20HAB_FAILURE%20(0x33)%0ARSN%20%3D%20HAB_INV_KEY%20(0x1D)%0ACTX%20%3D%20HAB_CTX_COMMAND%20(0xC0)%0AENG%20%3D%20HAB_ENG_ANY%20(0x00)%0A%0A%0A---------%20HAB%20Event%204%20-----------------%0Aevent%20data%3A%0A0xdb%200x00%200x14%200x45%200x33%200x1d%200xc0%200x00%0A0xca%200x00%200x0c%200x00%200x01%200xc5%200x1d%200x00%0A0x00%200x00%200x10%200xd0%0A%0ASTS%20%3D%20HAB_FAILURE%20(0x33)%0ARSN%20%3D%20HAB_INV_KEY%20(0x1D)%0ACTX%20%3D%20HAB_CTX_COMMAND%20(0xC0)%0AENG%20%3D%20HAB_ENG_ANY%20(0x00)%0A%0A%0A---------%20HAB%20Event%205%20-----------------%0Aevent%20data%3A%0A0xdb%200x00%200x14%200x45%200x33%200x0c%200xa0%200x00%0A0x00%200x00%200x00%200x00%200x00%200x91%200xff%200xc0%0A0x00%200x00%200x00%200x20%0A%0ASTS%20%3D%20HAB_FAILURE%20(0x33)%0ARSN%20%3D%20HAB_INV_ASSERTION%20(0x0C)%0ACTX%20%3D%20HAB_CTX_ASSERT%20(0xA0)%0AENG%20%3D%20HAB_ENG_ANY%20(0x00)%0A%0A%0A---------%20HAB%20Event%206%20-----------------%0Aevent%20data%3A%0A0xdb%200x00%200x14%200x45%200x33%200x0c%200xa0%200x00%0A0x00%200x00%200x00%200x00%200x00%200x91%200xff%200xe0%0A0x00%200x00%200x00%200x0c%0A%0ASTS%20%3D%20HAB_FAILURE%20(0x33)%0ARSN%20%3D%20HAB_INV_ASSERTION%20(0x0C)%0ACTX%20%3D%20HAB_CTX_ASSERT%20(0xA0)%0AENG%20%3D%20HAB_ENG_ANY%20(0x00)%0A%0A%0A---------%20HAB%20Event%207%20-----------------%0Aevent%20data%3A%0A0xdb%200x00%200x14%200x45%200x33%200x0c%200xa0%200x00%0A0x00%200x00%200x00%200x00%200x00%200x92%200x00%200x00%0A0x00%200x00%200x00%200x04%0A%0ASTS%20%3D%20HAB_FAILURE%20(0x33)%0ARSN%20%3D%20HAB_INV_ASSERTION%20(0x0C)%0ACTX%20%3D%20HAB_CTX_ASSERT%20(0xA0)%0AENG%20%3D%20HAB_ENG_ANY%20(0x00)%0A%0A%0A---------%20HAB%20Event%208%20-----------------%0Aevent%20data%3A%0A0xdb%200x00%200x14%200x45%200x33%200x0c%200xa0%200x00%0A0x00%200x00%200x00%200x00%200x40%200x1f%200xbd%200xc0%0A0x00%200x00%200x00%200x20%0A%0ASTS%20%3D%20HAB_FAILURE%20(0x33)%0ARSN%20%3D%20HAB_INV_ASSERTION%20(0x0C)%0ACTX%20%3D%20HAB_CTX_ASSERT%20(0xA0)%0AENG%20%3D%20HAB_ENG_ANY%20(0x00)%0A%0A%0A---------%20HAB%20Event%209%20-----------------%0Aevent%20data%3A%0A0xdb%200x00%200x14%200x45%200x33%200x0c%200xa0%200x00%0A0x00%200x00%200x00%200x00%200x40%200x1f%200xad%200xc0%0A0x00%200x00%200x00%200x04%0A%0ASTS%20%3D%20HAB_FAILURE%20(0x33)%0ARSN%20%3D%20HAB_INV_ASSERTION%20(0x0C)%0ACTX%20%3D%20HAB_CTX_ASSERT%20(0xA0)%0AENG%20%3D%20HAB_ENG_ANY%20(0x00)%3C%2FCODE%3E%3C%2FPRE%3E%3CBR%20%2F%3E%3CP%3E%E7%9C%8B%E8%B5%B7%E6%9D%A5%E6%88%91%E7%9A%84%E5%AF%86%E9%92%A5%E6%97%A0%E6%95%88%E3%80%82%E6%88%91%E5%86%8D%E6%AC%A1%E6%A3%80%E6%9F%A5%E4%BA%86%E6%88%91%E6%98%AF%E5%90%A6%E8%9E%8D%E5%90%88%E4%BA%86%E6%AD%A3%E7%A1%AE%E7%9A%84%E9%94%AE%EF%BC%8C%E5%B9%B6%E4%B8%94%E7%9C%8B%E8%B5%B7%E6%9D%A5%E4%B8%8D%E9%94%99%E3%80%82%3C%2FP%3E%3CP%3E%E4%BB%A5%E4%B8%8B%E6%98%AF%E6%88%91%E7%9A%84%E5%AE%8C%E6%95%B4%E8%BF%87%E7%A8%8B%EF%BC%8C%E5%A6%82%E6%9E%9C%E6%82%A8%E5%8F%91%E7%8E%B0%E4%BB%BB%E4%BD%95%E9%94%99%E8%AF%AF%EF%BC%9A%3C%2FP%3E%3CP%3EPKI%E6%A0%91%E7%94%9F%E6%88%90%EF%BC%9A%3C%2FP%3E%3CPRE%20class%3D%22lia-code-sample%20language-c%22%3E%3CCODE%20translate%3D%22no%22%3E%24%20.%2Fkeys%2Fhab4_pki_tree.sh%20%0ADo%20you%20want%20to%20use%20an%20existing%20CA%20key%20(y%2Fn)%3F%3A%20n%0A%0AKey%20type%20options%20(confirm%20targeted%20device%20supports%20desired%20key%20type)%3A%0ASelect%20the%20key%20type%20(possible%20values%3A%20rsa%2C%20rsa-pss%2C%20ecc)%3F%3A%20rsa-pss%0AEnter%20key%20length%20in%20bits%20for%20PKI%20tree%3A%204096%0AEnter%20PKI%20tree%20duration%20(years)%3A%205%0AHow%20many%20Super%20Root%20Keys%20should%20be%20generated%3F%204%0ADo%20you%20want%20the%20SRK%20certificates%20to%20have%20the%20CA%20flag%20set%3F%20(y%2Fn)%3F%3A%20n%3C%2FCODE%3E%3C%2FPRE%3E%3CBR%20%2F%3E%3CP%3ESRK%20%E8%A1%A8%2F%E4%BF%9D%E9%99%A9%E4%B8%9D%E7%94%9F%E6%88%90%EF%BC%9A%3C%2FP%3E%3CPRE%20class%3D%22lia-code-sample%20language-c%22%3E%3CCODE%20translate%3D%22no%22%3E%24%20.%2Flinux64%2Fbin%2Fsrktool%20-h%204%20-t%20SRK_1_2_3_4_table.bin%20-e%20SRK_1_2_3_4_fuse.bin%20-d%20sha256%20-c%20crts%2FSRK1_sha256_4096_65537_v3_usr_crt.pem%2Ccrts%2FSRK2_sha256_4096_65537_v3_usr_crt.pem%2Ccrts%2FSRK3_sha256_4096_65537_v3_usr_crt.pem%2Ccrts%2FSRK4_sha256_4096_65537_v3_usr_crt.pem%0ANumber%20of%20certificates%20%20%20%20%3D%204%0ASRK%20table%20binary%20filename%20%3D%20SRK_1_2_3_4_table.bin%0ASRK%20Fuse%20binary%20filename%20%20%3D%20SRK_1_2_3_4_fuse.bin%0ASRK%20Fuse%20binary%20dump%3A%0ASRKH%5B0%5D%20%3D%200xCC68B1A5%0ASRKH%5B1%5D%20%3D%200xFC739529%0ASRKH%5B2%5D%20%3D%200xC2A266D4%0ASRKH%5B3%5D%20%3D%200x565ED742%0ASRKH%5B4%5D%20%3D%200xD85265D5%0ASRKH%5B5%5D%20%3D%200x2E4D871A%0ASRKH%5B6%5D%20%3D%200x6AAF0D93%0ASRKH%5B7%5D%20%3D%200x21C75F71%3C%2FCODE%3E%3C%2FPRE%3E%3CBR%20%2F%3E%3CP%3E%E5%8D%81%E5%85%AD%E8%BF%9B%E5%88%B6%E8%BD%AC%E5%82%A8%E8%BE%93%E5%87%BA%EF%BC%9A%3C%2FP%3E%3CPRE%20class%3D%22lia-code-sample%20language-c%22%3E%3CCODE%20translate%3D%22no%22%3E%24%20hexdump%20-e%20'%2F4%20%220x%22'%20-e%20'%2F4%20%22%25X%22%22%5Cn%22'%20SRK_1_2_3_4_fuse.bin%0A0xCC68B1A5%0A0xFC739529%0A0xC2A266D4%0A0x565ED742%0A0xD85265D5%0A0x2E4D871A%0A0x6AAF0D93%0A0x21C75F71%3C%2FCODE%3E%3C%2FPRE%3E%3CBR%20%2F%3E%3CP%3E%E4%BF%9D%E9%99%A9%E4%B8%9D%E7%83%A7%E6%96%AD%E5%90%8E%E7%9B%AE%E6%A0%87%E8%AF%BB%E6%95%B0%EF%BC%9A%3C%2FP%3E%3CPRE%20class%3D%22lia-code-sample%20language-c%22%3E%3CCODE%20translate%3D%22no%22%3Eu-boot%3D%26gt%3B%20fuse%20read%206%200%204%0AReading%20bank%206%3A%0A%0AWord%200x00000000%3A%20cc68b1a5%20fc739529%20c2a266d4%20565ed742%0Au-boot%3D%26gt%3B%20fuse%20read%207%200%204%0AReading%20bank%207%3A%0A%0AWord%200x00000000%3A%20d85265d5%202e4d871a%206aaf0d93%2021c75f71%3C%2FCODE%3E%3C%2FPRE%3E%3CBR%20%2F%3E%3CP%3E%E5%AF%B9%E4%BA%8E%E7%AD%BE%E5%90%8D%E7%A8%8B%E5%BA%8F%EF%BC%8C%E6%82%A8%E4%BC%9A%E5%8F%91%E7%8E%B0%E9%99%84%E4%BB%B6%E6%98%AF%E6%88%91%E7%9A%84%20CSF%20%E6%A8%A1%E6%9D%BF%E5%92%8C%20imx-mkimage%20%E6%9E%84%E5%BB%BA%E6%97%A5%E5%BF%97%E3%80%82%3C%2FP%3E%3CP%3E%E6%88%91%E6%AD%A3%E5%9C%A8%E4%BD%BF%E7%94%A8%20CST%20%E7%89%88%E6%9C%AC%204.0.0%E3%80%82%3C%2FP%3E%3CP%3E%3CBR%20%2F%3E%E5%AF%B9%E4%BA%8E%20CSF%20%E4%BA%8C%E8%BF%9B%E5%88%B6%E6%96%87%E4%BB%B6%E7%9A%84%E7%94%9F%E6%88%90%E5%92%8C%E6%B3%A8%E5%85%A5%EF%BC%9A%3C%2FP%3E%3CBR%20%2F%3E%3CPRE%20class%3D%22lia-code-sample%20language-c%22%3E%3CCODE%20translate%3D%22no%22%3E%24%20.%2Flinux64%2Fbin%2Fcst%20-i%20cst_spl.txt%20-o%20cst_spl.bin%0ACSF%20Processed%20successfully%20and%20signed%20data%20available%20in%20cst_spl.bin%0A%0A%24%20.%2Flinux64%2Fbin%2Fcst%20-i%20cst_fit.txt%20-o%20cst_fit.bin%0ACSF%20Processed%20successfully%20and%20signed%20data%20available%20in%20cst_fit.bin%0A%0A%24%20cp%20flash.bin%20signed_flash.bin%0A%0A%24%20dd%20if%3Dcst_spl.bin%20of%3Dsigned_flash.bin%20seek%3D%24((0x36c00))%20bs%3D1%20conv%3Dnotrunc%0A%0A%24%20dd%20if%3Dcst_fit.bin%20of%3Dsigned_flash.bin%20seek%3D%24((0x59020))%20bs%3D1%20conv%3Dnotrunc%0A%0A%24%20sudo%20dd%20if%3Dsigned_flash.bin%20of%3D%2Fdev%2Fsdb%20bs%3D1K%20seek%3D32%20%26amp%3B%26amp%3B%20sync%3C%2FCODE%3E%3C%2FPRE%3E%3CBR%20%2F%3E%3C%2FLINGO-BODY%3E%3CLINGO-LABS%20id%3D%22lingo-labs-2067164%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CLINGO-LABEL%3Ei.MX%208M%20%7C%20i.MX%208M%20Mini%20%7C%20i.MX%208M%20Nano%3C%2FLINGO-LABEL%3E%3C%2FLINGO-LABS%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2068287%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%E5%9B%9E%E5%A4%8D%EF%BC%9Ai.Mx8MP%20Fast%20Auth%20HAB%20%E9%94%99%E8%AF%AF%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2068287%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%3CHAB%20feature%3D%22%22%20summary%3D%22%22%3E%E5%85%B6%E8%AF%A6%E7%BB%86%E4%BF%A1%E6%81%AF%E5%BB%BA%E8%AE%AE%E5%8F%82%E8%80%83SRM%E7%9A%84%E3%80%8AHAB%E7%89%B9%E6%80%A7%E6%A6%82%E8%A6%81%E3%80%8B%E4%B8%80%E8%8A%82%E3%80%82%3C%2FHAB%3E%3C%2FP%3E%0A%3CBR%20%2F%3E%0A%3CP%3E%E6%AD%A4%E8%87%B4%3C%2FP%3E%0A%3CP%3EHarvey%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2067740%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%E5%9B%9E%E5%A4%8D%EF%BC%9Ai.Mx8MP%20Fast%20Auth%20HAB%20%E9%94%99%E8%AF%AF%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2067740%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%E4%BD%A0%E5%A5%BD%3CA%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F192970%22%20target%3D%22_blank%22%3E%40Harvey021%3C%2FA%3E%20%EF%BC%8C%E8%B0%A2%E8%B0%A2%E4%BD%A0%E7%9A%84%E5%8F%8D%E9%A6%88%EF%BC%81%3CBR%20%2F%3E%E4%BD%A0%E7%9F%A5%E9%81%93%E5%AE%83%E6%98%AF%E5%90%A6%E5%86%99%E5%9C%A8%E6%9F%90%E5%A4%84%E5%90%97%EF%BC%9F%E6%88%91%E5%A4%9A%E6%AC%A1%E9%98%85%E8%AF%BB%E4%BA%86%E5%AE%98%E6%96%B9%20CST%20%E6%96%87%E6%A1%A3%EF%BC%8C%E4%BD%86%E6%B2%A1%E6%9C%89%E6%89%BE%E5%88%B0%E6%AD%A4%E4%BF%A1%E6%81%AF%E3%80%82%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2067712%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%E5%9B%9E%E5%A4%8D%EF%BC%9Ai.Mx8MP%20Fast%20Auth%20HAB%20%E9%94%99%E8%AF%AF%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2067712%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E4%BD%A0%E5%A5%BD%3CA%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F248421%22%20target%3D%22_blank%22%3E%40jd-bootlin%3C%2FA%3E%3C%2FP%3E%0A%3CP%3E%3CBR%20%2F%3Ei.MX8MP%20%E4%B8%8D%E6%94%AF%E6%8C%81%20HAB%20%E7%9A%84%20RSA-PSS%20%E5%AF%86%E9%92%A5%E3%80%82%E5%BB%BA%E8%AE%AE%E5%AF%86%E9%92%A5%E7%B1%BB%E5%9E%8B%20-%20RSA%E3%80%82%3C%2FP%3E%0A%3CBR%20%2F%3E%0A%3CP%3E%E6%AD%A4%E8%87%B4%3C%2FP%3E%0A%3CP%3EHarvey%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2067674%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%E5%9B%9E%E5%A4%8D%EF%BC%9Ai.Mx8MP%20Fast%20Auth%20HAB%20%E9%94%99%E8%AF%AF%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2067674%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E4%BD%BF%E7%94%A8%20HABv4%20API%20%E6%96%87%E6%A1%A3%E8%A7%A3%E7%A0%81%E7%AC%AC%E4%B8%80%E4%B8%AA%20HAB%20%E4%BA%8B%E4%BB%B6%E5%90%8E%EF%BC%8C%E7%9C%8B%E8%B5%B7%E6%9D%A5%E5%8E%9F%E5%9B%A0%E6%98%AF%E2%80%9C%E6%8C%87%E5%AE%9A%E7%9A%84%E5%AF%86%E9%92%A5%E8%A2%AB%E8%AF%86%E5%88%AB%E4%B8%BA%20CA%20%E5%AF%86%E9%92%A5%E2%80%9D%E3%80%82%E6%88%91%E4%BB%94%E7%BB%86%E6%A3%80%E6%9F%A5%E4%BA%86%E6%88%91%E7%9A%84%E5%AF%86%E9%92%A5%EF%BC%8C%E5%AE%83%E4%BB%AC%E6%B2%A1%E6%9C%89%E8%AE%BE%E7%BD%AE%20CA%20%E6%A0%87%E5%BF%97%EF%BC%8C%E6%88%91%E7%8E%B0%E5%9C%A8%E6%9C%89%E7%82%B9%E5%9B%B0%E6%83%91%E4%BA%86%E3%80%82%3C%2FP%3E%3C%2FLINGO-BODY%3E