Preparación de certificados en AWS Certificate Manager - Amazon API Gateway

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Preparación de certificados en AWS Certificate Manager

Antes de configurar un nombre de dominio personalizado para una API, debe disponer de un certificado SSL/TLS listo en AWS Certificate Manager. Esta operación se describe en los siguientes pasos. Para obtener más información, consulte la Guía del usuario de AWS Certificate Manager.

nota

Si desea utilizar un certificado de ACM con un nombre de dominio personalizado optimizado para bordes de API Gateway, debe solicitar o importar el certificado en la región us-east-1 [EE. UU. Este (Norte de Virginia)]. En el caso de los nombres de dominio personalizados para regiones de API Gateway, debe solicitar o importar el certificado en la misma región que la API. El certificado debe estar firmado por una entidad de certificación de confianza pública y cubrir el nombre de dominio personalizado.

Primero, registre su dominio de Internet; por ejemplo, example.com. Puede utilizar Amazon Route 53 o un registrador de dominios de terceros acreditado. Para obtener una lista de registradores, consulte Accredited Registrar Directory en el sitio web de ICANN.

Para crear o importar en ACM un certificado SSL/TLS para un nombre de dominio, realice alguna de las siguientes operaciones:

Para solicitar un certificado proporcionado por ACM para un nombre de dominio
  1. Inicie sesión en la consola de AWS Certificate Manager.

  2. Elija Request a certificate (Solicitar un certificado).

  3. Escriba un nombre de dominio personalizado para la API; por ejemplo api.example.com, en Domain Name (Nombre de dominio).

  4. También puede seleccionar Add another name to this certificate (Añadir otro nombre a este certificado).

  5. Elija Review and request.

  6. Elija Confirm and request.

  7. Para que una solicitud sea válida, un propietario registrado del dominio de Internet debe autorizar la solicitud para que ACM emita el certificado.

Para importar a ACM un certificado para un nombre de dominio
  1. Obtenga un certificado SSL/TLS codificado en PEM para su nombre de dominio personalizado de una entidad de certificación. Para obtener una lista parcial de entidades de certificación, consulte Mozilla Included CA List

    1. Genere una clave privada para el certificado y guarde el resultado en un archivo, utilizando el kit de herramientas de OpenSSL en el sitio web de OpenSSL:

      openssl genrsa -out private-key-file 2048
      nota

      Amazon API Gateway usa Amazon CloudFront para admitir certificados para nombres de dominio personalizados. Por tanto, los requisitos y las restricciones del certificado SSL/TLS de un nombre de dominio personalizado los dicta CloudFront. Por ejemplo, el tamaño máximo de la clave pública es 2048 y la clave privada puede ser 1024, 2048 y 4096. El tamaño de la clave pública se determina en función de la entidad de certificación que utilice. Pida a su entidad de certificación que devuelva claves de un tamaño diferente de la longitud predeterminada. Para obtener más información, consulte Proteger el acceso a los objetos y Creación de URL y cookies firmadas.

    2. Genere una solicitud de firma de certificado (CSR) con la clave privada generada anteriormente, utilizando OpenSSL:

      openssl req -new -sha256 -key private-key-file -out CSR-file
    3. Envíe la CSR a la entidad de certificación y guarde el certificado resultante.

    4. Descargue la cadena de certificados de la entidad de certificación.

    nota

    Si obtiene la clave privada de otra forma y la clave está cifrada, puede utilizar el siguiente comando para descifrar la clave antes de enviarla a API Gateway para que configure un nombre de dominio personalizado.

    openssl pkcs8 -topk8 -inform pem -in MyEncryptedKey.pem -outform pem -nocrypt -out MyDecryptedKey.pem
  2. Cargue el certificado en AWS Certificate Manager:

    1. Inicie sesión en la consola de AWS Certificate Manager.

    2. Seleccione Import a certificate.

    3. En Certificate body (Cuerpo del certificado), introduzca o pegue el cuerpo del certificado del servidor con formato PEM de su entidad de certificación. A continuación se muestra un ejemplo abreviado de dicho certificado.

      -----BEGIN CERTIFICATE----- EXAMPLECA+KgAwIBAgIQJ1XxJ8Pl++gOfQtj0IBoqDANBgkqhkiG9w0BAQUFADBB ... az8Cg1aicxLBQ7EaWIhhgEXAMPLE -----END CERTIFICATE-----
    4. En Certificate private key (Clave privada del certificado), introduzca o pegue la clave privada del certificado con formato PEM. A continuación se muestra un ejemplo abreviado de dicha clave.

      -----BEGIN RSA PRIVATE KEY----- EXAMPLEBAAKCAQEA2Qb3LDHD7StY7Wj6U2/opV6Xu37qUCCkeDWhwpZMYJ9/nETO ... 1qGvJ3u04vdnzaYN5WoyN5LFckrlA71+CszD1CGSqbVDWEXAMPLE -----END RSA PRIVATE KEY-----
    5. En Certificate chain (Cadena de certificados), introduzca o pegue los certificados intermedios con formato PEM y, opcionalmente, el certificado de raíz, uno detrás del otro sin líneas en blanco. Si incluye el certificado raíz, la cadena de certificados debe empezar con los certificados intermedios y terminar con el certificado raíz. Utilice los certificados intermedios proporcionados por la entidad de certificación. No incluya certificados intermedios que no estén en la cadena de la ruta de confianza. A continuación se muestra un ejemplo abreviado.

      -----BEGIN CERTIFICATE----- EXAMPLECA4ugAwIBAgIQWrYdrB5NogYUx1U9Pamy3DANBgkqhkiG9w0BAQUFADCB ... 8/ifBlIK3se2e4/hEfcEejX/arxbx1BJCHBvlEPNnsdw8EXAMPLE -----END CERTIFICATE-----

      Este es otro ejemplo.

      -----BEGIN CERTIFICATE----- Intermediate certificate 2 -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- Intermediate certificate 1 -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- Optional: Root certificate -----END CERTIFICATE-----
    6. Seleccione Review and import.

Una vez que el certificado se haya creado o importado correctamente, anote el ARN del certificado. Lo necesitará cuando configure el nombre de dominio personalizado.