

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Creazione di un certificato di firma del codice


Per aggiungere una firma digitale alle immagini del firmware, sono necessari una chiave privata e del certificato di firma del codice. A scopo di test, puoi creare un certificato autofirmato e una chiave privata. Per gli ambienti di produzione, acquista un certificato tramite una nota autorità di certificazione (CA).

Piattaforme diverse richiedono tipi diversi di certificati di firma del codice. Le sezioni seguenti descrivono come creare certificati di firma del codice per diverse piattaforme qualificate per FreeRTOS.

**Topics**
+ [

# Creazione di un certificato di firma del codice per Texas Instruments SF-LAUNCHXL CC3220
](ota-code-sign-cert-ti.md)
+ [

# Creazione di un certificato di firma del codice per Espressif ESP32
](ota-code-sign-cert-esp.md)
+ [

# Creazione di un certificato di firma del codice per Nordic nrf52840-dk
](ota-code-sign-cert-nordic.md)
+ [

# Creazione di un certificato di firma del codice per il simulatore Windows FreerTOS
](ota-code-sign-cert-win.md)
+ [

# Creazione di un certificato di firma del codice per l'hardware personalizzato
](ota-code-sign-cert-other.md)

# Creazione di un certificato di firma del codice per Texas Instruments SF-LAUNCHXL CC3220


**Importante**  <a name="deprecation-message"></a>
Questa integrazione di riferimento è ospitata nel repository Amazon-FreeRTOS che è obsoleto. Ti consigliamo di [iniziare da qui quando crei un nuovo progetto](freertos-getting-started-modular.md). Se disponi già di un progetto FreeRTOS esistente basato sull'ormai obsoleto repository Amazon-FreerTOS, consulta il. [Guida alla migrazione del repository Github di Amazon-FreeRTOS](github-repo-migration.md)

Il kit di sviluppo SimpleLink Wi-Fi CC3220 SF Wireless Microcontroller Launchpad supporta due catene di certificati per la firma del codice del firmware:
+ Produzione (certificato-catalogo)

  Per utilizzare la catena di certificati di produzione, è necessario acquistare un certificato di firma del codice commerciale e utilizzare lo [strumento TI Uniflash](http://www.ti.com/tool/UNIFLASH) per impostare la scheda sulla modalità di produzione.
+ Test e sviluppo (certificato-prodotti) 

  La catena di certificati Playground ti consente di provare gli aggiornamenti OTA con un certificato di firma del codice autofirmato.

Utilizzalo AWS Command Line Interface per importare il certificato di firma del codice, la chiave privata e la catena di certificati. AWS Certificate Manager Per ulteriori informazioni, consulta [Installazione di AWS CLI nella](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-install.html) Guida per l'*AWS Command Line Interface utente*.

Scarica e installa l'ultima versione di [SimpleLink CC3220 SDK.](http://www.ti.com/tool/download/SIMPLELINK-CC3220-SDK) Per impostazione predefinita, i file necessari si trovano qui:

`C:\ti\simplelink_cc32xx_sdk_version\tools\cc32xx_tools\certificate-playground` (Windows) 

`/Applications/Ti/simplelink_cc32xx_version/tools/cc32xx_tools/certificate-playground` (macOS)

I certificati nell' SimpleLink CC3220 SDK sono in formato DER. Per creare un certificato di firma del codice autofirmato, è necessario convertirlo in formato PEM.

Segui questi passaggi per creare un certificato di firma del codice che sia collegato alla gerarchia dei certificati di Texas Instruments Playground e soddisfi i criteri di Code Signing. AWS Certificate Manager AWS IoT 

**Nota**  
Per creare un certificato di firma del codice, installare [OpenSSL](https://www.openssl.org/) sul computer. Dopo aver installato OpenSSL, verifica che `openssl` sia assegnato al file eseguibile OpenSSL nel prompt dei comandi o nell'ambiente del terminale.

**Per creare un certificato di firma del codice autofirmato**

1. Utilizzando le autorizzazioni di amministratore, aprire un prompt dei comandi o un terminale.

1. Nella directory di lavoro, utilizzare il testo seguente per creare un file denominato `cert_config.txt`. *test\$1signer@amazon.com*Sostituiscilo con il tuo indirizzo email.

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

1. Creare una chiave privata e una richiesta di firma del certificato (CSR):

   ```
   openssl req -config cert_config.txt -extensions my_exts -nodes -days 365 -newkey rsa:2048 -keyout tisigner.key -out tisigner.csr
   ```

1. Convertire la chiave privata CA radice dei prodotti Texas Instruments dal formato DER al formato PEM.

   La chiave privata CA radice dei prodotti TI si trova qui:

   `C:\ti\simplelink_cc32xx_sdk_version\tools\cc32xx_tools\certificate-playground\dummy-root-ca-cert-key` (Windows) 

   `/Applications/Ti/simplelink_cc32xx_sdk_version/tools/cc32xx_tools/certificate-playground/dummy-root-ca-cert-key` (macOS)

   ```
   openssl rsa -inform DER -in dummy-root-ca-cert-key -out dummy-root-ca-cert-key.pem
   ```

1. Convertire il certificato CA radice dei prodotti Texas Instruments dal formato DER al formato PEM.

   Il certificato CA radice dei prodotti TI si trova qui:

   `C:\ti\simplelink_cc32xx_sdk_version\tools\cc32xx_tools\certificate-playground/dummy-root-ca-cert` (Windows) 

   `/Applications/Ti/simplelink_cc32xx_sdk_version/tools/cc32xx_tools/certificate-playground/dummy-root-ca-cert` (macOS)

   ```
   openssl x509 -inform DER -in dummy-root-ca-cert -out dummy-root-ca-cert.pem
   ```

1. Firmare la CSR con l'autorità di certificazione radice per Texas Instruments:

   ```
   openssl x509 -extfile cert_config.txt -extensions my_exts  -req -days 365 -in tisigner.csr -CA dummy-root-ca-cert.pem -CAkey dummy-root-ca-cert-key.pem -set_serial 01 -out tisigner.crt.pem -sha1
   ```

1. Convertire il certificato di firma del codice (`tisigner.crt.pem`) nel formato DER: 

   ```
   openssl x509 -in tisigner.crt.pem -out tisigner.crt.der -outform DER
   ```
**Nota**  
È possibile scrivere il certificato `tisigner.crt.der` sulla scheda di sviluppo TI successivamente.

1. Importa il certificato di firma del codice, la chiave privata e la catena di certificati in: AWS Certificate Manager

   ```
   aws acm import-certificate --certificate fileb://tisigner.crt.pem --private-key fileb://tisigner.key --certificate-chain fileb://dummy-root-ca-cert.pem
   ```

   Questo comando visualizza un ARN per il certificato. L'ARN sarà necessario al momento della creazione di un processo di aggiornamento OTA.
**Nota**  
Questo passaggio è stato scritto partendo dal presupposto che utilizzerai Code Signing per firmare AWS IoT le immagini del firmware. Sebbene sia consigliato l'uso di Code Signing for, AWS IoT è possibile firmare le immagini del firmware manualmente.

# Creazione di un certificato di firma del codice per Espressif ESP32


**Importante**  <a name="deprecation-message"></a>
Questa integrazione di riferimento è ospitata nel repository Amazon-FreeRTOS che è obsoleto. Ti consigliamo di [iniziare da qui quando crei un nuovo progetto](freertos-getting-started-modular.md). Se disponi già di un progetto FreeRTOS esistente basato sull'ormai obsoleto repository Amazon-FreerTOS, consulta il. [Guida alla migrazione del repository Github di Amazon-FreeRTOS](github-repo-migration.md)

Le schede Espressif supportano un certificato di firma del codice SHA-256 autofirmato con ECDSA ESP32 .

**Nota**  
Per creare un certificato di firma del codice, installare [OpenSSL](https://www.openssl.org/) sul computer. Dopo aver installato OpenSSL, verifica che `openssl` sia assegnato al file eseguibile OpenSSL nel prompt dei comandi o nell'ambiente del terminale.  
Utilizzalo per AWS Command Line Interface importare il certificato di firma del codice, la chiave privata e la catena di certificati. AWS Certificate Manager Per informazioni sull'installazione di AWS CLI, vedere [Installazione](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-install.html) di. AWS CLI

1. Nella directory di lavoro, utilizzare il testo seguente per creare un file denominato `cert_config.txt`. Sostituisci *test\$1signer@amazon.com* con il tuo indirizzo email:

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

1. Creare una chiave privata con firma del codice ECDSA:

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

1. Creare un certificato di firma del codice ECDSA:

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

1. Importa il certificato di firma del codice, la chiave privata e la catena di certificati in: AWS Certificate Manager

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

   Questo comando visualizza un ARN per il certificato. L'ARN sarà necessario al momento della creazione di un processo di aggiornamento OTA.
**Nota**  
Questo passaggio è stato scritto partendo dal presupposto che utilizzerai Code Signing per firmare AWS IoT le immagini del firmware. Sebbene sia consigliato l'uso di Code Signing for, AWS IoT è possibile firmare le immagini del firmware manualmente.

# Creazione di un certificato di firma del codice per Nordic nrf52840-dk


**Importante**  <a name="deprecation-message"></a>
Questa integrazione di riferimento è ospitata nel repository Amazon-FreeRTOS che è obsoleto. Ti consigliamo di [iniziare da qui quando crei un nuovo progetto](freertos-getting-started-modular.md). Se disponi già di un progetto FreeRTOS esistente basato sull'ormai obsoleto repository Amazon-FreerTOS, consulta il. [Guida alla migrazione del repository Github di Amazon-FreeRTOS](github-repo-migration.md)

Il Nordic nrf52840-dk supporta un certificato di firma del codice autofirmato con ECDSA. SHA256 

**Nota**  
Per creare un certificato di firma del codice, installare [OpenSSL](https://www.openssl.org/) sul computer. Dopo aver installato OpenSSL, verifica che `openssl` sia assegnato al file eseguibile OpenSSL nel prompt dei comandi o nell'ambiente del terminale.  
Utilizzalo per importare il certificato di firma del codice, la AWS Command Line Interface chiave privata e la catena di certificati. AWS Certificate Manager Per informazioni sull'installazione di AWS CLI, vedere [Installazione](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-install.html) di. AWS CLI

1. Nella directory di lavoro, utilizzare il testo seguente per creare un file denominato `cert_config.txt`. Sostituisci *test\$1signer@amazon.com* con il tuo indirizzo email:

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

1. Creare una chiave privata con firma del codice ECDSA:

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

1. Creare un certificato di firma del codice ECDSA:

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

1. Importa il certificato di firma del codice, la chiave privata e la catena di certificati in: AWS Certificate Manager

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

   Questo comando visualizza un ARN per il certificato. L'ARN sarà necessario al momento della creazione di un processo di aggiornamento OTA.
**Nota**  
Questo passaggio è stato scritto partendo dal presupposto che utilizzerai Code Signing per firmare AWS IoT le immagini del firmware. Sebbene sia consigliato l'uso di Code Signing for, AWS IoT è possibile firmare le immagini del firmware manualmente.

# Creazione di un certificato di firma del codice per il simulatore Windows FreerTOS


Il simulatore Windows FreerTOS richiede un certificato di firma del codice con una chiave ECDSA P-256 e hash SHA-256 per eseguire gli aggiornamenti OTA. Se non disponi di un certificato di firma del codice, segui queste fasi per crearne uno.

**Nota**  
Per creare un certificato di firma del codice, installare [OpenSSL](https://www.openssl.org/) sul computer. Dopo aver installato OpenSSL, verifica che `openssl` sia assegnato al file eseguibile OpenSSL nel prompt dei comandi o nell'ambiente del terminale.  
Usa il per importare il certificato di firma del codice AWS Command Line Interface , la chiave privata e la catena di certificati in. AWS Certificate Manager Per informazioni sull'installazione di AWS CLI, vedere [Installazione](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-install.html) di. AWS CLI

1. Nella directory di lavoro, utilizzare il testo seguente per creare un file denominato `cert_config.txt`. Sostituisci *test\$1signer@amazon.com* con il tuo indirizzo email:

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

1. Creare una chiave privata con firma del codice ECDSA:

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

1. Creare un certificato di firma del codice ECDSA:

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

1. Importa il certificato di firma del codice, la chiave privata e la catena di certificati in: AWS Certificate Manager

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

   Questo comando visualizza un ARN per il certificato. L'ARN sarà necessario al momento della creazione di un processo di aggiornamento OTA.
**Nota**  
Questo passaggio è stato scritto partendo dal presupposto che utilizzerai Code Signing per firmare AWS IoT le immagini del firmware. Sebbene sia consigliato l'uso di Code Signing for, AWS IoT è possibile firmare le immagini del firmware manualmente.

# Creazione di un certificato di firma del codice per l'hardware personalizzato


Utilizzando un set di strumenti appropriato, è possibile creare una chiave privata e del certificato autofirmato per l'hardware.

Utilizzate il AWS Command Line Interface per importare il certificato di firma del codice, la chiave privata e la catena di certificati. AWS Certificate Manager Per informazioni sull'installazione di AWS CLI, vedere [Installazione](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-install.html) di. AWS CLI

Dopo aver creato il certificato di firma del codice, puoi utilizzarlo AWS CLI per importarlo in ACM:

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

L'output di questo comando visualizza un ARN per il certificato. L'ARN sarà necessario al momento della creazione di un processo di aggiornamento OTA.

ACM richiede certificati per utilizzare algoritmi e dimensioni di chiave specifici. Per ulteriori informazioni, consulta la sezione [Prerequisiti per l'importazione di certificati](https://docs.aws.amazon.com/acm/latest/userguide/import-certificate-prerequisites.html). Per ulteriori informazioni su ACM, consulta [Importazione](https://docs.aws.amazon.com/acm/latest/userguide/import-certificate.html) di certificati in. AWS Certificate Manager

Devi copiare, incollare e formattare il contenuto del tuo certificato di firma del codice nel `vendors/vendor/boards/board/aws_demos/config_files/ota_demo_config.h` file che fa parte del codice FreerTOS che scaricherai in seguito.