Show Menu
THEMEN×

Verwenden von benutzerdefinierten Zertifikaten in Data Workbench

Anweisungen zur Verwendung von benutzerdefinierten Zertifikaten.
Ein Zertifikat, das entweder vom Data Workbench-Client oder vom Server verwendet wird, muss von einer vertrauenswürdigen Zertifizierungsstelle (Certificate Authority) signiert werden. Data Workbench-Kunden erhalten Zertifikate, die von der Visual Sciences-Zertifizierungsstelle signiert werden. Diese Zertifikate werden von der Data Workbench-Software als vertrauenswürdig eingestuft, da die trust_ca_cert.pem (zusammen mit der Insight-Software bereitgestellte und im Zertifikatverzeichnis von Servern und Clients gespeicherte) ein Stammzertifikat für die Visual Sciences-Zertifizierungsstelle enthält. Diese Zertifikate werden sowohl für die Lizenzierung der Software als auch für die Authentifizierung verwendet, wenn Clients und Server über SSL miteinander kommunizieren. Für die Lizenzierung können nur Zertifikate verwendet werden, die von der Visual Sciences CA ausgestellt wurden, andere Zertifikate dürfen jedoch für die Kommunikation und Authentifizierung verwendet werden. Zertifikate, die von anderen Zertifizierungsstellen als Visual Sciences ausgestellt wurden, werden nachstehend als benutzerdefinierte Zertifikate bezeichnet.
Wichtiger Hinweis: Bei Servern und Clients verwendet die Data Workbench-Software die Zertifikatdateien, die im Zertifikatordner des Clients oder des Servers installiert sind, oder die Zertifikate, die explizit in der Konfiguration angegeben sind. Sie können jedoch auch den Windows-Zertifikatspeicher für Clients verwenden.
Die folgenden Anweisungen beschreiben die Verfahren, die bei der Verwendung von benutzerdefinierten Zertifikaten für die Kommunikation zwischen Data Workbench-Clients und -Servern befolgt werden müssen. Nicht jedes Detail ist eine schwierige Anforderung, und es können unterschiedliche Prozessvarianten eingesetzt werden. Die folgenden Verfahren wurden jedoch getestet, um zu funktionieren.

Einrichten von benutzerdefinierten Clientzertifikaten

  1. Fügen Sie das Zertifikat der ausstellenden Zertifizierungsstelle dem trust_cert_ca.pemhinzu, das im Zertifikatordner des Clients installiert ist, und dem jedes Servers in jedem Cluster, auf den mit diesem benutzerdefinierten Zertifikat zugegriffen werden soll.
  2. Besorgen Sie sich ein benutzerdefiniertes Zertifikat für jeden Server im Cluster mit den folgenden Bedingungen:
    1. Zertifikat ist als .pem Zertifikat formatiert.
    2. Das Zertifikat enthält seinen Schlüssel und ist unverschlüsselt (d. h. es hat kein Kennwort und keinen Passwort).
      Ein Zertifikat enthält seinen Schlüssel mit einer der folgenden Zeilen:
      BEGIN PRIVATE KEY 
      BEGIN RSA PRIVATE KEY
      
      
      Eine Möglichkeit, den Passwortsatz aus einem .pem Zertifikat zu entfernen:
      openssl rsa  -in password-protected-cert.pem -out no-password-cert.pem 
      openssl x509 -in password-protected-cert.pem >> no-password.pem
      
      
    3. Das Zertifikat hat die KN, O, OU usw. , wie für diesen Client in der Access Control.cfg Serverdatei erforderlich.
    4. Das Zertifikat wurde mit einem *Zweck ​des Clients (oder sowohl Server als auch Client ) ausgestellt.
      Um zu überprüfen, ob ein Zertifikat über einen Zweckcode des Servers und/oder Clients verfügt, können die folgenden Befehle verwendet werden:
      openssl verify -CAfile trust_ca_cert.pem -purpose sslserver -x509_strict custom_communications_cert.pem 
      openssl verify -CAfile trust_ca_cert.pem -purpose sslclient -x509_strict custom_communications_cert.pem
      
      
      Für Serverzertifikate sollten beide Befehle Folgendes ausgeben:
      custom_communications_cert.pem: OK
      
      
      Bei einem Client-Zertifikat ist nur der zweite Befehl erforderlich, um OKErgebnisse zu liefern.
  3. Platzieren Sie das Zertifikat im Zertifikatverzeichnis des Kunden.
  4. Stellen Sie Insight.cfg unter " serverInfo "für jeden Cluster, der dieses Zertifikat verwenden soll, sicher, dass der Name des benutzerdefinierten Client-Zertifikats angegeben ist, z. B.:
    Servers = vector: 1 items 
      0 = serverInfo: 
        SSL Client Certificate = string:
    <my_custom_client_cert.pem>
    
    

Einrichten von benutzerdefinierten Serverzertifikaten

In diesem Abschnitt wird davon ausgegangen, dass Sie über einen Cluster verfügen, der mit von Visual Sciences ausgestellten Zertifikaten ausgeführt wird. Die Konfiguration folgt gängigen Verfahren (z. B. wird der Ordner " Komponenten für Verarbeitungsserver "auf dem Master mit den Ordnern " Komponenten "aller DPUs synchronisiert).
  1. Fügen Sie das Zertifikat der ausstellenden Zertifizierungsstelle der Datei hinzu, die auf jedem Server im Cluster und jedem Client installiert ist, der mit diesem Cluster kommunizieren muss. trust_cert_ca.pem
  2. Erstellen Sie für jeden Server im Cluster ein benutzerdefiniertes Zertifikat mit folgenden Anforderungen:
    1. Benutzerdefiniertes Zertifikat wird als .pem Zertifikat formatiert.
    2. Das Zertifikat enthält seinen Schlüssel und ist unverschlüsselt (d. h. es hat kein Kennwort und keinen Passwort).
      Ein Zertifikat enthält seinen Schlüssel, wenn es eine Zeile wie die folgende enthält:
      BEGIN PRIVATE KEY 
      BEGIN RSA PRIVATE KEY
      
      
      Eine Möglichkeit, den Passwortsatz aus einem .pem Zertifikat zu entfernen:
      openssl rsa  -in password-protected-cert.pem -out no-password-cert.pem 
      openssl x509 -in password-protected-cert.pem >> no-password.pem
      
      
    3. Das Zertifikat hat dieselbe KN wie das derzeit auf dem Server installierte server_cert.pem .
    4. Das Zertifikat wurde mit dem Zweck Server und Client ausgestellt.
      Um zu überprüfen, ob ein Zertifikat über einen Zweckcode des Servers und/oder Clients verfügt, können die folgenden Befehle verwendet werden:
      openssl verify -CAfile trust_ca_cert.pem -purpose sslserver -x509_strict custom_communications_cert.pem 
      openssl verify -CAfile trust_ca_cert.pem -purpose sslclient -x509_strict custom_communications_cert.pem
      
      
      Für Serverzertifikate sollten beide Befehle Folgendes ausgeben:
      custom_communications_cert.pem: OK
      
      
      Bei einem Client-Zertifikat ist nur der zweite Befehl erforderlich, um OKErgebnisse zu liefern.
  3. Installieren Sie das benutzerdefinierte Zertifikat jedes Servers im Zertifikatordner des Servers als custom_communications_cert.pem.
  4. Fügen Sie mithilfe eines Texteditors der Datei " Communications.cfg "in den Ordnern " Komponenten "und " Komponenten für Verarbeitungsserver "die folgende Zeile direkt unter der ersten Zeile (component = CommServer) hinzu:
    Certificate = string: Certificates\\custom_communications_cert.pem
    
    
  5. Starten Sie alle Server neu.
Warnung wegen Zertifikatfehlers
Wenn der Insight-Server oder -Client ein Lizenzzertifikat im Verzeichnis " Zertifikate "sucht, versucht er, alle Zertifikate (außer trust_ca_cert.pem) mit einer hartkodierten Kopie des Insight CA-Zertifikats zu validieren, was bei einem benutzerdefinierten Zertifikat im Ordner fehlschlägt. Der Server gibt folgende Warnung aus:
Certificate failed to verify. Error 20 at 0 depth. Desc: unable to get local issuer certificate. Cert details:

Diese Warnung kann unbedenklich ignoriert werden.