This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] CC3235SF:代码签名文件大小超过256字节

Guru**** 2551110 points
Other Parts Discussed in Thread: UNIFLASH

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/wireless-connectivity/wi-fi-group/wifi/f/wi-fi-forum/1159293/cc3235sf-code-signature-file-size-exeeds-256-bytes

器件型号:CC3235SF
主题中讨论的其他器件:UNIFLASH

您好!

我们有一个实现了 OTA 机制的应用程序。 由于我们当前的代码签名证书即将过期、我们已申请新证书。  

我们的证书颁发机构  不再支持 SHA 256密钥大小、并提供了新 的512密钥大小。

这个新的密钥在 OTA 应用程序中显示错误、我们将其向下跟踪到 SL_FsClose 函数。  

当使用我们的新密钥时、该函数返回-10290

#define SL_ERROR_FS_WRONG_SIGNATURE_OR_CERTIFIC_NAME_LENGTH             (-10290L)

如果我们查看 Simplelink WiFi 网络处理器用户指南、我们可以在第138页的第8.4.7章 中找到该器件支持多达512个证书链验证类型。

https://www.ti.com/lit/ug/swru455m/swru455m.pdf?ts=1665048047843

我们进行的另一项测试是、我们使用映像刷写器件、并使用旧证书签名、其中包含支持 新证书所需的文件。  但在执行 OTA 后、我们仍然会遇到 sl_FsCl.ose 错误。  

当我们尝试使用 Uniflash 刷写器件时、会看到以下错误:   

我们使用 sp_4.8.0.8_3.7.0.1_3.1.0.26和 sp_4.13.0.2_3.7.0.1_3.1.0.26对两种方式(OTA 和 Uniflash)进行了测试

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    由于 ROM 引导加载程序不支持更长的密钥、因此 Uniflash (即编程)将失败。  

    它需要安装 SP 才能获得512B 支持。

    OTA 应在假设  用于验证的证书已更新(并已安装 SP)的情况下工作。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我们按照   以下步骤执行了新的测试、以使用我们的新代码签名证书:

    1) 1)创建了一个新映像、并使用旧证书签名。  此映像包含所有新的证书文件。

    2) 2)我们 使用 Uniflash 将此映像刷写到器件中。

    3) 3)启动时、器件会打印出它包含的文件、仅检查是否已安装所有必要的文件:

    application_cert
    ALLOCATEDBLOCKS:     1
    MaxSize(bytes):  3656
    Flags: File safe,
    
    
    /sys/mcubootinfo.bin
    ALLOCATEDBLOCKS:     2
    MaxSize(bytes):  3656
    Flags: Secure, File safe, System, Public write ,
    
    
    digicert assured id root ca
    ALLOCATEDBLOCKS:     2
    MaxSize(bytes):  3656
    No Flags for file
    
    
    digicert sha2 assured id code signing ca
    ALLOCATEDBLOCKS:     2
    MaxSize(bytes):  3656
    No Flags for file
    
    
    fp-bootstrap-certificate
    ALLOCATEDBLOCKS:     2
    MaxSize(bytes):  3656
    No Flags for file
    
    
    application_cert_20241216
    ALLOCATEDBLOCKS:     1
    MaxSize(bytes):  3656
    Flags: File safe,
    

    我们的旧证书是 application_cert、而我们的新证书是 "application_cert_2024_12_16"、"DigiCert certured id root ca"和"DigiCert SHA2 Assured id code signing ca"

    4) 4)此外、还会打印已安装 SP 的版本、以检查我们是否运行最新版本:

    4) 4)当器件运行并连接时、我们会发送一个 OTA、并使用新证书签名。

    5) 5)接收到新映像文件后、将检查该文件、并在此处对器件进行故障检测:   

    错误消息为:  "error (!:0xcd7ce) closing OTA file。

    如果我们在源代码中遵循此消息,我们会发现它在 FS_CLOSE ()函数上失败:

    /* Close the specified file. This will also authenticate the file if it is marked as secure. */
    
    OTA_Err_t prvPAL_CloseFile( OTA_FileContext_t *C )
    {
        DEFINE_OTA_METHOD_NAME("prvPAL_CloseFile");
    
    	int32_t lResult;
        OTA_Err_t xReturnCode = kOTA_Err_Uninitialized;
    
    	/* Let SimpleLink API handle error checks so we get an error code for free. */
    	OTA_LOG_L1( "[%s] Authenticating and closing file.\r\n", OTA_METHOD_NAME );
    	lResult = ( int32_t ) sl_FsClose( ( _i32 ) ( C->lFileHandle ), C->pucCertFilepath, C->pxSignature->ucData, ( _u32 ) ( C->pxSignature->usSize ) );
    
    	switch ( lResult )
    	{
    	    case 0L:
    	    {
    	        xReturnCode = kOTA_Err_None;
    	        break;
    	    }
    
    	    case SL_ERROR_FS_WRONG_SIGNATURE_SECURITY_ALERT:
    	    case SL_ERROR_FS_WRONG_SIGNATURE_OR_CERTIFIC_NAME_LENGTH:
    	    case SL_ERROR_FS_CERT_IN_THE_CHAIN_REVOKED_SECURITY_ALERT:
    	    case SL_ERROR_FS_INIT_CERTIFICATE_STORE:
    	    case SL_ERROR_FS_ROOT_CA_IS_UNKOWN:
    	    case SL_ERROR_FS_CERT_CHAIN_ERROR_SECURITY_ALERT:
    	    case SL_ERROR_FS_FILE_NOT_EXISTS:
    	    case SL_ERROR_FS_ILLEGAL_SIGNATURE:
    	    case SL_ERROR_FS_WRONG_CERTIFICATE_FILE_NAME:
    	    case SL_ERROR_FS_NO_CERTIFICATE_STORE:
    	    {
                xReturnCode = ( uint32_t ) kOTA_Err_SignatureCheckFailed | ( ( ( uint32_t ) lResult ) & ( uint32_t ) kOTA_PAL_ErrMask );   /*lint !e571 intentionally cast lResult to larger composite error code. */
                break;
    	    }
    
    	    default:    /*lint -e788 Keep lint quiet about the obvious unused states we're catching here. */
    	    {
    	        xReturnCode = ( uint32_t ) kOTA_Err_FileClose | ( ( ( uint32_t ) lResult ) & ( uint32_t ) kOTA_PAL_ErrMask );   /*lint !e571 intentionally cast lResult to larger composite error code. */
    	        break;
    	    }
    	}
    	return xReturnCode;
    }

    在本例中 、该函数返回 值-10290。  如果我们在"Errors.h"文件中查找此值、我们会发现:

    #define SL_ERROR_FS_WRONG_SIGNATURE_OR_CERTIFIC_NAME_LENGTH             (-10290L)

    还有什么建议可以做些什么?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    它应该起作用、让我在内部咨询可能的根本原因。 可能需要几天时间。

    您能否提供 NWP 日志? (请参阅 https://www.ti.com/lit/swru455的第20章)

    同时、我建议您仔细检查您的设置。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Kobi、

    我们执行了与上述相同的测试、但这次我们从启动中通过 OTA 捕获了 NWP 日志、直到其失败。  我嵌入了以下日志:

    ���Đ���������������D�@�@@ ����Ċ��������C$����T���,��ȴ��E����J�Đ�J�$����?������~�����
                                                                                        ���������#����\�J,��,���K)ۿ^��B��<����������@����t����5��������������������|_q��`����������������������B����`���������<�����������xKx�oZp6E�|�r��w����~�����|������kA��������������������������R��^4�,���������O<�64��:��0��6�~��>����M�ZF����~�� Xf�`���������������������������������`�������������\������X`��
                                              ���� ��������������������������������������������������������������������������������������������������������������������Q�������������������������������������������������������#@�����������������������������(�����������������������������������������������������������������������������p�������������@������������������������������������������������������ ����������������������������������������������0����������������������������������������������������������������������������(�����������0�������������������������v������������������������������������������� ���������������������������������������������������������������������������������������������

    在 OTA 失败时低于 UART 输出:

    Agent T] [prvIngestDataBlock] Received file block 345, size 888
    1586 155928 [OTA Agent T] [prvIngestDataBlock] Received final expected block of file.
    1587 155936 [OTA Agent T] [prvStopRequestTimer] Stopping request timer.
    1588 155936 [OTA Agent T] [prvPAL_CloseFile] Authenticating and closing file.
    1589 155937 [OTA Agent T] [prvIngestDataBlock] Error (1:0xffd7ce) closing OTA file.
    1590 155959 [OTA Agent T] [prvStopRequestTimer] Stopping request timer.
    1591 155959 [OTA Agent T] [prvProcessDataMessage] Aborting due to IngestResult_t error -2
    1592 156538 [OTA Agent T] [prvPAL_SetPlatformImageState] Image was rejected and bundle files rolled back.
    1593 156538 [OTA Agent T] [prvPublishStatusMessage] Msg: {"status":"FAILED","statusDetails":{"reason":"0x01ffd7ce: 0xfffffffe"}}
    1594 156539 [OTA Agent T] [INFO ][MQTT][156539] (MQTT connection 2000da88) MQTT PUBLISH operation queued.
    1595 156540 [OTA Agent T] [INFO ][MQTT][156539] (MQTT connection 2000da88, PUBLISH operation 2000dcc0) Waiting for operation completion.
    1596 156703 [OTA Agent T] [INFO ][MQTT][156701] (MQTT connection 2000da88, PUBLISH operation 2000dcc0) Wait complete with result SUCCESS.
    1597 156704 [OTA Agent T] [prvPublishStatusMessage] 'FAILED' to $aws/things/NS_4c2498d6726f/jobs/AFR_OTA-1_4_3_cert2024-1665736938191/update

    为了指出我们得到的错误(-10290)不是来自证书名称长度、我们尝试将 我们的证书名称长度从 application_cert_20221216缩短到 app_cert、但这也没有帮助。   

    我们要指出的另一个问题是、如果我们可以使用 OTA 解决该问题、我们将面临这一问题。  由于我们首先需要使用 Uniflash 工具对每个器件进行编程、因此我们无法在今年12月15日之后对器件进行编程、因为旧证书过期、Uniflash 工具不支持我们的新证书。  在我们的证书到期日之前是否有任何软件更新要发布以解决此问题?  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您是否将日志添加为"图像/视频/文件"附件? 我无法下载它。 请再次尝试添加。

    您是否还可以发送整个证书链以供审核?  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我以纯文本格式添加了以下代码作为"代码片段":

    ���Đ���������������D�@�@@ ����Ċ��������C$����T���,��ȴ��E����J�Đ�J�$����?������~�����
                                                                                        ���������#����\�J,��,���K)ۿ^��B��<����������@����t����5��������������������|_q��`����������������������B����`���������<�����������xKx�oZp6E�|�r��w����~�����|������kA��������������������������R��^4�,���������O<�64��:��0��6�~��>����M�ZF����~�� Xf�`���������������������������������`�������������\������X`��
                                              ���� ��������������������������������������������������������������������������������������������������������������������Q�������������������������������������������������������#@�����������������������������(�����������������������������������������������������������������������������p�������������@������������������������������������������������������ ����������������������������������������������0����������������������������������������������������������������������������(�����������0�������������������������v������������������������������������������� ���������������������������������������������������������������������������������������������

    在证书链下方:

    -----BEGIN CERTIFICATE-----
    MIIHVzCCBT+gAwIBAgIQCz2d2+iJX7Th/uVBN65GUTANBgkqhkiG9w0BAQsFADBp
    MQswCQYDVQQGEwJVUzEXMBUGA1UEChMORGlnaUNlcnQsIEluYy4xQTA/BgNVBAMT
    OERpZ2lDZXJ0IFRydXN0ZWQgRzQgQ29kZSBTaWduaW5nIFJTQTQwOTYgU0hBMzg0
    IDIwMjEgQ0ExMB4XDTIyMTAwNDAwMDAwMFoXDTI0MTIxNjIzNTk1OVowXDELMAkG
    A1UEBhMCVVMxDzANBgNVBAgTBk9yZWdvbjESMBAGA1UEBxMJQmVhdmVydG9uMRMw
    EQYDVQQKEwpOaWtlLCBJbmMuMRMwEQYDVQQDEwpOaWtlLCBJbmMuMIICIjANBgkq
    hkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA1n2R0H2sNkcN5IfGzqW4uLuz7vnaFvRf
    Hv5tV0u3J8InJX36vxSzQsyGPDuc24XBYK55ZZCswgNskD9p9VKGHP8nqMNqAkOE
    W4pXK39l6t7eyXDCaCokE84v9udXX7VmHCRrX/nDFhT6q1MAMWZLooPIhbUs02mW
    eTPSoqQiVGzbhiJuSp7BsZhBrKtEnkBrSztFP3kgE4pX44/wRDlrV3IaBusKrF3E
    NIrHYiu8AdFaVgbMXDZZJcn2vlLosXH8IinMsZn4q7gQHgR6p7vGYNQtIY3CCnBq
    POeaSfOfGNMWgMkAXoWVwrcoW8Bkp7nYBebFI5FaIes+/5EBs77dPSujmLEBCrV5
    iNv6tlIeVZ8LnuxeZ2Q9Q6UN7PooRO1o3fOb9Zt5zDR96r7KOQ5H8aFFTcyFgvVj
    rpBfvcTICug8vExpK0SjUUb4eeU0ZlX8Nf3TSCq1kXuihTXOlqzPItSzQqo67qMf
    SsSsMbqv3NR1hAL+NL0Eaq9UmldVPcSjf0osd2bO/HC4nALcv4ejzFzbxS1PifoG
    WD6zASSYw4ezs/VQVm291XVwL07+Jii7bjQat54an1sWMAFX/LMKF4cdQWZeOU7b
    /jsHU3Caj9Up+NX+JXv0mKhuAoahVd8nKSH1zfO8siKqJ6CzLR5ELB7dZHYEEZi3
    pKsC7uSvVB0CAwEAAaOCAgYwggICMB8GA1UdIwQYMBaAFGg34Ou2O/hfEYb7/mF7
    CIhl9E5CMB0GA1UdDgQWBBQ/NLGqc6+K9Va7gJ+dh+pGtcnIDTAOBgNVHQ8BAf8E
    BAMCB4AwEwYDVR0lBAwwCgYIKwYBBQUHAwMwgbUGA1UdHwSBrTCBqjBToFGgT4ZN
    aHR0cDovL2NybDMuZGlnaWNlcnQuY29tL0RpZ2lDZXJ0VHJ1c3RlZEc0Q29kZVNp
    Z25pbmdSU0E0MDk2U0hBMzg0MjAyMUNBMS5jcmwwU6BRoE+GTWh0dHA6Ly9jcmw0
    LmRpZ2ljZXJ0LmNvbS9EaWdpQ2VydFRydXN0ZWRHNENvZGVTaWduaW5nUlNBNDA5
    NlNIQTM4NDIwMjFDQTEuY3JsMD4GA1UdIAQ3MDUwMwYGZ4EMAQQBMCkwJwYIKwYB
    BQUHAgEWG2h0dHA6Ly93d3cuZGlnaWNlcnQuY29tL0NQUzCBlAYIKwYBBQUHAQEE
    gYcwgYQwJAYIKwYBBQUHMAGGGGh0dHA6Ly9vY3NwLmRpZ2ljZXJ0LmNvbTBcBggr
    BgEFBQcwAoZQaHR0cDovL2NhY2VydHMuZGlnaWNlcnQuY29tL0RpZ2lDZXJ0VHJ1
    c3RlZEc0Q29kZVNpZ25pbmdSU0E0MDk2U0hBMzg0MjAyMUNBMS5jcnQwDAYDVR0T
    AQH/BAIwADANBgkqhkiG9w0BAQsFAAOCAgEAdtHNoZ2E8ktVTT9ivpXK6WR9jY9U
    96fWR6TyIWmUJPJK+NMg5k6c/NdOCtvvF1gp4+T0HJT0jzhAmZjiebQIW3qy+4Z/
    r9370Oo4y86Xs5/m+1gJwzgCPfRIUQWJgrN//UTRlHmoI2Gf266fPRNU/tcZuoYH
    b468q0qOeVO496mEiQEjyX3rHFWa6YW0+JbtDLc5h+Zxf162gVFfe450ASLD3RH8
    1sj6Xe6g89MInz2D/0Adbv2msObm+7fdpWl1ukOlnS2962RQcnGwUbJD6irkamvB
    DWGaKtUy7PW54sBpUlPMkR9jJ8jGA9Q5u6DPycDvKsK27EZ6Oqu/NhrmQTuRLGTU
    eANM+aZTSGdEhL6Wzoap0GH3cZLqQFaXdnbjq/k/6LxVxplBodzrvp21sQg1Heho
    dMYB030Wqo3YOqzFCVrbt0gio1uTB2EeXTjcJtNbu5Se5WTu/EQvCKzCisbfae79
    FMndF3/4oNYT5Yr3szwcWGnNXm55gWHkRIyFFIh8TUqAyungJ3PEKL/wF6pf/vcW
    KdmaE6R45dhjjNzlJyz1duvlTyRJ9l3OjseweEWWIPlfLWoP5r6PdFls5rsZy+WZ
    ETIIsSt79v+WWgCBwKJ/dHPHcxrDcj1pzjwiDjNa92tmvK/z9W2xdqbOcF23jxgC
    VEXSxobA7qVKktY=
    -----END CERTIFICATE-----
    -----BEGIN CERTIFICATE-----
    MIIGsDCCBJigAwIBAgIQCK1AsmDSnEyfXs2pvZOu2TANBgkqhkiG9w0BAQwFADBi
    MQswCQYDVQQGEwJVUzEVMBMGA1UEChMMRGlnaUNlcnQgSW5jMRkwFwYDVQQLExB3
    d3cuZGlnaWNlcnQuY29tMSEwHwYDVQQDExhEaWdpQ2VydCBUcnVzdGVkIFJvb3Qg
    RzQwHhcNMjEwNDI5MDAwMDAwWhcNMzYwNDI4MjM1OTU5WjBpMQswCQYDVQQGEwJV
    UzEXMBUGA1UEChMORGlnaUNlcnQsIEluYy4xQTA/BgNVBAMTOERpZ2lDZXJ0IFRy
    dXN0ZWQgRzQgQ29kZSBTaWduaW5nIFJTQTQwOTYgU0hBMzg0IDIwMjEgQ0ExMIIC
    IjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA1bQvQtAorXi3XdU5WRuxiEL1
    M4zrPYGXcMW7xIUmMJ+kjmjYXPXrNCQH4UtP03hD9BfXHtr50tVnGlJPDqFX/IiZ
    wZHMgQM+TXAkZLON4gh9NH1MgFcSa0OamfLFOx/y78tHWhOmTLMBICXzENOLsvsI
    8IrgnQnAZaf6mIBJNYc9URnokCF4RS6hnyzhGMIazMXuk0lwQjKP+8bqHPNlaJGi
    TUyCEUhSaN4QvRRXXegYE2XFf7JPhSxIpFaENdb5LpyqABXRN/4aBpTCfMjqGzLm
    ysL0p6MDDnSlrzm2q2AS4+jWufcx4dyt5Big2MEjR0ezoQ9uo6ttmAaDG7dqZy3S
    vUQakhCBj7A7CdfHmzJawv9qYFSLScGT7eG0XOBv6yb5jNWy+TgQ5urOkfW+0/tv
    k2E0XLyTRSiDNipmKF+wc86LJiUGsoPUXPYVGUztYuBeM/Lo6OwKp7ADK5GyNnm+
    960IHnWmZcy740hQ83eRGv7bUKJGyGFYmPV8AhY8gyitOYbs1LcNU9D4R+Z1MI3s
    MJN2FKZbS110YU0/EpF23r9Yy3IQKUHw1cVtJnZoEUETWJrcJisB9IlNWdt4z4FK
    PkBHX8mBUHOFECMhWWCKZFTBzCEa6DgZfGYczXg4RTCZT/9jT0y7qg0IU0F8WD1H
    s/q27IwyCQLMbDwMVhECAwEAAaOCAVkwggFVMBIGA1UdEwEB/wQIMAYBAf8CAQAw
    HQYDVR0OBBYEFGg34Ou2O/hfEYb7/mF7CIhl9E5CMB8GA1UdIwQYMBaAFOzX44LS
    cV1kTN8uZz/nupiuHA9PMA4GA1UdDwEB/wQEAwIBhjATBgNVHSUEDDAKBggrBgEF
    BQcDAzB3BggrBgEFBQcBAQRrMGkwJAYIKwYBBQUHMAGGGGh0dHA6Ly9vY3NwLmRp
    Z2ljZXJ0LmNvbTBBBggrBgEFBQcwAoY1aHR0cDovL2NhY2VydHMuZGlnaWNlcnQu
    Y29tL0RpZ2lDZXJ0VHJ1c3RlZFJvb3RHNC5jcnQwQwYDVR0fBDwwOjA4oDagNIYy
    aHR0cDovL2NybDMuZGlnaWNlcnQuY29tL0RpZ2lDZXJ0VHJ1c3RlZFJvb3RHNC5j
    cmwwHAYDVR0gBBUwEzAHBgVngQwBAzAIBgZngQwBBAEwDQYJKoZIhvcNAQEMBQAD
    ggIBADojRD2NCHbuj7w6mdNW4AIapfhINPMstuZ0ZveUcrEAyq9sMCcTEp6QRJ9L
    /Z6jfCbVN7w6XUhtldU/SfQnuxaBRVD9nL22heB2fjdxyyL3WqqQz/WTauPrINHV
    UHmImoqKwba9oUgYftzYgBoRGRjNYZmBVvbJ43bnxOQbX0P4PpT/djk9ntSZz0rd
    KOtfJqGVWEjVGv7XJz/9kNF2ht0csGBc8w2o7uCJob054ThO2m67Np375SFTWsPK
    6Wrxoj7bQ7gzyE84FJKZ9d3OVG3ZXQIUH0AzfAPilbLCIXVzUstG2MQ0HKKlS43N
    b3Y3LIU/Gs4m6Ri+kAewQ3+ViCCCcPDMyu/9KTVcH4k4Vfc3iosJocsL6TEa/y4Z
    XDlx4b6cpwoG1iZnt5LmTl/eeqxJzy6kdJKt2zyknIYf48FWGysj/4+16oh7cGvm
    oLr9Oj9FpsToFpFSi0HASIRLlk2rREDjjfAVKM7t8RhWByovEMQMCGQ8M4+uKIw8
    y4+ICw2/O/TOHnuO77Xry7fwdxPm5yg/rBKupS8ibEH5glwVZsxsDsrFhsP2JjMM
    B0ug0wcCampAMEhLNKhRILutG4UI4lkNbcoFUCvqShyepf2gpx8GdOfy1lKQ/a+F
    SCH5Vzu0nAPthkX0tGFuv2jiJmCG6sivqf6UHedjGzqGVnhO
    -----END CERTIFICATE-----
    -----BEGIN CERTIFICATE-----
    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
    -----END CERTIFICATE-----

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    是否可以将日志放入某些文件服务器(google drive?) 并向我发送指向它的链接?

    我无法下载您上传的文件。 我不确定问题是什么(您应该将其作为文件插入)。  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Kobi、

    您可以找到我的 Google 驱动器文件: https://drive.google.com/drive/folders/1aUmN0eBINrBP5sY_d9TvJp1k9TTCX-8c?usp=sharing

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    文件格式有问题。

    请注意、它应该是二进制文件、而不是 txt。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Kobi、

    之前的数据刚刚从 MAC 中的屏幕终端复制。

    下面的日志是 putty.exe 中的原始日志文件、如数据表中所述。  希望这现在起作用。

      e2e.ti.com/.../CC3235SF_5F00_OTA_5F00_20221020_5F00_141535.log

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    这是可以的。 谢谢。

    我刚才了解到、安全文件签名不能超过256B。 512B 的支持是针对链本身的。 因此、您可以使用内部包含 512B 签名的链、但当您生成自己的私钥和 CSR 时、该链应 包含 较短的密钥、因此图像签名最高可达256B。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    嗨、Kobi。 这是否可以通过服务包更新来支持、或者这是否是硬件限制? 我们使用 DigiCert 提供的代码签名证书、他们更改了有关代码签名证书的策略。 截至五月底、DigiCert 将不再允许您生成小于3072密钥大小.https://knowledge.digicert.com/alerts/code-signing-new-minimum-rsa-keysize.html 的代码签名证书

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    理论上 、这可以由 Service Pack 解决。 我需要仔细检查 是否存在任何限制。

    硬件限制在生产中使用键>2048b (即在加载第一个 SP 之前)。 由于这是我们客户的主要问题、我们建议他们对自己的目录进行编程(请参阅 https://www.ti.com/lit/pdf/swru547)并使用自签名密钥。

    由于服务包可以(理论上)解决您的用例、因此我将提出下一个 SDK 版本的要求。

    当我有更多信息时、我将在这里进行更新。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    BTW。 您需要创建新证书的原因是什么?  您不能 只使用  旧证书?  

    (在代码签名验证期间、我们不会检查日期有效性)。  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我们使用相同的证书来初始化闪存器件并执行 OTA。 我们仍在推出新器件。 如果我记得正确、则在使用 Uniflash 刷写器件时会验证证书的到期日期。 这就是我们需要更新/替换证书的原因。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    不 会检查到期日期以进行代码签名验证(仅在 TLS 期间)。

    您可以使用现有证书。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Kobi、

    由于我们使用 AWS 系统来部署 OTA 更新、因此我们无法在到期日期之后使用证书。

    我们尝试了使用自签名证书的路径。  要使用我们的自签名证书、我们需要更新 OTP 存储器中的证书目录。   

    这在使用 Uniflash 时可以正常工作、但我们无法对已部署的器件执行此操作。   

    对于已部署的器件、我们需要 通过 OTA 提供证书目录。 该文档提到创建 OTA 文件以更新 OTP、但这仅适用于 TI 的 OTA 库、不能与我们现在使用的 AWS OTA 配合使用。

    是否有权变措施可以从器件本身写入 OTP?  

    我们的想法是对我们固件中的证书目录进行硬编码、通过 OTA 将新固件发送到我们的器件、然后使用闪存写入函数将目录写入 OTP 存储器。  是否有任何文档可用于编写和读取 OTP?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    无法使用 OTA 写入 OTP。 仅使用 uniflash。

    但是、我认为在使用 AWS OTA 时不存在阻止使用特定证书的问题。

    据我所记得、他们支持一种接受已签名映像的方法(为映像提供签名)-因此、您可以使用您拥有的任何证书。