Generieren Sie Zertifikate für das Setup des Headless-Browsers für Microsoft Windows

  • Freigeben Version: Zurich
  • Aktualisiert 31. Juli 2025
  • 3 Minuten Lesedauer
  • Generieren Sie TLS/SSL-Zertifikate, um die Docker-REST-API zu sichern und HTTP-Anforderungen zu authentifizieren.

    Vorbereitungen

    Erforderliche Rolle: administrator auf Ihrem ServiceNowInstanz und lokaler Administrator auf dem Hostcomputer.
    Warnung:
    Die einzige Version von Microsoft WindowsDas ServiceNowUnterstützt als Host Windows Server 2019 v10.0.17763.737. Es werden keine anderen Versionen unterstützt. Wenn Sie diese Anforderungen nicht erfüllen können LinuxHost wird empfohlen.
    Beachten Sie die folgenden Anforderungen:
    • Bidirektionale Kommunikation
      Warnung:
      Stellen Sie sicher, dass Sie Zertifizierungsberechtigungsschlüssel von einer vertrauenswürdigen Zertifizierungsstelle abrufen.
      • Es muss eine bidirektionale Kommunikation zwischen der Instanz-URL und Ihrem Server vorhanden sein.
      • Suchen Sie die IP-Adresse Ihres Servers, und rufen Sie Ihren Hostnamen ab. Sie können eine oder beide verwenden, benötigen jedoch mindestens eine.
        Hinweis:
        Wenn Sie keinen Hostnamen haben und über die IP-Adresse eine Verbindung herstellen, können Sie die IP-Adresse eingeben und „localhost“ in die Umgebungsvariable Hostname einfügen.
      Tipp:
      Legen Sie die folgenden Umgebungsvariablen fest, um die Erinnerung zu erleichtern:
      • PASSWORT exportieren="<Passwort, mit dem die Zertifikate generiert werden sollen>"
      • SERVER-IP="<IP-Adresse dieses Servers>" exportieren
      • HOSTNAME=„<Hostname dieses Servers>“ exportieren
    • Port: Verwenden Sie Port 2376 oder Ihren eigenen Standardport für dieses Verfahren.
      Hinweis:
      Stellen Sie sicher, dass Ihre Firewall-Regeln eingehende Anforderungen an diesen Port zulassen
    • Weitere Informationen finden Sie unter Verwenden Sie TLS (HTTPS), um den Docker-Daemon-Socket zu schützen .

    Warum und wann dieser Vorgang ausgeführt wird

    Standardmäßig werden bei der Offenlegung der Docker-API keine Anforderungen authentifiziert, wodurch Ihr Hostcomputer angreifbar für Angriffe bleiben kann. Docker-API unterstützt jedoch die TLS-Authentifizierung, bei der Anforderungen anhand öffentlicher privater Schlüssel verifiziert werden, die in der HTTPS-Verschlüsselung bereitgestellt werden. In diesem Schritt erstellen Sie diese Schlüssel für den Server und den Client.

    Prozedur

    1. Öffnen Sie eine Befehlszeile.
    2. Generieren Sie einen selbstsignierten Zertifizierungsstellenzschlüssel, oder rufen Sie ein Schlüsselpaar von einer vertrauenswürdigen Zertifizierungsstelle ab.
      Die folgenden Befehle sind ein Beispiel. Beachten Sie, dass Ihre Konfiguration variieren kann.
      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. Generieren Sie das Serverschlüsselpaar mithilfe des Zertifizierungsschlüssels.
      Die folgenden Befehle sind ein Beispiel. Beachten Sie, dass Ihre Konfiguration variieren kann.
      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. Erstellen Sie das Client-Schlüsselpaar mithilfe des Zertifizierungsschlüssels.
      Die folgenden Befehle sind ein Beispiel. Beachten Sie, dass Ihre Konfiguration variieren kann.
      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. Importieren Sie den öffentlichen CA-Schlüssel und das Clientschlüsselpaar in einen Java-Schlüsselspeicher.
      Diese Anweisungen sind ein Beispiel dafür, dass Ihre Konfiguration variieren kann.

      Erstellen Sie die Schlüsselspeicherdatei, und erstellen Sie ein Passwort dafür (und speichern Sie sie zur späteren Verwendung): Keytool -genkey -keyalg RSA -alias dse -Keystore my.Keystore

      Löschen Sie einen Standardeintrag aus der Schlüsselspeicherdatei: Keytool -delete -alias dse -Keystore my.Keystore

      Hinweis:
      Dieser Eintrag wird automatisch generiert, „s.o“ ist nicht erforderlich.

      Importieren Sie den öffentlichen CA-Schlüssel in den Schlüsselspeicher: Keytool -Import -Schlüsselspeicher my.Schlüsselspeicher -Trustcacerts -alias CA -file ca.pem

      Importieren Sie das Client-Schlüsselpaar.
      Hinweis:
      Sie erstellen eine neue pkcs12-Schlüsselspeicherdatei und importieren das Schlüsselpaar darin. Kopieren Sie dann den Inhalt in Ihre ursprüngliche Schlüsselspeicherdatei.
      • 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

      Nachdem Sie nun alle Zertifikate zur Schlüsselspeicherdatei hinzugefügt haben, speichern Sie die Datei Mein.Schlüsselspeicher Für später, da es in hochgeladen wird ServiceNowInstanz. Merken Sie sich außerdem das Passwort, das Sie eingegeben haben, wenn Sie zum Erstellen der Schlüsselspeicherdatei aufgefordert wurden. Sie müssen dies in ein Formular in eingeben ServiceNowInstanz.