為 Espressif ESP32 建立程式碼簽署憑證 - FreeRTOS

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

為 Espressif ESP32 建立程式碼簽署憑證

重要

此參考集成託管在亞馬遜的 Freertos 存儲庫上,該存儲庫已被棄用。我們建議您在建立新專案時從這裡開始。如果您已經有一個現有的 FreeRTOS 專案以目前已取代的亞馬遜免費伺服器儲存庫為基礎,請參閱. 亞馬遜自由 Github 存儲庫遷移指南

Espressif ESP32 主機板支援使用 ECDSA 程式碼簽署憑證的自我簽署 SHA256。

注意

若要建立程式碼簽署的憑證,請在您的機器上安裝 OpenSSL。在安裝 OpenSSL 後,請確保將 openssl 指派給命令提示字元或終端機環境中的 OpenSSL 可執行檔。

使用 AWS Command Line Interface 來將程式碼簽署憑證、私密金鑰及憑證鏈匯入至 AWS Certificate Manager。如需安裝 AWS CLI 的相關資訊,請參閱安裝 AWS CLI

  1. 在您的工作目錄中,使用以下文字來建立名為 cert_config.txt 的檔案。將 test_signer@amazon.com 取代為您的電子郵件地址:

    [ req ] prompt = no distinguished_name = my_dn [ my_dn ] commonName = test_signer@amazon.com [ my_exts ] keyUsage = digitalSignature extendedKeyUsage = codeSigning
  2. 建立 ECDSA 程式碼簽署私有金鑰:

    openssl genpkey -algorithm EC -pkeyopt ec_paramgen_curve:P-256 -pkeyopt ec_param_enc:named_curve -outform PEM -out ecdsasigner.key
  3. 建立 ECDSA 程式碼簽署憑證:

    openssl req -new -x509 -config cert_config.txt -extensions my_exts -nodes -days 365 -key ecdsasigner.key -out ecdsasigner.crt
  4. 將程式碼簽署憑證、私有金鑰及憑證鏈匯入 AWS Certificate Manager:

    aws acm import-certificate --certificate fileb://ecdsasigner.crt --private-key fileb://ecdsasigner.key

    此命令會顯示您憑證的 ARN。在建立 OTA 更新任務時,您將需要此 ARN。

    注意

    在此撰寫的步驟假設您要使用適用於 AWS IoT 的程式碼簽署來簽署您的韌體映像。雖然建議使用適用於 AWS IoT 的程式碼簽署,但您也可以手動簽署您的韌體映像。