Gerenciar os certificados CA - AWS IoT Core

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

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.

Criar um certificado CA

Se você não tiver um certificado da CA, poderá usar as ferramentas do OpenSSL v1.1.1i 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
  1. Gere um par de chaves.

    openssl genrsa -out root_CA_key_filename.key 2048
  2. 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

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)

nota

Para registrar um certificado da CA no console, inicie no console em Registrar certificado da CA. 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. Uma CA pode ser registrada no modo de várias contas por uma Conta da AWS em uma Região da AWS.

Registrar um certificado CA (CLI)

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.

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_ONLY (CLI) - Recomendado

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 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-certificatena Referência de AWS CLI Comandos.

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

    Se concluído com êxito, esse comando retornará o certificateId.

  2. 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 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-certificatena Referência de AWS CLI Comandos.

Registrar um certificado da CA no modo DEFAULT (CLI)

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 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, useget-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-codena Referência de AWS CLI Comandos.

    aws iot get-registration-code
  2. Gere um par de chaves para o certificado de verificação de chave privada:

    openssl genrsa -out verification_cert_key_filename.key 2048
  3. 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 []:
  4. 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
  5. 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-certificatena Referência de AWS CLI Comandos.

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

    Esse comando retornará o certificateId, se for bem-sucedido.

  6. 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 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-certificatena Referência de AWS CLI Comandos.

Crie um certificado de verificação de CA para registrar o certificado da CA no console

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.

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 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_cert.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
  2. 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_cert.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.

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

  4. 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.

  5. 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_cert.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
  6. 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_cert_filename.pem usado no comando anterior)

Desativar um certificado CA

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 estejaACTIVE. Se o certificado CA forINACTIVE, 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)

Como desativar um certificado CA usando o console do AWS IoT
  1. Faça login no AWS Management Console e abra o AWS IoT console.

  2. No painel de navegação à esquerda, selecione Proteger e CAs.

  3. 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.

  4. 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).

Desativar um certificado CA (CLI)

AWS CLI Fornece o update-ca-certificatecomando para desativar um certificado CA.

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

Use o comando list-certificates-by-ca 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 update-certificate para revogar o certificado de cliente a fim de impedir que ele seja usado.

Use o comando describe-ca-certificate para ver o status do certificado CA.