Preparar certificados no AWS Certificate Manager - Amazon API Gateway

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
  1. Faça login no console do AWS Certificate Manager.

  2. Selecione Request a certificate.

  3. Em Tipo de certificado, escolha Solicitar um certificado público.

  4. Escolha Próximo.

  5. Em Nome de domínio totalmente qualificado, insira um nome de domínio personalizado para a API, por exemplo api.example.com.

  6. Opcionalmente, escolha Add another name to this certificate.

  7. Em Método de validação, escolha um método para validar a propriedade do domínio.

  8. Em Algoritmo de chave, escolha um algoritmo de criptografia.

  9. Escolha Solicitar.

  10. 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
  1. 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.

    1. 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
    2. 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
    3. Envie a CSR para a autoridade de certificação e salve o certificado resultante.

    4. Baixe a cadeia de certificados da autoridade de certificação.

    nota

    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
  2. Carregue o certificado para o AWS Certificate Manager:

    1. Faça login no console do AWS Certificate Manager.

    2. Selecione Importar um certificado.

    3. 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-----
    4. 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-----
    5. 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-----
    6. 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.