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

  • Rversion finale: Xanadu
  • Mis à jour 1 août 2024
  • 3 minutes de lecture
  • Générez des certificats TLS/SSL pour sécuriser l’API REST Docker et authentifier les demandes 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 en charge en tant qu’hôte Microsoft WindowsServiceNow est Windows Server 2019 v10.0.17763.737. Aucune autre version n’est prise en charge. Si vous n’êtes pas en mesure de répondre à ces exigences, un Linux hôte est recommandé.
    Notez les exigences suivantes :
    • Communication bidirectionnelle
      Avertissement :
      Assurez-vous d’obtenir les clés d’autorité de certification auprès d’une autorité de certification approuvée.
      • Il doit y avoir une communication bidirectionnelle entre l’URL d’instance et votre serveur.
      • Trouvez l’adresse IP de votre serveur et obtenez votre nom d’hôte. Vous pouvez utiliser l’un d’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 saisir l’adresse IP et mettre « localhost » dans la variable d’environnement Hostname.
      Conseil :
      Pour faciliter leur mémorisation, définissez les variables environnementales suivantes :
      • export PASSWORD="<mot de passe pour générer les certificats avec> »
      • export SERVERIP="<l’adresse IP de ce serveur> »
      • export 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 vos règles de pare-feu autorisent les requêtes 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 chiffrement HTTPS. Dans cette étape, vous allez créer 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 keystore : 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 de l’autorité de certification dans le magasin de clés : keytool -import -keystore my.keystore -trustcacerts -alias ca -file ca.pem

      Importez la paire de clés client.
      Remarque :
      Vous créez un fichier de magasin de clés pkcs12 et y importez la paire de clés. Copiez ensuite le contenu dans votre fichier keystore 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é dans l’instance ServiceNow . En outre, assurez-vous de vous souvenir du mot de passe que vous avez saisi lorsque vous êtes invité à créer le fichier keystore ; Vous devrez le saisir dans un formulaire dans l’instance ServiceNow .