Les procédures de dépannage diffèrent selon que vous utilisez des certificats SSL gérés par Google ou des certificats SSL autogérés.
Résoudre les problèmes liés aux certificats gérés par Google
Il existe deux types d'état pour les certificats gérés par Google :
- État géré
- État du domaine
État géré
Pour vérifier l'état du certificat, exécutez la commande suivante :
gcloud compute ssl-certificates describe CERTIFICATE_NAME \ --global \ --format="get(name,managed.status)"
Les valeurs de l'état géré sont les suivantes :
État géré | Explication |
---|---|
PROVISIONING |
Le certificat géré par Google a bien été créé et Google Cloud travaille sur sa signature en collaboration avec l'autorité de certification. Le provisionnement d'un certificat géré par Google peut prendre jusqu'à 60 minutes après la propagation des modifications de votre configuration DNS et de votre équilibreur de charge sur Internet. Si vous avez mis à jour votre configuration DNS récemment, la propagation complète des modifications peut prendre un certain temps. La propagation peut parfois prendre jusqu'à 72 heures pour atteindre le monde entier, même si cela ne prend généralement que quelques heures. Pour en savoir plus sur la propagation DNS, consultez la section Propagation des modifications. Si le certificat reste à l'état |
ACTIVE |
L'autorité de certification a récupéré le certificat SSL géré par Google. Un délai de 30 minutes supplémentaires peut s'écouler avant que l'équilibreur de charge ne puisse se servir du certificat. |
PROVISIONING_FAILED |
PROVISIONING_FAILED peut s'afficher brièvement, même si l'état réel de votre certificat est ACTIVE .
Revérifiez l'état. Si l'état demeure PROVISIONING_FAILED , le certificat géré par Google a bien été créé, mais l'autorité de certification ne parvient pas à le signer. Assurez-vous d'avoir bien suivi toutes les étapes de la page Utiliser des certificats SSL gérés par Google. Google Cloud effectue de nouvelles tentatives de provisionnement jusqu'à ce que celui-ci soit réussi ou que le statut passe à PROVISIONING_FAILED_PERMANENTLY .
|
PROVISIONING_FAILED_PERMANENTLY |
Le certificat géré par Google a bien été créé, mais l'autorité de certification ne parvient pas à le signer en raison d'un problème de configuration DNS ou d'équilibrage de charge. Dans cet état, Google Cloud ne réitère pas la tentative de provisionnement. Créez un certificat SSL de remplacement géré par Google et assurez-vous que celui-ci est associé au proxy cible de votre équilibreur de charge. Assurez-vous d'avoir bien suivi toutes les étapes de la page Utiliser des certificats SSL gérés par Google. Vous pouvez ensuite supprimer le certificat dont le provisionnement a définitivement échoué. |
RENEWAL_FAILED |
Le renouvellement du certificat géré par Google a échoué en raison d'un problème lié à l'équilibreur de charge ou à la configuration DNS. Si l'un des domaines ou sous-domaines d'un certificat géré ne pointe pas vers l'adresse IP de l'équilibreur de charge à l'aide d'un enregistrement A/AAAA, le processus de renouvellement échoue. Dans l'immédiat, le certificat existant peut toujours être diffusé, mais il arrivera à expiration sous peu. Vérifiez votre configuration. Si l'état reste défini sur Pour plus d'informations sur le renouvellement des certificats, consultez la page Renouveler un certificat SSL géré par Google. |
État du domaine
Pour vérifier l'état du domaine, exécutez la commande suivante :
gcloud compute ssl-certificates describe CERTIFICATE_NAME \ --global \ --format="get(managed.domainStatus)"
Ce tableau répertorie les valeurs de l'état du domaine.
État du domaine | Explication |
---|---|
PROVISIONING |
Le certificat géré par Google a bien été créé pour le domaine. Google Cloud travaille sur sa signature en collaboration avec l'autorité de certification. |
ACTIVE |
Le domaine a bien été validé pour le provisionnement du certificat. Si le certificat SSL concerne plusieurs domaines, il ne peut être provisionné qu'une fois que tous les domaines ont l'état ACTIVE et l'état géré du certificat est également ACTIVE .
|
FAILED_NOT_VISIBLE |
Le provisionnement du certificat n'est pas terminé pour ce domaine. L'un des éléments suivants peut être à l'origine du problème :
PROVISIONING , Google Cloud continue de réessayer le provisionnement, même si l'état du domaine est FAILED_NOT_VISIBLE .
|
FAILED_CAA_CHECKING |
Le provisionnement du certificat a échoué en raison d'un problème de configuration de l'enregistrement CAA de votre domaine. Assurez-vous d'avoir suivi la procédure appropriée. |
FAILED_CAA_FORBIDDEN |
Le provisionnement du certificat a échoué, car l'enregistrement CAA de votre domaine n'indique aucune autorité de certification que Google Cloud doit utiliser. Assurez-vous d'avoir suivi la procédure appropriée. |
FAILED_RATE_LIMITED |
Le provisionnement des certificats a échoué, car une autorité de certification limite les requêtes de signature de certificat. Vous pouvez provisionner un nouveau certificat, passer à l'utilisation de ce nouveau certificat et supprimer l'ancien certificat, ou contacter l'assistance Google Cloud. |
Renouvellement des certificats gérés
Si l'un des domaines ou sous-domaines d'un certificat géré ne pointe pas vers l'adresse IP de l'équilibreur de charge, le processus de renouvellement échoue. Pour éviter l'échec du renouvellement, assurez-vous que tous vos domaines et sous-domaines pointent vers l'adresse IP de l'équilibreur de charge.
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
Google Cloud exige que les certificats soient 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 :
- Contactez votre autorité de certification pour obtenir de l'aide.
- Créez une clé privée et un certificat.
Nom courant ou autre nom d'objet manquant
Google 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, Google 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
Google Cloud requiert 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 Google 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èteREPLACEMENT_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é dans Google 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 :
- Attendez que l'autorité de certification bascule vers un nouveau certificat intermédiaire.
- Demandez un nouveau certificat à l'autorité de certification.
- 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 :
Exportez le proxy "target-https-proxy" dans un fichier temporaire.
gcloud compute target-https-proxies export TARGET_PROXY_NAME > /tmp/proxy
Modifiez le fichier
/tmp/proxy
et supprimez les lignes suivantes :sslCertificates: - https://www.googleapis.com/compute/v1/projects/...
Importez le fichier
/tmp/proxy
.gcloud compute target-https-proxies import TARGET_PROXY_NAME \ --source=/tmp/proxy
(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.