Résoudre les problèmes liés aux certificats SSL

Les procédures de dépannage dépendent du type de certificats SSL utilisés.

Résoudre les problèmes liés aux certificats SSL autogérés

Ce guide explique comment résoudre les problèmes de configuration des certificats SSL autogérés.

Impossible d'analyser le certificat

Trusted Cloud nécessite des certificats au format PEM. Si le certificat est au format PEM, vérifiez les éléments suivants :

Vous pouvez valider votre certificat à l'aide de la commande OpenSSL suivante, en remplaçant CERTIFICATE_FILE par le chemin d'accès au fichier de certificat :

openssl x509 -in CERTIFICATE_FILE -text -noout

Si OpenSSL ne parvient pas à analyser votre certificat, procédez comme suit :

Nom courant ou autre nom d'objet manquant

Trusted Cloud requiert que votre certificat ait un nom courant (CN) ou un autre nom d'objet (SAN). Pour en savoir plus, consultez la section Créer une requête de signature de certificat.

En l'absence des deux attributs, Trusted Cloud affiche un message d'erreur du type suivant lorsque vous essayez de créer un certificat autogéré:

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

Impossible d'analyser la clé privée

Trusted Cloud nécessite l'utilisation de clés privées au format PEM respectant les critères de clé privée.

Vous pouvez valider votre clé privée à l'aide de la commande OpenSSL suivante, en remplaçant PRIVATE_KEY_FILE par le chemin d'accès à la clé privée :

    openssl rsa -in PRIVATE_KEY_FILE -check

Les réponses suivantes indiquent un problème avec la clé privée :

  • 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

Pour résoudre le problème, vous devez créer une clé privée et un certificat.

Clés privées avec phrases secrètes

Si OpenSSL vous invite à saisir une phrase secrète, vous devez supprimer celle de votre clé privée avant de pouvoir l'utiliser avec Trusted Cloud. Vous pouvez exécuter la commande OpenSSL suivante :

openssl rsa -in PRIVATE_KEY_FILE \
    -out REPLACEMENT_PRIVATE_KEY_FILE

Remplacez les espaces réservés par des valeurs valides :

  • PRIVATE_KEY_FILE : chemin d'accès à la clé privée protégée par une phrase secrète
  • REPLACEMENT_PRIVATE_KEY_FILE : chemin d'accès où vous souhaitez enregistrer une copie de votre clé privée en texte brut

Expiration des certificats intermédiaires

Si un certificat intermédiaire expire avant le certificat du serveur (feuille), cela peut indiquer que votre autorité de certification ne suit pas les bonnes pratiques.

Lorsqu'un certificat intermédiaire expire, le certificat du serveur utilisé dansTrusted Cloud peut devenir non valide. Cela dépend du client SSL, comme suit :

  • Certains clients SSL ne vérifient que le délai d'expiration du certificat du serveur et ignorent les certificats intermédiaires expirés.
  • Certains clients SSL traitent une chaîne avec un ou plusieurs certificats intermédiaires arrivés à expiration comme non valide et affichent un avertissement.

Pour remédier à ce problème :

  1. Attendez que l'autorité de certification bascule vers un nouveau certificat intermédiaire.
  2. Demandez un nouveau certificat à l'autorité de certification.
  3. Importez à nouveau le nouveau certificat avec les nouvelles clés.

L'autorité de certification peut également autoriser la signature croisée pour les certificats intermédiaires. Renseignez-vous auprès de votre autorité de certification.

L'exposant public RSA est trop grand

Le message d'erreur suivant s'affiche lorsque l'exposant public RSA est supérieur à 65537. Assurez-vous d'utiliser 65537, comme spécifié dans le document RFC 4871.

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

Supprimer le certificat SSL du proxy cible

Les étapes suivantes montrent comment supprimer un seul certificat SSL associé au proxy HTTPS cible :

  1. Exportez le proxy https cible vers un fichier temporaire.

    gcloud compute target-https-proxies export TARGET_PROXY_NAME > /tmp/proxy
    
  2. Modifiez le fichier /tmp/proxy et supprimez les lignes suivantes :

    sslCertificates:
    -   https://www.googleapis.com/compute/v1/projects/...
    
  3. Importez le fichier /tmp/proxy.

    gcloud compute target-https-proxies import TARGET_PROXY_NAME \
       --source=/tmp/proxy
    
  4. (Facultatif) Supprimez le certificat SSL.

    gcloud compute ssl-certificates delete SSL_CERT_NAME
    

Remplacez les éléments suivants :

  • TARGET_PROXY_NAME : nom de la ressource proxy HTTPS cible.
  • SSL_CERT_NAME : nom du certificat SSL.