

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

# 為 FreeRTOS Windows 模擬器建立程式碼簽署憑證
<a name="ota-code-sign-cert-win"></a>

FreeRTOS Windows 模擬器需要具有 ECDSA P-256 金鑰和 SHA-256 雜湊的程式碼簽署憑證，才能執行 OTA 更新。若您沒有程式碼簽署憑證，請依照以下步驟來建立。

**注意**  
若要建立程式碼簽署憑證，請在您的機器上安裝 [OpenSSL](https://www.openssl.org/)。在安裝 OpenSSL 後，請確保將 `openssl` 指派給命令提示字元或終端機環境中的 OpenSSL 可執行檔。  
使用 AWS Command Line Interface 將程式碼簽署憑證、私有金鑰和憑證鏈匯入至其中 AWS Certificate Manager。如需安裝 的資訊 AWS CLI，請參閱[安裝 AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-install.html)。

1. 在您的工作目錄中，使用以下文字來建立名為 `cert_config.txt` 的檔案。將 *test\$1signer@amazon.com* 取代為您的電子郵件地址：

   ```
   [ req ]
   prompt             = no
   distinguished_name = my_dn
                       
   [ my_dn ]
   commonName = test_signer@amazon.com
                       
   [ my_exts ]
   keyUsage         = digitalSignature
   extendedKeyUsage = codeSigning
   ```

1. 建立 ECDSA 程式碼簽署私有金鑰：

   ```
   openssl genpkey -algorithm EC -pkeyopt ec_paramgen_curve:P-256 -pkeyopt ec_param_enc:named_curve -outform PEM -out ecdsasigner.key
   ```

1. 建立 ECDSA 程式碼簽署憑證：

   ```
   openssl req -new -x509 -config cert_config.txt -extensions my_exts -nodes -days 365 -key ecdsasigner.key -out ecdsasigner.crt
   ```

1. 將程式碼簽署憑證、私有金鑰和憑證鏈匯入至 AWS Certificate Manager：

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

   此命令會顯示您憑證的 ARN。在建立 OTA 更新任務時，您將需要此 ARN。
**注意**  
此步驟的編寫假設您將使用適用於 的程式碼簽署 AWS IoT 來簽署韌體映像。雖然 AWS IoT 建議使用適用於 的程式碼簽署，但您可以手動簽署韌體映像。