bg-tutorials

Comment installer un certificat SSL sur Google Cloud Platform

Ce tutoriel explique comment installer un certificat SSL sur Google Cloud Platform à l’aide de Certificate Manager. Vous apprendrez également à générer un CSR (Certificate Signing Request) pour Google Cloud, et à déployer le certificat sur un équilibreur de charge HTTPS.

Générer un code CSR sur Google Cloud Platform

Vous ne pouvez pas commander un certificat SSL sans un code CSR. CSR signifie Certificate Signing Request, un bloc de texte codé qui contient les informations du demandeur. L’autorité de certification utilise le CSR pour vérifier votre domaine et votre organisation avant d’émettre le certificat.

Google Cloud ne dispose d’aucun formulaire intégré permettant de créer un CSR pour vous. Vous devez donc générer le CSR et sa clé privée avec OpenSSL sur votre propre machine. Vous avez deux options :

Conservez la clé privée en lieu sûr. Vous en aurez besoin à nouveau lorsque vous téléchargerez le certificat vers Certificate Manager. Soumettez le CSR à l’autorité de certification lors de votre commande, et une fois le certificat émis, poursuivez avec l’installation ci-dessous.

Installer un certificat SSL sur Google Cloud Platform

Sur Google Cloud, un certificat tiers (fourni par vous-même) est appelé un certificat auto-géré. Vous le téléchargez vers Certificate Manager, puis le déployez sur un équilibreur de charge HTTPS. Avant de commencer, assurez-vous d’avoir :

  • Vos fichiers de certificat signés par l’autorité de certification.
  • La clé privée que vous avez générée avec le CSR.
  • L’accès à la console Google Cloud et à la CLI gcloud.
  • Un équilibreur de charge HTTPS existant (un équilibreur de charge d’application externe avec un proxy cible HTTPS) qui dessert votre domaine. Le certificat s’attache à cet équilibreur de charge.

Étape 1 : Préparez vos fichiers de certificat

Une fois que l’autorité de certification a validé votre demande, elle vous envoie par e-mail une archive ZIP. Extrayez-la et recherchez :

  • yourdomain.crt, votre certificat de serveur.
  • yourdomain.ca-bundle, les certificats intermédiaires.
  • yourdomain.key, la clé privée que vous avez créée avec le CSR.

Étape 2 : Combinez le certificat et la chaîne

Certificate Manager attend un seul fichier PEM qui contient d’abord votre certificat de serveur, puis les certificats intermédiaires, dans cet ordre. Ouvrez un terminal dans le dossier où vos fichiers sont stockés et exécutez :

cat yourdomain.crt yourdomain.ca-bundle > fullchain.crt

Cela crée un fichier au format PEM avec votre certificat et la chaîne intermédiaire dans le bon ordre. Le fichier de certificat doit commencer par —–BEGIN CERTIFICATE—– et se terminer par —–END CERTIFICATE—–.

Vérifiez maintenant la clé privée. Certificate Manager exige qu’elle soit :

  • Au format PEM et non chiffrée (sans phrase de passe).
  • Au format PKCS#8, elle doit donc commencer par —–BEGIN PRIVATE KEY—–, et non par —–BEGIN RSA PRIVATE KEY—–.
  • RSA (2048, 3072 ou 4096 bits) ou ECDSA (P-256 ou P-384).

Si votre clé commence par —–BEGIN RSA PRIVATE KEY—– (PKCS#1), convertissez-la au format PKCS#8 accepté par Certificate Manager :

openssl pkcs8 -topk8 -nocrypt -in yourdomain.key -out yourdomain_pkcs8.key

Utilisez le fichier yourdomain_pkcs8.key obtenu dans les étapes de téléchargement ci-dessous. Si votre clé est protégée par une phrase de passe, cette commande vous demandera également la phrase de passe et générera une copie non chiffrée.

Étape 3 : Téléchargez le certificat vers Certificate Manager

Vous pouvez télécharger le certificat auto-géré depuis la console ou avec gcloud. Utilisez celle que vous préférez ; le résultat est la même ressource Certificate Manager.

Option A, console Google Cloud :

  1. Connectez-vous à la console Google Cloud et sélectionnez votre projet.
  2. Ouvrez Certificate Manager (sous Sécurité, dans la zone Sécurité réseau), puis sélectionnez l’onglet Certificats.
  3. Sélectionnez Ajouter un certificat.
  4. Donnez un nom au certificat, puis pour le type de certificat, choisissez Créer un certificat auto-géré.
  5. Pour l’emplacement, choisissez Global avec la portée Par défaut pour un équilibreur de charge global, ou Régional et votre région pour un équilibreur de charge régional.
  6. Téléchargez fullchain.crt comme certificat et votre clé privée PKCS#8 comme clé privée, puis sélectionnez Créer.

Option B, CLI gcloud : créez le même certificat en une seule commande. Remplacez MY_CERT par le nom de votre choix :

gcloud certificate-manager certificates create MY_CERT 
  --certificate-file=fullchain.crt 
  --private-key-file=yourdomain_pkcs8.key

Dans les deux cas, le certificat se trouve maintenant dans Certificate Manager, mais il n’est encore connecté à aucun trafic. L’étape suivante le déploie.

Étape 4 : Déployez le certificat sur votre équilibreur de charge

Certificate Manager déploie un certificat via une carte de certificat (certificate map). Vous créez une carte, ajoutez une entrée qui associe un nom d’hôte à votre certificat, puis attachez la carte au proxy cible HTTPS de votre équilibreur de charge. Exécutez ces commandes avec gcloud.

Créez une carte de certificat :

gcloud certificate-manager maps create MY_MAP

Ajoutez une entrée de carte pour votre nom d’hôte. Remplacez MY_CERT par le nom de votre certificat téléchargé et yourdomain.com par le domaine que vous souhaitez sécuriser :

gcloud certificate-manager maps entries create my-entry 
  --map=MY_MAP 
  --certificates=MY_CERT 
  --hostname=yourdomain.com

Attachez la carte à votre proxy cible HTTPS existant. Remplacez MY_PROXY par le nom du proxy qui dessert votre équilibreur de charge :

gcloud compute target-https-proxies update MY_PROXY 
  --certificate-map=MY_MAP 
  --global

Supprimez l’option --global et ajoutez --region=YOUR_REGION si votre équilibreur de charge est régional. L’équilibreur de charge sert maintenant votre certificat pour le trafic HTTPS entrant vers ce nom d’hôte. Les modifications du certificat peuvent prendre quelques minutes pour se propager sur l’équilibreur de charge.

Testez votre installation SSL

Après avoir déployé le certificat, confirmez que l’équilibreur de charge le sert correctement et que la chaîne est complète. Depuis n’importe quelle machine disposant d’OpenSSL, connectez-vous à votre domaine et lisez le certificat qu’il renvoie :

echo | openssl s_client -connect yourdomain.com:443 -servername yourdomain.com 2>/dev/null | openssl x509 -noout -issuer -subject -dates

Cela affiche l’émetteur, le sujet et les dates de validité du certificat actuellement utilisé. Pour obtenir un rapport complet sur le certificat et sa configuration, incluant les vérifications de la chaîne et du protocole, passez votre domaine dans notre SSL Checker, ou ouvrez le site dans un navigateur et vérifiez le cadenas.

Questions fréquemment posées

Puis-je générer un CSR directement dans Google Cloud ?

Non. Google Cloud ne dispose d’aucun formulaire dans la console permettant de générer un CSR ou une clé privée pour un certificat auto-géré. Vous créez le CSR et la clé avec OpenSSL sur votre propre machine (ou avec notre générateur de CSR), commandez le certificat, puis téléchargez le certificat émis et la clé privée vers Certificate Manager.

Quelle est la différence entre un certificat auto-géré et un certificat géré par Google ?

Un certificat auto-géré est un certificat que vous obtenez auprès d’une autorité de certification et que vous téléchargez vous-même, et vous êtes responsable de son renouvellement. Un certificat géré par Google est provisionné et renouvelé automatiquement par Google. Ce tutoriel couvre les certificats auto-gérés, qui correspondent à la méthode utilisée pour un certificat payant provenant de SSL Dragon.

Pourquoi Certificate Manager rejette-t-il ma clé privée ?

La cause la plus fréquente est le format de la clé. Certificate Manager nécessite une clé PKCS#8 non chiffrée qui commence par —–BEGIN PRIVATE KEY—–. Si la vôtre commence par —–BEGIN RSA PRIVATE KEY—– ou est protégée par une phrase de passe, convertissez-la avec openssl pkcs8 -topk8 -nocrypt -in yourdomain.key -out yourdomain_pkcs8.key et téléchargez le fichier converti.

J’ai téléchargé le certificat mais le site affiche toujours « non sécurisé ». Pourquoi ?

Télécharger un certificat vers Certificate Manager ne fait que le stocker. Il ne sert pas de trafic jusqu’à ce que vous le déployiez. Créez une carte de certificat, ajoutez une entrée de carte pour votre nom d’hôte, et attachez la carte au proxy cible HTTPS de votre équilibreur de charge (étape 4). Jusqu’à ce que la carte soit attachée, l’équilibreur de charge ne présente pas votre certificat.

Dans quel ordre le fichier de certificat doit-il être structuré ?

Votre certificat de serveur (feuille) vient en premier, suivi des certificats intermédiaires, dans un seul fichier PEM. La commande cat yourdomain.crt yourdomain.ca-bundle > fullchain.crt produit cet ordre. Une chaîne manquante ou mal ordonnée est une raison fréquente pour laquelle les navigateurs et les vérificateurs SSL signalent un chemin de certification incomplet.

Economisez 10% sur les certificats SSL en commandant aujourd’hui!

Émission rapide, cryptage puissant, confiance de 99,99 % du navigateur, assistance dédiée et garantie de remboursement de 25 jours. Code de coupon: SAVE10

Image détaillée d'un dragon en vol
Rédigé par

Rédacteur de contenu expérimenté spécialisé dans les certificats SSL. Transformer des sujets complexes liés à la cybersécurité en un contenu clair et attrayant. Contribuer à l'amélioration de la sécurité numérique par des récits percutants.