ThingWorx Navigate View PLM App Extension > ThingWorx Navigate View PLM App Extension mit SAP-Systemen konfigurieren > SSL für sichere Kommunikation verwenden
  
SSL für sichere Kommunikation verwenden
An Ihrem Standort kann bidirektionales SSL verwendet werden, um die Kommunikation zwischen dem ThingWorx Server und der Windchill Anwendung zu sichern. PTC empfiehlt die Verwendung von SSL beim Arbeiten in einer Produktionsumgebung. Die Erweiterung kann SSL zum einen verwenden, um die Server untereinander zu authentifizieren, und zum anderen, um die Kommunikation selbst zu schützen.
Für eine SSL-Verbindung müssen beide Systeme einander vertrauen; hierzu muss die Dingvorlage WindchillConnector so konfiguriert werden, dass sie die auf dem ThingWorx Server gespeicherten Java-Schlüssel- und -Vertrauensspeicher referenziert, die Schlüssel für die Transaktion bereitstellen. Der HTTP-Server auf dem Windchill Server muss so konfiguriert werden, das er diesen Schlüsseln vertraut.
SSL-Konfigurationen unterscheiden sich erheblich, und dieses Handbuch versucht nicht, alle Optionen zu beschreiben, die in einer SSL-Konfiguration verfügbar sind. Stattdessen geben die folgenden Schritte eine Übersicht über den Prozess zum Konfigurieren von SSL; ein detailliertes Beispiel ist unter Beispielkonfiguration mit SSL für sichere Kommunikation verfügbar.
In diesem Verfahren wird vorausgesetzt, dass ThingWorx und Windchill so konfiguriert sind, dass sie SSL für die Standardkommunikation verwenden. Außerdem beruht es auf Konfigurationsskripts, die in der neuesten Version von PTC HTTP-Server enthalten sind. Die neueste Version von PTC HTTP-Server ist im Lieferumfang von Windchill 11.0 M020 und den aktuellen CPS-Versionen für Windchill 10.2 enthalten.
* 
Es ist nicht erforderlich, den gleichen SSL-Schlüssel für die primäre Windchill oder ThingWorx Kommunikation und die hier beschriebene Kommunikation zwischen ThingWorx und Windchill zu verwenden. Beispielsweise kann ein kommerzielles vertrauenswürdiges Platzhalterzertifikat für Windchill und ein selbstsigniertes Zertifikat zwischen ThingWorx und Windchill verwendet werden.
ThingWorx konfigurieren
* 
Diese Konfiguration trifft zu, wenn Sie Info*Engine Aufgaben nur mit den alten Konnektoren verwenden.
ThingWorx erfordert Java-Schlüssel- und -Vertrauensspeicher.
Erstellen Sie diese auf dem gleichen Server wie ThingWorx.
Erstellen Sie sie im lokalen Dateisystem.
Referenzieren Sie sie in der Konfiguration der Dingvorlage WindchillConnector, die zum Verbinden von ThingWorx mit dem Windchill System verwendet wird, das gesichert wird.
1. Bearbeiten Sie in ThingWorx Composer die Dingvorlage WindchillConnector, die die Verbindung zum Windchill System darstellt, das konfiguriert wird.
2. Geben Sie den Pfad zu ThingWorxKeyStore.jks (siehe Beispiel im Screenshot) sowie das Passwort an.
3. Geben Sie den Pfad zu ThingWorxTrustStore.jks (siehe Beispiel im Screenshot) sowie das Passwort an.
* 
Es wird empfohlen, den Typ JKS zu verwenden, dies ist jedoch nicht obligatorisch.
4. Geben Sie die Windchillhttps-Adresse und den SSL-Port an.
5. Speichern Sie das Ding.
6. Zeigen Sie das ThingWorx Anwendungsprotokoll an, um zu verifizieren, dass keine Konfigurationsfehler vorhanden sind.
7. Starten Sie ptc-connected-demo-mashup, um die vertrauenswürdige SSL-Konfiguration zwischen ThingWorx und Windchill zu überprüfen.
* 
Für die Konfiguration mit neuen Windchill Konnektoren, siehe ThingWorx Navigate mit Windchill Authentifizierung konfigurieren.
Windchill konfigurieren
Konfigurieren Sie auf dem Windchill Server die SSL-Authentifizierung in PTC HTTP-Server und PTC Embedded Servlet Engine so, dass dem ThingWorx Schlüssel und Zertifikat vertraut wird.
* 
Die Codebeispiele wurden zur Anpassung an die Seitengröße umformatiert und enthalten unter Umständen Zeilennummern, verborgene Zeichen (wie Tabulatoren und Zeilenendezeichen) sowie belanglose Leerzeichen. Wenn Sie Code ausschneiden und einfügen, suchen Sie nach diesen Zeichen, und entfernen Sie sie, bevor Sie den Beispielcode in Ihrer Anwendung einzusetzen versuchen.
1. Aktualisieren Sie die Konfiguration von PTC HTTP-Server so, dass die CA-Zertifikatdatei referenziert wird.
Windchill 10.2 Versionen:
1. Navigieren Sie zu <HTTPSERVER_HOME>/conf/extra/httpd-ssl.conf, und bearbeiten Sie die Datei.
2. Heben Sie die Auskommentierung des Eintrags SSLCACertificateFile auf, sodass er die Datei ca-bundle.crt referenziert. Notieren Sie den Speicherort der Datei ca-bundle.crt.
3. Speichern Sie die Änderungen.
Windchill 11.0 M020 und höher:
1. Erstellen Sie eine Datei unter <HTTPSERVER_HOME>\conf\ca-bundle.crt. Dieser Speicherort wird empfohlen, ist jedoch nicht obligatorisch.
2. Speichern Sie ca-bundle.crt.
3. Erstellen Sie eine Datei sslclientauth.conf unter <HTTPSERVER_HOME>\conf\sslvhostconf.d.
4. Fügen Sie der Datei "SSLCACertificateFile <PATH_TO>\ca-bundle.crt" hinzu, sodass die Datei "ca-bundle.crt" referenziert wird.
5. Speichern Sie die Änderungen.
2. Fügen Sie das ThingWorx Zertifikat der Liste vertrauenswürdiger CA-Zertifikate von PTC HTTP-Server hinzu.
a. Bearbeiten Sie die Datei ca-bundle.crt, auf die Sie zuvor im Eintrag SSLCACertificateFile verwiesen haben.
* 
Wenn die Datei noch nicht vorhanden ist, erstellen Sie die Datei und alle erforderlichen Verzeichnisse.
b. Hängen Sie den Inhalt des im Vertrauensspeicher gespeicherten ThingWorx Zertifikats an diese Datei an.
c. Speichern Sie die Änderungen.
3. Konfigurieren Sie PTC HTTP-Server so, dass die Zertifikatinformationen nach Windchill exportiert werden.
a. Bearbeiten Sie die Datei <HTTPSERVER_HOME>/conf/extra/httpd-ssl.conf.
b. Suchen Sie die Zeile mit SSLOptions.
c. Heben Sie die Auskommentierung der Zeile mit SSLOptions +ExportCertData auf.
Beispiel:
SSLOptions +FakeBasicAuth +ExportCertData +StrictRequire<FilesMatch "\.(cgi|shtml|phtml|php)$"> SSLOptions +StdEnvVars/FilesMatch><Directory "C:/ptc/Windchill_10.2/HTTPServer/cgi-bin"> SSLOptions +StdEnvVars</Directory>
d. Speichern Sie die Änderungen.
4. Konfigurieren Sie PTC HTTP-Server für die sslClientAuth-URL.
a. Suchen Sie den Windchill Web-App-Namen in <windchill-home>/codebase/wt.properties im Eintrag wt.webapp.name.
b. Öffnen Sie eine Shell oder eine Eingabeaufforderung, und geben Sie Folgendes ein:
cd <HTTPSERVER_HOME>ant -f webAppConfig.xml -DappName=[windchill-web-app]
-Dresource=sslClientAuth -DresourceAuthType=sslClientAuth addAuthResource
c. Konfigurieren Sie Windchill so, dass die Anwendung dem ThingWorx Zertifikat vertraut.
a. Bearbeiten Sie die Datei <windchill-home>/codebase/WEB-INF/web.xml.
b. Suchen Sie nach <filter-name>TrustedSSLAuthFilter</filtername>.
c. Fügen Sie ein zusätzliches <init-param>-Element nach dem vorhandenen hinzu, wobei [thingworx-cert-name] der Name des ThingWorx Zertifikats ist:
<init-param><param-name>trustedSubjectPattern.1</param-name><param-value> [thingworx-cert-name]</param-value></init-param>
d. Speichern Sie die Änderungen.