Générer des certificats pour le navigateur sans en-tête configuration de Microsoft Windows

  • Rversion finale: Zurich
  • Mis à jour 31 juil. 2025
  • 3 minutes de lecture
  • Générez des certificats TLS/SSL pour sécuriser l’API REST Docker et authentifier les requêtes HTTP.

    Avant de commencer

    Rôle requis : administrateur sur votre ServiceNow instance et administrateur local sur l’ordinateur hôte.
    Avertissement :
    La seule version prise Microsoft Windows en charge en tant qu’hôte ServiceNow est Windows Server 2019 v10.0.17763.737. Aucune autre version n’est prise en charge. Si vous ne parvenez pas à répondre à ces exigences, un Linux hôte est recommandé.
    Notez les exigences suivantes :
    • Communication bidirectionnelle
      Avertissement :
      Assurez-vous d’obtenir les clés de l’autorité de certification auprès d’une autorité de certification approuvée.
      • Il doit y avoir une communication bidirectionnelle entre l’URL de l’instance et votre serveur.
      • Trouvez l’adresse IP de votre serveur et obtenez votre nom d’hôte. Vous pouvez utiliser l’un d’entre eux ou les deux, mais vous en avez besoin d’au moins un.
        Remarque :
        Si vous n’avez pas de nom d’hôte et que vous vous connectez via l’adresse IP, vous pouvez entrer l’adresse IP et mettre « localhost » dans la variable d’environnement Nom d’hôte.
      Conseil :
      Pour faciliter la mémorisation de ces éléments, définissez les variables d’environnement suivantes :
      • exporter PASSWORD="<mot de passe pour générer les certificats avec> »
      • exporter SERVERIP="<adresse IP de ce serveur> »
      • exporter HOSTNAME="<nom d’hôte de ce serveur> »
    • Port : utilisez le port 2376 ou votre propre port par défaut pour cette procédure.
      Remarque :
      Assurez-vous que les règles de votre pare-feu autorisent les demandes entrantes sur ce port
    • Pour en savoir plus, consultez Utiliser TLS (HTTPS) pour protéger le socket démon Docker.

    Pourquoi et quand exécuter cette tâche

    Par défaut, lors de l’exposition de l’API Docker, les demandes ne sont pas authentifiées, ce qui peut rendre votre ordinateur hôte vulnérable aux attaques. L’API Docker, cependant, prend en charge l’authentification TLS où les demandes sont vérifiées par rapport aux clés privées publiques fournies dans le cryptage HTTPS. Dans cette étape, vous créez ces clés pour le serveur et le client.

    Procédure

    1. Ouvrez une ligne de commande.
    2. Générez une clé d’autorité de certification auto-signée ou récupérez une paire de clés auprès d’une autorité de certification approuvée.
      Les commandes suivantes sont un exemple. Notez que votre configuration peut varier.
      openssl genrsa -aes256 -passout pass:%PASSWORD% -out ca-key.pem 4096
      openssl req -passin pass:%PASSWORD% -new -x509 -days 365 -key ca-key.pem -sha256 -out ca.pem 
    3. Générez la paire de clés du serveur à l’aide de la clé de l’autorité de certification.
      Les commandes suivantes sont un exemple. Notez que votre configuration peut varier.
      openssl genrsa -out server-key.pem 4096
      openssl req -subj /CN=%HOSTNAME% -new -key server-key.pem -out server.csr
      echo extendedKeyUsage = clientAuth > extfile.cnf
      openssl x509 -passin pass:%PASSWORD% -req -days 365 -in server.csr -CA ca.pem -CAkey ca-key.pem -CAcreateserial -out server-cert.pem -extfile extfile.cnf
    4. Créez la paire de clés client à l’aide de la clé de l’autorité de certification.
      Les commandes suivantes sont un exemple. Notez que votre configuration peut varier.
      openssl genrsa -out client-key.pem 4096
      openssl req -subj /CN=%HOSTNAME% -new -key client-key.pem -out client.csr
      echo subjectAltName = DNS:%HOSTNAME%,IP:%SERVERIP%,IP:127.0.0.1 > extfile.cnf
      openssl x509 -passin pass:%PASSWORD% -req -days 365 -in client.csr -CA ca.pem -CAkey ca-key.pem -CAcreateserial -out client-cert.pem -extfile extfile.cnf
    5. Importez la clé publique CA et la paire de clés client dans un magasin de clés Java.
      Ces instructions sont un exemple Votre configuration peut varier.

      Créez le fichier keystore et créez un mot de passe pour celui-ci (et enregistrez-le pour une utilisation ultérieure) : keytool -genkey -keyalg RSA -alias dse -keystore my.keystore

      Supprimez une entrée par défaut du fichier du magasin de clés : keytool -delete -alias dse -keystore my.keystore

      Remarque :
      Cette entrée est générée automatiquement, s.o n’est pas nécessaire.

      Importez la clé publique CA dans le magasin de clés : keytool -import -keystore mon.magasin de clés -trustcacerts -alias ca -file ca.pem

      Importez la paire de clés client.
      Remarque :
      Vous créez un nouveau fichier de magasin de clés pkcs12 et importez la paire de clés dans celui-ci. Copiez ensuite le contenu dans votre fichier de magasin de clés d’origine.
      • openssl pkcs12 -export -name clientkeypair -in client-cert.pem -inkey client-key.pem -out clientkeypair.p12
      • keytool -importkeystore -destkeystore my.keystore -srckeystore clientkeypair.p12 -srcstoretype pkcs12 -alias clientkeypair

      Maintenant que vous avez ajouté tous les certificats au fichier keystore, enregistrez le fichier my.keystore pour plus tard, car il sera téléchargé sur l’instance ServiceNow . De plus, assurez-vous de vous souvenir du mot de passe que vous avez saisi lorsque vous êtes invité à créer le fichier keystore ; Vous devrez les saisir dans un formulaire dans l’instance ServiceNow .