Solucionar problemas con los certificados SSL

Los procedimientos para solucionar problemas dependen del tipo de certificados SSL que se usen.

Soluciona problemas de certificados SSL autoadministrados

En esta guía, se describe cómo solucionar problemas de configuración para certificados SSL autoadministrados.

El certificado no se puede analizar

Trusted 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 de la entidad

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

Si ninguno de estos atributos está presente, Trusted 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

Trusted 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 Trusted 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: la ruta de acceso en la que deseas guardar una copia de la clave privada como texto sin formato.

Vencimiento de certificados intermedios

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

Cuando un certificado intermedio caduca, es posible que el certificado de entidad final usado enTrusted 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 AC 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.

Quita el certificado SSL del proxy de destino

En los siguientes pasos, se demuestra cómo quitar un solo certificado SSL adjunto al proxy https de destino:

  1. Exporta el proxy de destino https a un archivo temporal.

    gcloud compute target-https-proxies export TARGET_PROXY_NAME > /tmp/proxy
    
  2. Edita el archivo /tmp/proxy y quita las siguientes líneas:

    sslCertificates:
    -   https://www.googleapis.com/compute/v1/projects/...
    
  3. Importa el archivo /tmp/proxy:

    gcloud compute target-https-proxies import TARGET_PROXY_NAME \
       --source=/tmp/proxy
    
  4. Borra el certificado SSL (opcional).

    gcloud compute ssl-certificates delete SSL_CERT_NAME
    

Reemplaza lo siguiente:

  • TARGET_PROXY_NAME: el nombre del proxy HTTPS de destino.
  • SSL_CERT_NAME: es el nombre del certificado SSL.