Soluciona problemas con los certificados SSL

Los procedimientos para solucionar problemas varían en función del uso de certificados SSL administrados por Google o certificados SSL autoadministrados.

Solución de problemas de certificados administrados por Google

Existen dos tipos de estado para los certificados administrados por Google:

  • Estado administrado
  • Estado de los dominios

Estado administrado

Para verificar el estado del certificado, ejecuta el siguiente comando:

gcloud beta compute ssl-certificates describe CERTIFICATE_NAME \
    --global \
    --format="get(name,managed.status)"

Los valores del estado administrado son los siguientes:

Estado administrado Explicación
PROVISIONING Se creó el certificado administrado por Google, y Google Cloud está trabajando con la autoridad certificada para firmarlo.
El aprovisionamiento de un certificado administrado por Google puede tomar hasta 60 minutos.

Si el certificado permanece en el estado APROVISIONAMIENTO, asegúrate de que el certificado correcto esté asociado con el proxy de destino. Para verificar esto, ejecuta el comando gcloud compute target-https-proxies describe o gcloud compute target-ssl-proxies describe.
ACTIVE El certificado SSL administrado por Google se obtiene de la autoridad certificada. Puede tomar unos 30 minutos adicionales que el certificado esté disponible para que lo use un balanceador de cargas.
PROVISIONING_FAILED Es posible que veas PROVISIONING_FAILED de forma breve, incluso si el estado del certificado es, en realidad, ACTIVE. Vuelve a comprobar el estado.

Si el estado sigue siendo PROVISIONING_FAILED, se creó el certificado administrado por Google, pero la autoridad certificadora no puede firmarlo. Verifica que completaste todos los pasos en Usa certificados SSL administrados por Google.

Google Cloud reintenta el aprovisionamiento hasta que lo logra o hasta que el estado cambia a PROVISIONING_FAILED_PERMANENTLY.
PROVISIONING_FAILED_PERMANENTLY Se creó el certificado administrado por Google, pero la autoridad certificada no puede firmarlo debido a un problema de configuración del balanceador de cargas o del DNS. En este estado, Google Cloud no reintenta el aprovisionamiento.

Crea un certificado SSL de reemplazo administrado por Google y asegúrate de que el reemplazo esté asociado con el proxy de destino del balanceador de cargas. Verifica o completa todos los pasos en Usa certificados SSL administrados por Google. Luego, puedes borrar el certificado que falló en el aprovisionamiento de forma permanente.
RENEWAL_FAILED

No se pudo completar la renovación del certificado administrado por Google debido a un problema con el balanceador de cargas o la configuración de DNS. Si alguno de los dominios o subdominios de un certificado administrado no apunta a la dirección IP del balanceador de cargas mediante un registro A/AAAA, el proceso de renovación falla. El certificado existente seguirá entregando, pero caducará en breve. Verifica la configuración.

Si el estado sigue siendo RENEWAL_FAILED, aprovisiona un certificado nuevo, cambia al certificado nuevo y borra el certificado anterior.

Para obtener más información sobre la renovación de certificados, consulta Renovación de certificados SSL administrados por Google.

Estado de los dominios

Para verificar el estado del dominio, ejecuta el siguiente comando:

gcloud beta compute ssl-certificates describe CERTIFICATE_NAME \
    --global \
    --format="get(managed.domainStatus)"

Los valores del estado del dominio se describen en esta tabla.

Estado de los dominios Explicación
PROVISIONING El certificado administrado por Google se crea para el dominio. Google Cloud está trabajando con la autoridad certificada para firmar el certificado.
El aprovisionamiento de un certificado administrado por Google puede tomar hasta 60 minutos.
ACTIVE El certificado SSL administrado por Google se obtiene de la autoridad certificada. El aprovisionamiento de este dominio se completó. Puede tomar unos 30 minutos adicionales que el certificado esté disponible para que lo use un balanceador de cargas.
FAILED_NOT_VISIBLE

No se pudo aprovisionar el certificado para el dominio. Cualquiera de los siguientes puede ser el problema:

FAILED_CAA_CHECKING Se produjo un error en el aprovisionamiento del certificado debido a un problema de configuración con el registro de CAA del dominio. Asegúrate de haber seguido el procedimiento correcto.
FAILED_CAA_FORBIDDEN Se produjo un error en el aprovisionamiento del certificado porque el registro de CAA del dominio no especifica una CA que Google Cloud deba usar. Asegúrate de haber seguido el procedimiento correcto.
FAILED_RATE_LIMITED Se produjo un error en el aprovisionamiento del certificado porque una autoridad certificada tiene un límite de frecuencia de solicitudes de firma de certificados. Puedes aprovisionar un certificado nuevo, cambiar al certificado nuevo y borrar el certificado anterior, o puedes comunicarte con el equipo de asistencia de Google Cloud.

Renovación del certificado administrado

Si alguno de los dominios o subdominios de un certificado administrado no dirige a la dirección IP del balanceador de cargas, el proceso de renovación falla. Para evitar que falle la renovación, asegúrate de que todos los dominios y los subdominios apunten a la dirección IP del balanceador de cargas.

Soluciona problemas de certificados SSL autoadministrados

El certificado no se puede analizar

Google Cloud requiere certificados en formato PEM. Si el certificado tiene formato PEM, verifica lo siguiente:

Puedes validar el certificado mediante el siguiente comando de OpenSSL y reemplazar CERTIFICATE_FILE por la ruta al archivo del certificado:

openssl x509 -in CERTIFICATE_FILE -text -noout

Si OpenSSL no puede analizar tu certificado, haz lo siguiente:

Falta el nombre común o el nombre alternativo del asunto

Google Cloud requiere que el certificado tenga un nombre común (CN) o un nombre alternativo de la entidad (SAN). Consulta la sección Crea una CSR para obtener más información.

Si ninguno de estos atributos está presente, Google Cloud muestra un mensaje de error como el siguiente cuando intentas crear un certificado autoadministrado:

ERROR: (gcloud.compute.ssl-certificates.create) Could not fetch resource:
 - The SSL certificate is missing a Common Name(CN) or Subject Alternative
   Name(SAN).

La clave privada no se puede analizar

Google Cloud requiere claves privadas con formato PEM que cumplan con los criterios de clave privada.

Puedes validar la clave privada mediante el siguiente comando de OpenSSL, en el que debes reemplazar PRIVATE_KEY_FILE por la ruta a la clave privada:

    openssl rsa -in PRIVATE_KEY_FILE -check

Las siguientes respuestas indican un problema con tu clave privada:

  • unable to load Private Key
  • Expecting: ANY PRIVATE KEY
  • RSA key error: n does not equal p q
  • RSA key error: d e not congruent to 1
  • RSA key error: dmp1 not congruent to d
  • RSA key error: dmq1 not congruent to d
  • RSA key error: iqmp not inverse of q

Para solucionar el problema, debes crear una clave privada y un certificado nuevos.

Claves privadas con frases de contraseña

Si OpenSSL solicita una frase de contraseña, deberás quitar la frase de contraseña de la clave privada para poder usarla con Google Cloud. Puedes usar el siguiente comando de OpenSSL:

openssl rsa -in PRIVATE_KEY_FILE \
    -out REPLACEMENT_PRIVATE_KEY_FILE

Reemplaza los marcadores de posición por valores válidos:

  • PRIVATE_KEY_FILE: Es la ruta a la clave privada protegida por una frase de contraseña.
  • REPLACEMENT_PRIVATE_KEY_FILE: Es una ruta de archivo en la que deseas guardar una copia de la clave privada como texto simple.

Vencimiento de certificados intermedios

Si un certificado intermedio vence antes que el certificado del servidor (de entidad final), esto podría indicar que la CA no sigue las prácticas recomendadas.

Cuando un certificado intermedio caduca, es posible que el certificado de entidad final usado en Google Cloud no sea válido. Esto depende del cliente SSL, de la siguiente manera:

  • Algunos clientes SSL solo miran la hora de vencimiento del certificado de entidad final e ignoran los certificados intermedios vencidos.
  • Algunos clientes SSL tratan una cadena con certificados intermedios vencidos como no válida y muestran una advertencia.

Para solucionar este problema, sigue estos pasos:

  1. Espere a que la CA cambie a un nuevo certificado intermedio.
  2. Solicítales un nuevo certificado.
  3. Vuelve a subir el certificado nuevo con las claves nuevas.

La CA también puede permitir la firma cruzada para certificados intermedios. Consulta con la CA para confirmar.

El exponente público de RSA es demasiado grande.

El siguiente mensaje de error aparece cuando el exponente público de RSA es mayor que 65537. Asegúrate de usar 65537, como se especifica en RFC 4871.

ERROR: (gcloud.compute.ssl-certificates.create) Could not fetch resource:
 - The RSA public exponent is too large.