

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Gerenciar os certificados CA
<a name="manage-your-CA-certs"></a>

Esta seção descreve tarefas comuns para gerenciar seus próprios certificados de autoridade de certificação (CA).

Você pode registrar sua autoridade de certificação (CA) AWS IoT se estiver usando certificados de cliente assinados por uma CA que AWS IoT não reconhece.

Se você quiser que os clientes registrem automaticamente seus certificados de cliente AWS IoT quando se conectarem pela primeira vez, a CA que assinou os certificados de cliente deve estar registrada AWS IoT. Caso contrário, não é necessário registrar o certificado CA que assinou os certificados de cliente.

**nota**  
Um certificado da CA pode ser registrado no modo `DEFAULT` por apenas uma conta em uma região. Um certificado da CA pode ser registrado no modo `SNI_ONLY` por várias contas em uma região.

**Topics**
+ [Criar um certificado CA](#create-your-CA-cert)
+ [Registrar o certificado CA](#register-CA-cert)
+ [Desativar um certificado CA](#deactivate-ca-cert)

## Criar um certificado CA
<a name="create-your-CA-cert"></a>

Se você não tiver um certificado da CA, poderá usar as ferramentas do [OpenSSL v1.1.1i](https://www.openssl.org/) para criar um.

**nota**  
Você não pode realizar esse procedimento no AWS IoT console.

**Como criar um certificado da CA usando ferramentas do [OpenSSL v1.1.1i](https://www.openssl.org/)**

1. Gere um par de chaves.

   ```
   openssl genrsa -out root_CA_key_filename.key 2048
   ```

1. Use a chave privada do par de chaves para gerar um certificado CA.

   ```
   openssl req -x509 -new -nodes \
       -key root_CA_key_filename.key \
       -sha256 -days 1024 \
       -out root_CA_cert_filename.pem
   ```

## Registrar o certificado CA
<a name="register-CA-cert"></a>

Esses procedimentos descrevem como registrar um certificado de uma autoridade de certificação (CA) que não seja a CA da Amazon. AWS IoT Core usa certificados CA para verificar a propriedade dos certificados. Para usar certificados de dispositivo assinados por uma CA que não seja a CA da Amazon, você deve registrar o certificado da CA AWS IoT Core para que ela possa verificar a propriedade do certificado do dispositivo.

### Registrar um certificado CA (console)
<a name="register-CA-cert-console"></a>

**nota**  
Para registrar um certificado da CA no console, inicie no console em [Registrar certificado da CA](https://console.aws.amazon.com//iot/home#/create/cacertificate). Você pode registrar sua CA no modo de várias contas e sem a necessidade de fornecer um certificado de verificação ou acesso à chave privada. Uma CA pode ser registrada no modo de várias contas por várias Contas da AWS na mesma Região da AWS. Você pode registrar sua CA no modo de conta única fornecendo um certificado de verificação e comprovante de propriedade da chave privada da CA.

### Registrar um certificado CA (CLI)
<a name="register-CA-cert-cli"></a>

Você pode registrar um certificado da CA no modo `DEFAULT` ou `SNI_ONLY`. Uma CA pode ser registrada no `DEFAULT` modo um Conta da AWS em um Região da AWS. Uma CA pode ser registrada no `SNI_ONLY` modo por várias Contas da AWS na mesma Região da AWS. Para obter mais informações sobre o modo de certificado da CA, consulte [certificateMode](https://docs.aws.amazon.com//iot/latest/apireference/API_CACertificateDescription.html#iot-Type-CACertificateDescription-certificateMode).

**nota**  
Recomendamos que você registre uma CA no modo `SNI_ONLY`. Você não precisa fornecer um certificado de verificação ou acesso à chave privada e pode registrar a CA por várias vezes Contas da AWS na mesma Região da AWS.

#### Registrar um certificado da CA no modo SNI\$1ONLY (CLI) - Recomendado
<a name="register-CA-cert-SNI-cli"></a>

**Pré-requisitos**

Certifique-se de que você tenha o seguinte no seu computador antes de continuar:
+ O arquivo de certificado da CA raiz (referenciado no exemplo a seguir como `root_CA_cert_filename.pem`)
+ O [OpenSSL v1.1.1i](https://www.openssl.org/) ou mais recente

**Para registrar um certificado CA no `SNI_ONLY` modo usando o AWS CLI**

1. Registre o certificado CA com AWS IoT. Usando o comando **register-ca-certificate**, insira o nome do arquivo do certificado da CA. Para obter mais informações, consulte [register-ca-certificate](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iot/register-ca-certificate.html) na *Referência de comandos da AWS CLI *.

   ```
   aws iot register-ca-certificate \
       --ca-certificate file://root_CA_cert_filename.pem \
       --certificate-mode SNI_ONLY
   ```

   Se for bem-sucedido, esse comando retornará *certificateId* o.

1. Neste ponto, o certificado CA foi registrado, AWS IoT mas está inativo. O certificado da CA deve ser ativado antes do registro de qualquer certificado de cliente assinado por ele.

   Esta etapa ativa o certificado CA.

   Para ativar o certificado da CA, use o comando **update-certificate** da seguinte forma. Para obter mais informações, consulte [update-certificate](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iot/update-certificate.html) na *Referência de comandos da AWS CLI *.

   ```
   aws iot update-ca-certificate \
       --certificate-id certificateId \
       --new-status ACTIVE
   ```

Para ver o status do certificado da CA, use o comando **describe-ca-certificate**. Para obter mais informações, consulte [describe-ca-certificate](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iot/describe-ca-certificate.html) na *Referência de comandos da AWS CLI *.

#### Registrar um certificado da CA no modo `DEFAULT` (CLI)
<a name="register-CA-cert-default-cli"></a>

**Pré-requisitos**

Certifique-se de que você tenha o seguinte no seu computador antes de continuar:
+ O arquivo de certificado da CA raiz (referenciado no exemplo a seguir como `root_CA_cert_filename.pem`)
+ O arquivo de chave privada do certificado da CA raiz (referenciado no exemplo a seguir como `root_CA_key_filename.key`)
+ O [OpenSSL v1.1.1i](https://www.openssl.org/) ou mais recente

**Para registrar um certificado CA no `DEFAULT` modo usando o AWS CLI**

1. Para obter um código de registro de AWS IoT, use**get-registration-code**. Salve o `registrationCode` retornado para usar como o `Common Name` do certificado de verificação da chave privada. Para obter mais informações, consulte [get-registration-code](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iot/get-registration-code.html) na *Referência de comandos da AWS CLI *.

   ```
   aws iot get-registration-code
   ```

1. Gere um par de chaves para o certificado de verificação de chave privada:

   ```
   openssl genrsa -out verification_cert_key_filename.key 2048
   ```

1. Crie uma solicitação de assinatura de certificado (CSR) para o certificado de verificação da chave privada. Defina o campo `Common Name` do certificado como o `registrationCode` retornado por **get-registration-code**.

   ```
   openssl req -new \
       -key verification_cert_key_filename.key \
       -out verification_cert_csr_filename.csr
   ```

   Você será solicitado a fornecer algumas informações, incluindo o `Common Name` para o certificado.

   ```
   You are about to be asked to enter information that will be incorporated
   into your certificate request.
   What you are about to enter is what is called a Distinguished Name or a DN.
   There are quite a few fields but you can leave some blank
   For some fields there will be a default value,
   If you enter '.', the field will be left blank.
   -----
   Country Name (2 letter code) [AU]:
       State or Province Name (full name) []:
       Locality Name (for example, city) []:
       Organization Name (for example, company) []:
       Organizational Unit Name (for example, section) []:
       Common Name (e.g. server FQDN or YOUR name) []:your_registration_code
       Email Address []:
   
       Please enter the following 'extra' attributes
       to be sent with your certificate request
       A challenge password []:
       An optional company name []:
   ```

1. Use uma CSR para criar o certificado de verificação de chave privada.

   ```
   openssl x509 -req \
       -in verification_cert_csr_filename.csr \
       -CA root_CA_cert_filename.pem \
       -CAkey root_CA_key_filename.key \
       -CAcreateserial \
       -out verification_cert_filename.pem \
       -days 500 -sha256
   ```

1. Registre o certificado CA com AWS IoT. Transmita o nome do arquivo do certificado da CA e o nome do arquivo do certificado de verificação da chave privada para o comando **register-ca-certificate**, da seguinte maneira. Para obter mais informações, consulte [register-ca-certificate](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iot/register-ca-certificate.html) na *Referência de comandos da AWS CLI *.

   ```
   aws iot register-ca-certificate \
       --ca-certificate file://root_CA_cert_filename.pem \
       --verification-cert file://verification_cert_filename.pem
   ```

   Esse comando retorna o*certificateId*, se for bem-sucedido.

1. Neste momento, o certificado CA foi registrado AWS IoT , mas não está ativo. O certificado da CA deve ser ativado antes do registro de qualquer certificado de cliente assinado por ele.

   Esta etapa ativa o certificado CA.

   Para ativar o certificado da CA, use o comando **update-certificate** da seguinte forma. Para obter mais informações, consulte [update-certificate](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iot/update-certificate.html) na *Referência de comandos da AWS CLI *.

   ```
   aws iot update-ca-certificate \
       --certificate-id certificateId \
       --new-status ACTIVE
   ```

Para ver o status do certificado da CA, use o comando **describe-ca-certificate**. Para obter mais informações, consulte [describe-ca-certificate](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iot/describe-ca-certificate.html) na *Referência de comandos da AWS CLI *.

### Crie um certificado de verificação de CA para registrar o certificado da CA no console
<a name="create-CA-verification-cert"></a>

**nota**  
Esse procedimento só deve ser usado se você estiver registrando um certificado CA no AWS IoT console.  
Se você não chegou a esse procedimento a partir do AWS IoT console, inicie o processo de registro do certificado CA no console em [Registrar certificado CA](https://console.aws.amazon.com//iot/home#/create/cacertificate). 

Certifique-se de que você tenha o seguinte no mesmo computador antes de continuar:
+ O arquivo de certificado da CA raiz (referenciado no exemplo a seguir como `root_CA_cert_filename.pem`)
+ O arquivo de chave privada do certificado da CA raiz (referenciado no exemplo a seguir como `root_CA_key_filename.key`)
+ O [OpenSSL v1.1.1i](https://www.openssl.org/) ou mais recente

**Como usar a interface de linha de comando para criar um certificado de verificação de CA a fim de registrar seu certificado da CA no console**

1. Substitua `verification_cert_key_filename.key` pelo nome do arquivo da chave do certificado de verificação que você deseja criar (por exemplo, **verification\$1cert.key**). Em seguida, execute esse comando para gerar um par de chaves para o certificado de verificação de chave privada:

   ```
   openssl genrsa -out verification_cert_key_filename.key 2048
   ```

1. Substitua `verification_cert_key_filename.key` pelo nome do arquivo da chave criado na etapa 1.

   Substitua `verification_cert_csr_filename.csr` pelo nome do arquivo de solicitação de assinatura de certificado (CSR) que você deseja criar. Por exemplo, .**verification\$1cert.csr**

   Execute esse comando para criar o arquivo CRS.

   ```
   openssl req -new \
       -key verification_cert_key_filename.key \
       -out verification_cert_csr_filename.csr
   ```

   O comando solicita que você forneça informações adicionais que serão explicadas posteriormente.

1. No AWS IoT console, no contêiner do **certificado de verificação**, copie o código de registro.

1. As informações solicitadas pelo comando **openssl** são mostradas no exemplo a seguir. Com exceção do campo `Common Name`, você pode inserir seus próprios valores ou mantê-los em branco.

   No campo `Common Name`, cole o código de registro que você copiou na etapa anterior.

   ```
   You are about to be asked to enter information that will be incorporated
   into your certificate request.
   What you are about to enter is what is called a Distinguished Name or a DN.
   There are quite a few fields but you can leave some blank
   For some fields there will be a default value,
   If you enter '.', the field will be left blank.
   -----
   Country Name (2 letter code) [AU]:
       State or Province Name (full name) []:
       Locality Name (for example, city) []:
       Organization Name (for example, company) []:
       Organizational Unit Name (for example, section) []:
       Common Name (e.g. server FQDN or YOUR name) []:your_registration_code
       Email Address []:
   
       Please enter the following 'extra' attributes
       to be sent with your certificate request
       A challenge password []:
       An optional company name []:
   ```

   Depois de terminar, o comando cria o arquivo CSR.

1. Substitua o `verification_cert_csr_filename.csr` pelo `verification_cert_csr_filename.csr` que você usou na etapa anterior.

   Substitua `root_CA_cert_filename.pem` pelo nome do arquivo do certificado da CA que você deseja registrar.

   Substitua `root_CA_key_filename.key` pelo nome do arquivo da chave privada do certificado da CA.

   Substitua `verification_cert_filename.pem` pelo nome do arquivo do certificado de verificação que você deseja criar. Por exemplo, .**verification\$1cert.pem**

   ```
   openssl x509 -req \
       -in verification_cert_csr_filename.csr \
       -CA root_CA_cert_filename.pem \
       -CAkey root_CA_key_filename.key \
       -CAcreateserial \
       -out verification_cert_filename.pem \
       -days 500 -sha256
   ```

1. Depois que o comando OpenSSL for concluído, você deverá ter esses arquivos prontos para uso quando retornar ao console.
   + Seu arquivo de certificado da CA (`root_CA_cert_filename.pem` usado no comando anterior)
   + O certificado de verificação que você criou na etapa anterior (*verification\$1cert\$1filename.pem*usado no comando anterior)

## Desativar um certificado CA
<a name="deactivate-ca-cert"></a>

Quando um certificado de autoridade de certificação (CA) está habilitado para registro automático de certificados de clientes, AWS IoT verifica o certificado CA para garantir que a CA esteja`ACTIVE`. Se o certificado CA for`INACTIVE`, AWS IoT não permite que o certificado do cliente seja registrado.

Ao definir o certificado da CA como `INACTIVE`, você impede que os novos certificados de cliente emitidos pela CA sejam registrados automaticamente.

**nota**  
Qualquer certificado de cliente registrado que foi assinado pelo certificado CA comprometido continuará a funcionar até que você revogue explicitamente cada um deles.

### Desativar um certificado CA (console)
<a name="deactivate-ca-cert-console"></a>

**Para desativar um certificado CA usando o console AWS IoT**

1. Faça login no Console de gerenciamento da AWS e abra o [AWS IoT console](https://console.aws.amazon.com/iot/home).

1. No painel de navegação esquerdo, escolha **Seguro**, escolha **CAs**.

1. Na lista de autoridades de certificação, localize a que pretende desativar e selecione o ícone de reticências para abrir o menu de opções.

1. No menu de opções, selecione **Desativar**.

A autoridade de certificação deve aparecer como **Inativa** na lista.

**nota**  
O AWS IoT console não fornece uma maneira de listar os certificados que foram assinados pela CA que você desativou. Para obter uma opção da AWS CLI para listar esses certificados, consulte [Desativar um certificado CA (CLI)](#deactivate-ca-cert-cli).

### Desativar um certificado CA (CLI)
<a name="deactivate-ca-cert-cli"></a>

 AWS CLI Fornece o [https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iot/update-ca-certificate.html](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iot/update-ca-certificate.html)comando para desativar um certificado CA.

```
aws iot update-ca-certificate \
    --certificate-id certificateId \
    --new-status INACTIVE
```

Use o comando [https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iot/list-certificates-by-ca.html](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iot/list-certificates-by-ca.html) para obter uma lista de todos os certificados de cliente registrados que foram assinados pela CA especificada. Para cada certificado de cliente assinado pelo certificado CA especificado, use o comando [https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iot/update-certificate.html](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iot/update-certificate.html) para revogar o certificado de cliente a fim de impedir que ele seja usado.

Use o comando [https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iot/describe-ca-certificate.html](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iot/describe-ca-certificate.html) para ver o status do certificado CA.