Preparar certificados no AWS Certificate Manager
Antes de configurar um nome de domínio personalizado para uma API, você deve ter um certificado SSL/TLS pronto no AWS Certificate Manager. Para obter mais informações, consulte o Guia do usuário do AWS Certificate Manager.
Considerações
Veja a seguir algumas considerações para o certificado SSL/TLS.
-
Se você criar um nome de domínio personalizado otimizado para borda, o API Gateway utilizará o CloudFront no suporte a certificados para nomes de domínio personalizados. Como tal, os requisitos e as restrições de um certificado SSL/TLS de nome de domínio personalizado são determinados pelo CloudFront. Por exemplo, o tamanho máximo da chave pública é 2048, e o tamanho da chave privada pode ser de 1024, 2048 e 4096. O tamanho da chave pública é determinado pela autoridade de certificação que você utiliza. Peça à sua autoridade de certificação que retorne chaves de um tamanho diferente do comprimento padrão. Para obter mais informações, consulte Acesso seguro aos seus objetos e Criar URLs e cookies assinados.
-
Para usar um certificado do ACM com um nome de domínio regional personalizado, é necessário solicitar ou importar o certificado na mesma região da API. O certificado deve ser assinado por uma autoridade de certificação publicamente confiável e abranger o nome de domínio personalizado.
-
Para usar um certificado do ACM com um nome de domínio personalizado otimizado para borda, é necessário solicitar ou importar o certificado na região Leste dos EUA (N. da Virgínia): us-east-1
.
-
É necessário ter um nome de domínio registrado, como example.com
. Você pode usar o Amazon Route 53 ou um registrador de domínios credenciado de terceiros. Para obter uma lista de registradores, consulte o Diretório de registradores acreditados no site da ICANN.
Como criar ou importar um certificado SSL/TLS no ACM
Os procedimentos a seguir mostram como criar ou importar um certificado SSL/TLS para um nome de domínio.
- To request a certificate provided by ACM for a domain name
-
-
Faça login no console do AWS Certificate Manager.
-
Selecione Request a certificate.
-
Em Tipo de certificado, escolha Solicitar um certificado público.
-
Escolha Próximo.
-
Em Nome de domínio totalmente qualificado, insira um nome de domínio personalizado para a API, por exemplo api.example.com
.
-
Opcionalmente, escolha Add another name to this certificate.
Em Método de validação, escolha um método para validar a propriedade do domínio.
-
Em Algoritmo de chave, escolha um algoritmo de criptografia.
-
Escolha Solicitar.
-
Para uma solicitação válida, um proprietário registrado do domínio da Internet deve concordar com a solicitação antes que o ACM emita o certificado. Se você usa o Route 53 para gerenciar registros de DNS públicos, pode atualizar os registros diretamente do console do ACM.
- To import into ACM a
certificate for a domain name
-
Obtenha um certificado SSL/TLS codificado em PEM para seu nome de domínio personalizado de uma autoridade de certificação (CA). Consulte uma lista parcial dessas CAs em Mozilla Included CA List.
-
Gere uma chave privada para o certificado e salve a saída em um arquivo usando o toolkit OpenSSL no site da OpenSSL:
openssl genrsa -out private-key-file
2048
-
Gere uma solicitação de assinatura de certificado (CSR) com a chave privada gerada anteriormente, usando o OpenSSL:
openssl req -new -sha256 -key private-key-file
-out CSR-file
-
Envie a CSR para a autoridade de certificação e salve o certificado resultante.
-
Baixe a cadeia de certificados da autoridade de certificação.
Se você obtiver a chave privada de outra maneira e a chave estiver criptografada, poderá usar o seguinte comando para descriptografar a chave antes de enviá-la ao API Gateway para a configuração de um nome de domínio personalizado.
openssl pkcs8 -topk8 -inform pem -in MyEncryptedKey.pem
-outform pem -nocrypt -out MyDecryptedKey.pem
-
Carregue o certificado para o AWS Certificate Manager:
-
Faça login no console do AWS Certificate Manager.
-
Selecione Importar um certificado.
-
Em Corpo do certificado, insira o corpo do certificado de servidor no formato PEM da autoridade de certificação. Veja a seguir um exemplo abreviado desse tipo de certificado.
-----BEGIN CERTIFICATE-----
EXAMPLECA+KgAwIBAgIQJ1XxJ8Pl++gOfQtj0IBoqDANBgkqhkiG9w0BAQUFADBB
...
az8Cg1aicxLBQ7EaWIhhgEXAMPLE
-----END CERTIFICATE-----
-
Em Chave privada do certificado, insira a chave privada do certificado no formato PEM. Veja a seguir um exemplo abreviado desse tipo de chave.
-----BEGIN RSA PRIVATE KEY-----
EXAMPLEBAAKCAQEA2Qb3LDHD7StY7Wj6U2/opV6Xu37qUCCkeDWhwpZMYJ9/nETO
...
1qGvJ3u04vdnzaYN5WoyN5LFckrlA71+CszD1CGSqbVDWEXAMPLE
-----END RSA PRIVATE KEY-----
-
Em Cadeia de certificados, insira os certificados intermediários no formato PEM e, opcionalmente, o certificado raiz, um após o outro, sem linhas em branco. Se você incluir o certificado raiz, sua cadeia de certificados deverá começar com certificados intermediários e terminar com o certificado raiz. Use os certificados intermediários fornecidos pela sua autoridade de certificação. Não inclua intermediários que não estejam no caminho da cadeia de confiança. O seguinte mostra um exemplo abreviado.
-----BEGIN CERTIFICATE-----
EXAMPLECA4ugAwIBAgIQWrYdrB5NogYUx1U9Pamy3DANBgkqhkiG9w0BAQUFADCB
...
8/ifBlIK3se2e4/hEfcEejX/arxbx1BJCHBvlEPNnsdw8EXAMPLE
-----END CERTIFICATE-----
Aqui está outro exemplo.
-----BEGIN CERTIFICATE-----
Intermediate certificate 2
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
Intermediate certificate 1
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
Optional: Root certificate
-----END CERTIFICATE-----
-
Selecione Próximo e, depois, Próximo.
Depois que o certificado for criado ou importado com êxito, anote o ARN desse certificado. Você precisa dele ao configurar o nome de domínio personalizado.