i.Mx8MP Fast Auth HAB errors

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

i.Mx8MP Fast Auth HAB errors

ソリューションへジャンプ
2,426件の閲覧回数
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,318件の閲覧回数
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,319件の閲覧回数
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,314件の閲覧回数
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,279件の閲覧回数
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,329件の閲覧回数
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%20Fast%20Auth%20HAB%E3%82%A8%E3%83%A9%E3%83%BC%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%3Ei.MX8MP%E3%83%99%E3%83%BC%E3%82%B9%E3%81%AE%E3%82%AB%E3%82%B9%E3%82%BF%E3%83%A0%E3%83%97%E3%83%A9%E3%83%83%E3%83%88%E3%83%95%E3%82%A9%E3%83%BC%E3%83%A0%E3%81%AB%E3%82%BB%E3%82%AD%E3%83%A5%E3%82%A2%E3%83%96%E3%83%BC%E3%83%88%E3%82%92%E5%AE%9F%E8%A3%85%E3%81%97%E3%82%88%E3%81%86%E3%81%A8%E3%81%97%E3%81%A6%E3%81%84%E3%81%BE%E3%81%99%E3%80%82%E3%83%9C%E3%83%BC%E3%83%89%E3%81%AE%E8%A8%AD%E8%A8%88%E3%81%AF%E3%80%81i.MX8MP%20%E9%96%8B%E7%99%BA%E3%82%AD%E3%83%83%E3%83%88%E3%81%A8%E9%9D%9E%E5%B8%B8%E3%81%AB%E3%82%88%E3%81%8F%E4%BC%BC%E3%81%A6%E3%81%84%E3%81%BE%E3%81%99%E3%80%82%3C%2FP%3E%3CP%3E%E9%AB%98%E9%80%9F%E8%AA%8D%E8%A8%BC%E6%A9%9F%E8%83%BD%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%97%E3%81%9F%E3%81%84%E3%81%A7%E3%81%99%E3%80%82%E3%81%93%E3%82%8C%E3%81%BE%E3%81%A7%E3%80%81%E3%82%AD%E3%83%BC%E3%83%8F%E3%83%83%E3%82%B7%E3%83%A5%E3%82%92SoC%E3%81%AB%E7%84%BC%E3%81%8D%E4%BB%98%E3%81%91%E3%81%9F%E3%81%A8%E3%81%93%E3%82%8D%E3%80%81%E6%AC%A1%E3%81%AEHAB%E3%82%A8%E3%83%A9%E3%83%BC%E3%81%8C%E7%99%BA%E7%94%9F%E3%81%97%E3%81%BE%E3%81%97%E3%81%9F%E3%80%82%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%E3%82%AD%E3%83%BC%E3%81%8C%E7%84%A1%E5%8A%B9%E3%81%AE%E3%82%88%E3%81%86%E3%81%A7%E3%81%99%E3%80%82%E6%AD%A3%E3%81%97%E3%81%84%E3%82%AD%E3%83%BC%E3%82%92%E8%9E%8D%E5%90%88%E3%81%97%E3%81%9F%E3%81%93%E3%81%A8%E3%82%92%E5%86%8D%E7%A2%BA%E8%AA%8D%E3%81%97%E3%81%BE%E3%81%97%E3%81%9F%E3%81%8C%E3%80%81%E8%A6%8B%E3%81%9F%E7%9B%AE%E3%81%AF%E8%89%AF%E3%81%95%E3%81%9D%E3%81%86%E3%81%A7%E3%81%99%E3%80%82%3C%2FP%3E%3CP%3E%E4%BD%95%E3%81%8B%E5%95%8F%E9%A1%8C%E3%81%8C%E3%81%82%E3%82%8B%E5%A0%B4%E5%90%88%E3%81%AE%E7%A7%81%E3%81%AE%E5%AE%8C%E5%85%A8%E3%81%AA%E6%89%8B%E9%A0%86%E3%81%AF%E6%AC%A1%E3%81%AE%E3%81%A8%E3%81%8A%E3%82%8A%E3%81%A7%E3%81%99%E3%80%82%3C%2FP%3E%3CP%3EPKI%20%E3%83%84%E3%83%AA%E3%83%BC%E3%81%AE%E7%94%9F%E6%88%90%3A%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%E3%83%86%E3%83%BC%E3%83%96%E3%83%AB%2F%E3%83%92%E3%83%A5%E3%83%BC%E3%82%BA%E3%81%AE%E7%94%9F%E6%88%90%3A%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%3EHexdump%20%E3%81%AE%E5%87%BA%E5%8A%9B%3A%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%E3%83%92%E3%83%A5%E3%83%BC%E3%82%BA%E3%81%AF%E3%80%81%E7%84%BC%E6%88%90%E5%BE%8C%E3%81%AB%E3%82%BF%E3%83%BC%E3%82%B2%E3%83%83%E3%83%88%E3%81%A7%E8%AA%AD%E3%81%BF%E5%8F%96%E3%82%8A%E3%81%BE%E3%81%99%E3%80%82%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%E7%BD%B2%E5%90%8D%E6%89%8B%E9%A0%86%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6%E3%81%AF%E3%80%81CSF%E3%83%86%E3%83%B3%E3%83%97%E3%83%AC%E3%83%BC%E3%83%88%E3%81%A8imx-mkimage%E3%83%93%E3%83%AB%E3%83%89%E3%83%AD%E3%82%B0%E3%81%8C%E6%B7%BB%E4%BB%98%E3%81%95%E3%82%8C%E3%81%A6%E3%81%84%E3%81%BE%E3%81%99%E3%80%82%3C%2FP%3E%3CP%3ECST%E3%83%90%E3%83%BC%E3%82%B8%E3%83%A7%E3%83%B34.0.0%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%97%E3%81%A6%E3%81%84%E3%81%BE%E3%81%99%E3%80%82%3C%2FP%3E%3CP%3E%3CBR%20%2F%3E%E3%81%BE%E3%81%9F%E3%80%81CSF%20%E3%83%90%E3%82%A4%E3%83%8A%E3%83%AA%E3%81%AE%E7%94%9F%E6%88%90%E3%81%A8%E6%B3%A8%E5%85%A5%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6%E3%81%AF%E3%80%81%E6%AC%A1%E3%81%AE%E3%82%88%E3%81%86%E3%81%AB%E3%81%97%E3%81%BE%E3%81%99%E3%80%82%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%3ERe%3Ai.Mx8MP%20Fast%20Auth%20HAB%E3%82%A8%E3%83%A9%E3%83%BC%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%E8%A9%B3%E7%B4%B0%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6%E3%81%AF%E3%80%81SRM%20%E3%81%AE%E3%82%BB%E3%82%AF%E3%82%B7%E3%83%A7%E3%83%B3%20%E3%82%92%E5%8F%82%E7%85%A7%E3%81%99%E3%82%8B%E3%81%93%E3%81%A8%E3%82%92%E3%81%8A%E5%8B%A7%E3%82%81%E3%81%97%E3%81%BE%E3%81%99%E3%80%82%3C%2FHAB%3E%3C%2FP%3E%0A%3CBR%20%2F%3E%0A%3CP%3E%E3%82%88%E3%82%8D%E3%81%97%E3%81%8F%E3%81%8A%E9%A1%98%E3%81%84%E3%81%97%E3%81%BE%E3%81%99%E3%80%82%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%3ERe%3Ai.Mx8MP%20Fast%20Auth%20HAB%E3%82%A8%E3%83%A9%E3%83%BC%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2067740%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CA%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F192970%22%20target%3D%22_blank%22%3E%E3%81%93%E3%82%93%E3%81%AB%E3%81%A1%E3%81%AF%40Harvey021%3C%2FA%3E%E3%80%81%E3%83%95%E3%82%A3%E3%83%BC%E3%83%89%E3%83%90%E3%83%83%E3%82%AF%E3%82%92%E3%81%84%E3%81%9F%E3%81%A0%E3%81%8D%E3%81%82%E3%82%8A%E3%81%8C%E3%81%A8%E3%81%86%E3%81%94%E3%81%96%E3%81%84%E3%81%BE%E3%81%99!%3CBR%20%2F%3E%E3%81%A9%E3%81%93%E3%81%8B%E3%81%AB%E6%9B%B8%E3%81%84%E3%81%A6%E3%81%82%E3%82%8B%E3%81%8B%E7%9F%A5%E3%81%A3%E3%81%A6%E3%82%8B%3FCST%E3%81%AE%E5%85%AC%E5%BC%8F%E3%83%89%E3%82%AD%E3%83%A5%E3%83%A1%E3%83%B3%E3%83%88%E3%82%92%E4%BD%95%E5%BA%A6%E3%82%82%E8%AA%AD%E3%81%BF%E3%81%BE%E3%81%97%E3%81%9F%E3%81%8C%E3%80%81%E3%81%93%E3%81%AE%E6%83%85%E5%A0%B1%E3%81%AF%E8%A6%8B%E3%81%A4%E3%81%8B%E3%82%8A%E3%81%BE%E3%81%9B%E3%82%93%E3%81%A7%E3%81%97%E3%81%9F%E3%80%82%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2067712%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ERe%3Ai.Mx8MP%20Fast%20Auth%20HAB%E3%82%A8%E3%83%A9%E3%83%BC%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2067712%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E3%81%93%E3%82%93%E3%81%AB%E3%81%A1%E3%81%AF%20%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%26nbsp%3B%3C%2FP%3E%0A%3CP%3E%3CBR%20%2F%3Ei.MX8MP%E3%81%AF%E3%80%81HAB%E3%81%AERSA-PSS%E3%82%AD%E3%83%BC%E3%82%92%E3%82%B5%E3%83%9D%E3%83%BC%E3%83%88%E3%81%97%E3%81%A6%E3%81%84%E3%81%BE%E3%81%9B%E3%82%93%E3%80%82%E3%82%AD%E3%83%BC%E3%82%BF%E3%82%A4%E3%83%97%E3%81%AB%E6%8F%90%E6%A1%88%20-%20RSA%E3%80%82%3C%2FP%3E%0A%3CBR%20%2F%3E%0A%3CP%3E%E3%82%88%E3%82%8D%E3%81%97%E3%81%8F%E3%81%8A%E9%A1%98%E3%81%84%E3%81%97%E3%81%BE%E3%81%99%E3%80%82%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%3ERe%3Ai.Mx8MP%20Fast%20Auth%20HAB%E3%82%A8%E3%83%A9%E3%83%BC%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2067674%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EHABv4%20API%20%E3%83%89%E3%82%AD%E3%83%A5%E3%83%A1%E3%83%B3%E3%83%88%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%97%E3%81%A6%E6%9C%80%E5%88%9D%E3%81%AE%20HAB%20%E3%82%A4%E3%83%99%E3%83%B3%E3%83%88%E3%82%92%E3%83%87%E3%82%B3%E3%83%BC%E3%83%89%E3%81%99%E3%82%8B%E3%81%A8%E3%80%81%E7%90%86%E7%94%B1%E3%81%8C%20%22%E6%8C%87%E5%AE%9A%E3%81%95%E3%82%8C%E3%81%9F%E3%82%AD%E3%83%BC%E3%81%8C%20CA%20%E3%82%AD%E3%83%BC%E3%81%A8%E3%81%97%E3%81%A6%E8%AD%98%E5%88%A5%E3%81%95%E3%82%8C%E3%81%9F%22%20%E3%81%AE%E3%82%88%E3%81%86%E3%81%A7%E3%81%99%E3%80%82%E3%82%AD%E3%83%BC%E3%82%92%E5%86%8D%E7%A2%BA%E8%AA%8D%E3%81%97%E3%81%BE%E3%81%97%E3%81%9F%E3%81%8C%E3%80%81CA%E3%83%95%E3%83%A9%E3%82%B0%E3%81%8C%E8%A8%AD%E5%AE%9A%E3%81%95%E3%82%8C%E3%81%A6%E3%81%84%E3%81%AA%E3%81%84%E3%81%9F%E3%82%81%E3%80%81%E5%B0%91%E3%81%97%E6%B7%B7%E4%B9%B1%E3%81%97%E3%81%A6%E3%81%84%E3%81%BE%E3%81%99%E3%80%82%3C%2FP%3E%3C%2FLINGO-BODY%3E