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

  • Rversion finale: Washingtondc
  • Mis à jour 1 févr. 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 ServiceNowversion prise en charge de Microsoft Windows en tant qu’hôte 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 hôte Linux 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’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 saisir l’adresse IP et mettre « localhost » dans la variable d’environnement Hostname.
      Conseil :
      Pour faciliter la mémorisation, définissez les variables d’environnement suivantes :
      • export PASSWORD="<mot de passe pour générer les certificats> »
      • 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 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 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 de 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 et n’est donc 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

      Importer la paire de clés client
      Remarque :
      Vous créez un nouveau fichier de magasin de clés pkcs12 et y importez la paire de clés. 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é 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 de magasin de clés ; Vous devrez le saisir dans un formulaire dans l’instance ServiceNow .