<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>i.MX Processors中的主题 Re: Getting HAB_INV_ASSERTION on imx Kernel</title>
    <link>https://community.nxp.com/t5/i-MX-Processors/Getting-HAB-INV-ASSERTION-on-imx-Kernel/m-p/791409#M122609</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Yes but "how" do I check that the IVT was signed correctly... am I suppose to decode the CSF binary... if so likely need more instructions on that?&amp;nbsp; Doesn't the CST automatically include that signing when it produces the CSF binary?&amp;nbsp; Or does the CSF input script need to specify that (yocto example CSF script does not which is why I am assuming this done automatically)?&amp;nbsp; I've attached my resulting csf binary file (csf12a.bin) if you tell me how to decode where the signature is for IVT and how it was computed... (was it signed as a hash of the IVT bytes, etc.).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Would this have any relation to the fact that our "mkimage" call places the Load Address to 0x14000000 due to attaching elf-loader but our u-boot still loads to 0x12000000?&amp;nbsp; See below:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;Found loader image: /home/GHSIntegrity/arm_elfloader.bin&lt;BR /&gt;Final image created successfully: kernel.elf&lt;BR /&gt;Output from Integrating kernel.gpj:&lt;BR /&gt;mkimage version dub-2015.04-r12.1-g5ea79be-dirty&lt;BR /&gt;Output from Integrating kernel.gpj:&lt;BR /&gt;Image Name:&amp;nbsp;&amp;nbsp; INTEGRITY&lt;BR /&gt;Created:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Tue Sep 25 07:50:51 2018&lt;BR /&gt;Image Type:&amp;nbsp;&amp;nbsp; ARM Linux Kernel Image (uncompressed)&lt;BR /&gt;Data Size:&amp;nbsp;&amp;nbsp;&amp;nbsp; 19748540 Bytes = 19285.68 kB = 18.83 MB&lt;BR /&gt;Load Address: 14000000&lt;BR /&gt;Entry Point:&amp;nbsp; 14000000&lt;BR /&gt;Done&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;As I understand the elf-loader that is added to the front of the uimage relocates/moves the uimage to 0x14000000 after our u-boot script loads it to 0x1200000 before calling bootm.&amp;nbsp; I was assuming that bootm performs HAB checks at this original u-boot load-address before bootm passes on execution to the elf-loader that is embedded in the front of your uimage.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Tue, 25 Sep 2018 13:38:00 GMT</pubDate>
    <dc:creator>paul_holmquist</dc:creator>
    <dc:date>2018-09-25T13:38:00Z</dc:date>
    <item>
      <title>Getting HAB_INV_ASSERTION on imx Kernel</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/Getting-HAB-INV-ASSERTION-on-imx-Kernel/m-p/791407#M122607</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Got authentication of u-boot.imx working but now trying to extend to authenticating uimage.imx but getting error.&lt;/P&gt;&lt;P&gt;I followed both Appendix G of AN4581_i_mx6_secure_boot.pdf and the Yocto Workshop (DOC332479) but getting the following HAB error:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;HAB Configuration: 0xf0, HAB State: 0x66&lt;BR /&gt;No HAB Events Found!&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;=&amp;gt; fatload mmc 1 0x12000000 /cp.uimage&lt;BR /&gt;reading /cp.uimage&lt;BR /&gt;19759136 bytes read in 945 ms (19.9 MiB/s)&lt;BR /&gt;=&amp;gt; hab_auth_img 0x12000000 0x12D6000&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;&amp;nbsp;hab_enabled() call bypassed... &lt;BR /&gt;&amp;nbsp;&amp;nbsp; Authenticating image from DDR location 0x12000000... &lt;BR /&gt;ivt_offset = 0x12d6000, ivt addr = 0x132d6000&lt;BR /&gt;Dumping IVT&lt;BR /&gt;132d6000: 402000d1 12000000 00000000 00000000&amp;nbsp;&amp;nbsp;&amp;nbsp; .. @............&lt;BR /&gt;132d6010: 00000000 132d6000 132d6020 00000000&amp;nbsp;&amp;nbsp;&amp;nbsp; .....`-. `-.....&lt;BR /&gt;Dumping CSF Header&lt;BR /&gt;132d6020: 415000d4 000c00be 00001703 50000000&amp;nbsp;&amp;nbsp;&amp;nbsp; ..PA...........P&lt;BR /&gt;132d6030: 020c00be 01000009 90040000 000c00ca&amp;nbsp;&amp;nbsp;&amp;nbsp; ................&lt;BR /&gt;132d6040: 001dc501 e4070000 000c00be 02000009&amp;nbsp;&amp;nbsp;&amp;nbsp; ................&lt;BR /&gt;132d6050: e8090000 001400ca 001dc502 3c0d0000&amp;nbsp;&amp;nbsp;&amp;nbsp; ...............&amp;lt;&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;Secure boot disabled&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;HAB Configuration: 0xf0, HAB State: 0x66&lt;BR /&gt;No HAB Events Found!&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;&lt;BR /&gt;Calling authenticate_image in ROM&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;ivt_offset = 0x12d6000&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;start = 0x12000000&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;bytes = 0x12d8020&lt;BR /&gt;=&amp;gt; hab_status&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;Secure boot disabled&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;HAB Configuration: 0xf0, HAB State: 0x66&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;--------- HAB Event 1 -----------------&lt;BR /&gt;event data:&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;0xdb 0x00 0x14 0x41 0x33 0x0c 0xa0 0x00&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;0x00 0x00 0x00 0x00 0x13 0x2d 0x60 0x00&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;0x00 0x00 0x00 0x20&lt;BR /&gt;=&amp;gt;&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;&lt;/P&gt;&lt;P&gt;Decoding above follows the same error example in Appendix A of HAB4_API.pdf that came with CST 3.0.1 which I'll restate as follows:&lt;/P&gt;&lt;BLOCKQUOTE class="jive_macro_quote jive-quote jive_text_macro"&gt;&lt;P&gt;An assertion event means that one of&lt;BR /&gt;the following required areas is not signed as documented in the Operation section for&lt;BR /&gt;authenticate_image() API:&lt;BR /&gt;• IVT;&lt;BR /&gt;• DCD (if provided);&lt;BR /&gt;• Boot Data (initial byte - if provided);&lt;BR /&gt;• Entry point (initial word).&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;I followed all the steps as indicated for the Yocto workshop (4.2.2) except my kernel does not have a device tree (using Green Hills Integrity OS).&amp;nbsp; Recap of the steps:&lt;/P&gt;&lt;OL&gt;&lt;LI&gt;Pad unsigned uimage.imx to 4K boundary&lt;/LI&gt;&lt;LI&gt;Generate IVT for uimage.imx (&lt;SPAN style="font-size: medium; font-family: courier new, courier, serif;"&gt;./genIVT.pl ivt12.bin 0x12000000 0x132D6000 0x132D6020)&lt;/SPAN&gt;&lt;/LI&gt;&lt;LI&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new, courier, monospace; font-size: 15px;"&gt;&lt;SPAN&gt;Append IVT to unsigned image (uimage-pad-ivt.imx).&lt;BR /&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/LI&gt;&lt;LI&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new, courier, monospace; font-size: 15px;"&gt;&lt;SPAN&gt;Sign using CST generating csf.bin (CSF script given below)&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/LI&gt;&lt;LI&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new, courier, monospace; font-size: 15px;"&gt;&lt;SPAN&gt;Pad csf.bin to 0x2000&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/LI&gt;&lt;LI&gt;&lt;P&gt;&lt;SPAN style="font-size: medium; font-family: courier new, courier, serif;"&gt;&lt;SPAN style="font-size: 15px; font-family: courier new, courier, monospace;"&gt;Append csf-pad.bin to uimage-pad-IVT.imx &lt;/SPAN&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/LI&gt;&lt;/OL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 15px;"&gt;I was assuming that the CST tool takes care signing the four areas in step 4 above since I didn't get this error for a signed u-boot-signed.img? If not, done by CST tool, where are the instructions to make sure they are signed?&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 15px;"&gt;Here is my CSF script used in step 4 above:&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;BLOCKQUOTE class="jive_macro_quote jive-quote jive_text_macro"&gt;&lt;P&gt;[Header]&lt;BR /&gt;Version = 4.1&lt;BR /&gt;Security Configuration = Open&lt;BR /&gt;Hash Algorithm = SHA256&lt;BR /&gt;Engine Configuration = 0&lt;BR /&gt;Certificate Format = X509&lt;BR /&gt;Signature Format = CMS&lt;BR /&gt;Engine = CAAM&lt;BR /&gt;&lt;BR /&gt;[Install SRK]&lt;BR /&gt;File="../crts/SRK_1_2_3_4_table.bin"&lt;BR /&gt;Source Index = 0&lt;BR /&gt;&lt;BR /&gt;[Install CSFK]&lt;BR /&gt;File="../crts/CSF1_1_sha256_2048_65537_v3_usr_crt.pem"&lt;BR /&gt;&lt;BR /&gt;[Authenticate CSF] &lt;BR /&gt;&lt;BR /&gt;[Install Key]&lt;BR /&gt;Verification Index = 0&lt;BR /&gt;Target Index = 2&lt;BR /&gt;File="../crts/IMG1_1_sha256_2048_65537_v3_usr_crt.pem"&lt;BR /&gt;&lt;BR /&gt;[Authenticate Data]&lt;BR /&gt;Verification Index = 2&lt;BR /&gt;Blocks = 0x12000000 0x00000000 0x12D6000 "uimage-pad-ivt"&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 24 Sep 2018 17:00:39 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/Getting-HAB-INV-ASSERTION-on-imx-Kernel/m-p/791407#M122607</guid>
      <dc:creator>paul_holmquist</dc:creator>
      <dc:date>2018-09-24T17:00:39Z</dc:date>
    </item>
    <item>
      <title>Re: Getting HAB_INV_ASSERTION on imx Kernel</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/Getting-HAB-INV-ASSERTION-on-imx-Kernel/m-p/791408#M122608</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;Hello,&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp; &lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp; You are right, the assertion event means that one of the following required &lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;areas is not signed as documented in the Operation section for &lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;authenticate_image() API:&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;• IVT;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;• DCD (if provided);&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;• Boot Data (initial byte - if provided);&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;• Entry point (initial word).&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp; For Your case, below is the data block that does not have a required valid &lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;signature: &lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;Address Event 1 is 0x132d_6000&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;Length Event 1 is 0x20 &lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp; Check if IVT area is (correctly) signed.&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;Have a great day,&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;Yuri&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;------------------------------------------------------------------------------&lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;Note: If this post answers your question, please click the Correct Answer &lt;/SPAN&gt;&lt;/P&gt;&lt;P class=""&gt;&lt;SPAN class=""&gt;button. Thank you!&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 25 Sep 2018 04:53:37 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/Getting-HAB-INV-ASSERTION-on-imx-Kernel/m-p/791408#M122608</guid>
      <dc:creator>Yuri</dc:creator>
      <dc:date>2018-09-25T04:53:37Z</dc:date>
    </item>
    <item>
      <title>Re: Getting HAB_INV_ASSERTION on imx Kernel</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/Getting-HAB-INV-ASSERTION-on-imx-Kernel/m-p/791409#M122609</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Yes but "how" do I check that the IVT was signed correctly... am I suppose to decode the CSF binary... if so likely need more instructions on that?&amp;nbsp; Doesn't the CST automatically include that signing when it produces the CSF binary?&amp;nbsp; Or does the CSF input script need to specify that (yocto example CSF script does not which is why I am assuming this done automatically)?&amp;nbsp; I've attached my resulting csf binary file (csf12a.bin) if you tell me how to decode where the signature is for IVT and how it was computed... (was it signed as a hash of the IVT bytes, etc.).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Would this have any relation to the fact that our "mkimage" call places the Load Address to 0x14000000 due to attaching elf-loader but our u-boot still loads to 0x12000000?&amp;nbsp; See below:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P style="padding-left: 30px;"&gt;Found loader image: /home/GHSIntegrity/arm_elfloader.bin&lt;BR /&gt;Final image created successfully: kernel.elf&lt;BR /&gt;Output from Integrating kernel.gpj:&lt;BR /&gt;mkimage version dub-2015.04-r12.1-g5ea79be-dirty&lt;BR /&gt;Output from Integrating kernel.gpj:&lt;BR /&gt;Image Name:&amp;nbsp;&amp;nbsp; INTEGRITY&lt;BR /&gt;Created:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Tue Sep 25 07:50:51 2018&lt;BR /&gt;Image Type:&amp;nbsp;&amp;nbsp; ARM Linux Kernel Image (uncompressed)&lt;BR /&gt;Data Size:&amp;nbsp;&amp;nbsp;&amp;nbsp; 19748540 Bytes = 19285.68 kB = 18.83 MB&lt;BR /&gt;Load Address: 14000000&lt;BR /&gt;Entry Point:&amp;nbsp; 14000000&lt;BR /&gt;Done&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;As I understand the elf-loader that is added to the front of the uimage relocates/moves the uimage to 0x14000000 after our u-boot script loads it to 0x1200000 before calling bootm.&amp;nbsp; I was assuming that bootm performs HAB checks at this original u-boot load-address before bootm passes on execution to the elf-loader that is embedded in the front of your uimage.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 25 Sep 2018 13:38:00 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/Getting-HAB-INV-ASSERTION-on-imx-Kernel/m-p/791409#M122609</guid>
      <dc:creator>paul_holmquist</dc:creator>
      <dc:date>2018-09-25T13:38:00Z</dc:date>
    </item>
    <item>
      <title>Re: Getting HAB_INV_ASSERTION on imx Kernel</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/Getting-HAB-INV-ASSERTION-on-imx-Kernel/m-p/791410#M122610</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Still waiting for help on this one.&amp;nbsp; The API states 4 possible issues but there is no HAB documentation that I can find for how each one would be fixed/addressed.... something in the CSF script (block statement values perhaps).&amp;nbsp; I don't have DCD so that should not apply.&amp;nbsp; Not sure what's mean't by "Boot Data" or when it would apply and how to fix.&amp;nbsp; How is this different the "Entry-Point" which I would think applies here but not clear on how to fix the issue either... this can't be the same Entry-Point listed in the mkimage output since that comes much later in boot process, right?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 03 Oct 2018 19:16:42 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/Getting-HAB-INV-ASSERTION-on-imx-Kernel/m-p/791410#M122610</guid>
      <dc:creator>paul_holmquist</dc:creator>
      <dc:date>2018-10-03T19:16:42Z</dc:date>
    </item>
    <item>
      <title>Re: Getting HAB_INV_ASSERTION on imx Kernel</title>
      <link>https://community.nxp.com/t5/i-MX-Processors/Getting-HAB-INV-ASSERTION-on-imx-Kernel/m-p/791411#M122611</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; Generally Your sequence is correct. Please check parameters, addresses, values just for&amp;nbsp;&lt;/P&gt;&lt;P&gt;Your case, using&amp;nbsp;&lt;SPAN style="color: black; font-size: 10.0pt;"&gt;&amp;nbsp;description of the CSF commands in the CST documentation (HAB Code-Signing &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: black; font-size: 10.0pt;"&gt;Tool User’s Guide).&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: black; font-size: 10.0pt;"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;A class="link-titled" href="https://www.nxp.com/webapp/sps/download/license.jsp?colCode=IMX_CST_TOOL&amp;amp;appType=file2&amp;amp;location=null&amp;amp;DOWNLOAD_ID=null&amp;amp;lang_cd=en" title="https://www.nxp.com/webapp/sps/download/license.jsp?colCode=IMX_CST_TOOL&amp;amp;appType=file2&amp;amp;location=null&amp;amp;DOWNLOAD_ID=null&amp;amp;lang_cd=en"&gt;i.MX High Assurance Boot Reference Code Signing Tool&lt;/A&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Yuri.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 05 Oct 2018 08:46:32 GMT</pubDate>
      <guid>https://community.nxp.com/t5/i-MX-Processors/Getting-HAB-INV-ASSERTION-on-imx-Kernel/m-p/791411#M122611</guid>
      <dc:creator>Yuri</dc:creator>
      <dc:date>2018-10-05T08:46:32Z</dc:date>
    </item>
  </channel>
</rss>

