¿Cómo puedo resolver los errores de certificado caducado o de “certificado no válido” al invocar una API de API Gateway con un nombre de dominio personalizado?

Última actualización: 23/09/2022

He configurado un nombre de dominio personalizado para mi API de API Gateway. He recibido un error que indica que el certificado de AWS Certificate Manager (ACM) ha caducado o es un “certificado no válido”. ¿Cómo puedo resolver este error?

Descripción corta

El error de certificado caducado se produce cuando el certificado que se utiliza para crear el nombre de dominio personalizado ha caducado.

El “error certificado no válido” se produce porque el nombre común (CN) o el nombre de sujeto no coinciden en el certificado.

Resolución

Certificados ACM caducados

Si su certificado está caducado, puede recibir un error como el siguiente:

“SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED]”
Para comprobar la caducidad del certificado, ejecute el comando s_client de OpenSSL como se indica a continuación:

openssl s_client -servername <custom domain name> -connect <custom domain name>:443 2>/dev/null | openssl x509 -noout -dates

Para renovar el certificado, consulte Renovación administrada parar certificados de ACM.

Para evitar que los certificados caduquen, consulte How to monitor expirations of imported certificates in ACM (Cómo monitorear la caducidad de los certificados importados en ACM).

Certificados ACM no coincidentes

Si su certificado tiene un CN o un nombre de sujeto no coincidente, puede recibir un error como el que se muestra a continuación:

“ERR_CERT_COMMON_NAME_INVALID”

Confirme la siguiente configuración:

  • El certificado utilizado para crear el nombre de dominio personalizado existe en ACM.
  • El nombre del sujeto del certificado o CN incluye el nombre de dominio personalizado. Por ejemplo, si el nombre de dominio personalizado es custom.example.com, el nombre del asunto o CN debe incluir custom.example.com o *example.com.
  • Asegúrese de que haya un registro DNS que apunte al nombre de dominio personalizado de la API Gateway. El registro DNS puede ser de tipo CNAME o A.

Nota: Los nombres de dominio personalizados no pueden apuntar directamente al punto de conexión execute-api porque el certificado no incluye el dominio personalizado como nombre alternativo del sujeto (SAN).

Configuración de ejemplo:

custom.example.com -> registro CNAME -> d-yg54udirl4.execute-api.us-east-1.amazonaws.com

Puede comprobar su configuración ejecutando el comando dig en su dominio personalizado como se indica a continuación:

$ dig custom.example.com