Gerenciar os certificados CA
Esta seção descreve tarefas comuns para gerenciar seus próprios certificados de autoridade de certificação (CA).
Você poderá registrar a autoridade de certificação (CA) no AWS IoT caso esteja usando certificados de cliente assinados por uma CA que o AWS IoT não reconhece.
Se você quiser que os clientes registrem automaticamente seus certificados de cliente no AWS IoT quando se conectam pela primeira vez, a CA que assinou os certificados de cliente deverá ser registrada no 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
nota
Não é possível executar esse procedimento no console do AWS IoT.
Como criar um certificado da CA usando ferramentas do OpenSSL v1.1.1i
-
Gere um par de chaves.
openssl genrsa -out
root_CA_key_filename.key
2048 -
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 \ -outroot_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 da Amazon. O AWS IoT Core usa certificados da CA para verificar a propriedade dos certificados. Para usar certificados de dispositivo assinados por uma CA que não seja a da Amazon, o certificado da CA deve ser registrado no AWS IoT Core para que 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
Registrar um certificado CA (CLI)
Você pode registrar um certificado da CA no modo DEFAULT
ou SNI_ONLY
. Uma CA pode ser registrada no modo DEFAULT
por uma Conta da AWS em uma Região da AWS. Uma CA pode ser registrada no modo SNI_ONLY
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
. Não é necessário fornecer um certificado de verificação ou acesso à chave privada, e você pode registrar a CA por várias 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
Como registrar um certificado da CA no modo SNI_ONLY
usando a AWS CLI
-
Registre o certificado CA com a AWS IoT. Usando o comando register-ca-certificate, insira o nome do arquivo do certificado da CA. Para obter mais informações, consulte get-certificate
na Referência de comandos da AWS CLI. aws iot register-ca-certificate \ --ca-certificate file://
root_CA_cert_filename.pem
\ --certificate-modeSNI_ONLY
Se concluído com êxito, esse comando retornará o
certificateId
. -
Neste momento, o certificado da CA foi registrado no 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-certificate
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
Como registrar um certificado da CA no modo DEFAULT
usando a AWS CLI
-
Para obter um código de registro do AWS IoT, use get-registration-code. Salve o
registrationCode
retornado para usar como oCommon Name
do certificado de verificação da chave privada. Para obter mais informações, consulte get-registration-codena Referência de comandos da AWS CLI. aws iot get-registration-code
-
Gere um par de chaves para o certificado de verificação de chave privada:
openssl genrsa -out
verification_cert_key_filename.key
2048 -
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 oregistrationCode
retornado por get-registration-code.openssl req -new \ -key
verification_cert_key_filename.key
\ -outverification_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 []: -
Use uma CSR para criar o certificado de verificação de chave privada.
openssl x509 -req \ -in
verification_cert_csr_filename.csr
\ -CAroot_CA_cert_filename.pem
\ -CAkeyroot_CA_key_filename.key
\ -CAcreateserial \ -outverification_cert_filename.pem
\ -days 500 -sha256 -
Registre o certificado CA com a 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 get-certificate
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 retornará o
certificateId
, se for bem-sucedido. -
Neste momento, o certificado da CA foi registrado no 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-certificate
Crie um certificado de verificação de CA para registrar o certificado da CA no console
nota
Esse procedimento só deverá ser usado se você estiver registrando um certificado da CA no console do AWS IoT.
Se você não chegou a esse procedimento a partir do console do AWS IoT, inicie o processo de registro do certificado da CA no console em Registrar certificado da 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
-
Substitua
pelo nome do arquivo da chave do certificado de verificação que você deseja criar (por exemplo,verification_cert_key_filename.key
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 -
Substitua
pelo nome do arquivo da chave criado na etapa 1.verification_cert_key_filename.key
Substitua
pelo nome do arquivo de solicitação de assinatura de certificado (CSR) que você deseja criar. Por exemplo,verification_cert_csr_filename.csr
verification_cert.csr
.Execute esse comando para criar o arquivo CRS.
openssl req -new \ -key
verification_cert_key_filename.key
\ -outverification_cert_csr_filename.csr
O comando solicita que você forneça informações adicionais que serão explicadas posteriormente.
-
No console do AWS IoT, no contêiner do Certificado de verificação, copie o código de registro.
-
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.
-
Substitua o
peloverification_cert_csr_filename.csr
que você usou na etapa anterior.verification_cert_csr_filename.csr
Substitua
pelo nome do arquivo do certificado da CA que você deseja registrar.root_CA_cert_filename.pem
Substitua
pelo nome do arquivo da chave privada do certificado da CA.root_CA_key_filename.key
Substitua
pelo nome do arquivo do certificado de verificação que você deseja criar. Por exemplo,verification_cert_filename.pem
verification_cert.pem
.openssl x509 -req \ -in
verification_cert_csr_filename.csr
\ -CAroot_CA_cert_filename.pem
\ -CAkeyroot_CA_key_filename.key
\ -CAcreateserial \ -outverification_cert_filename.pem
\ -days 500 -sha256 -
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 (
usado no comando anterior)root_CA_cert_filename.pem
-
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 certificado de cliente, o AWS IoT verifica o certificado da CA a fim de verificar se a CA está ACTIVE
. Se o certificado CA estiver INACTIVE
, o AWS IoT não permitirá que o certificado de 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
-
Faça login no AWS Management Console e abra o console do AWS IoT
. -
No painel de navegação à esquerda, selecione Proteger e CAs.
-
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.
-
No menu de opções, selecione Desativar.
A autoridade de certificação deve aparecer como Inativa na lista.
nota
O console do AWS IoT 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)
A AWS CLI fornece o comando update-ca-certificate
aws iot update-ca-certificate \ --certificate-id
certificateId
\ --new-status INACTIVE
Use o comando list-certificates-by-ca
Use o comando describe-ca-certificate