SSL/TLS für AKKA konfigurieren
SSL/TLS für AKKA in einer lokalen Umgebung konfigurieren
* 
Diese verteilte Funktion ist ab ThingWorx 9.4 verfügbar.
Führen Sie die folgenden Schritte aus, um SSL für AKKA zu konfigurieren, wenn Sie ThingWorx Hochverfügbarkeits-Clustering in einer lokalen Umgebung verwendet wird:
1. Erstellen Sie einen Keystore und einen Vertrauensspeicher, die von allen Plattformen verwendet werden.
* 
Das Schlüsselwort secret kann durch ein angepasstes Passwort ersetzt werden. Verwenden Sie dieses Passwort, um auf den erstellten Keystore und Vertrauensspeicher zuzugreifen.
a. Führen Sie den folgenden Befehl in Ihrem Terminal aus, um einen Keystore mit einem öffentlichen und privaten Schlüssel zu erstellen:
keytool -v -genkeypair -dname "CN=SEEKERS,OU=RND,O=PTC,C=IL" -keystore akka-keystore.jks -storepass secret -keyalg RSA -keysize 2048 -alias server -validity 3650 -deststoretype pkcs12 -ext KeyUsage=digitalSignature,dataEncipherment,keyEncipherment,keyAgreement -ext ExtendedKeyUsage=serverAuth,clientAuth -ext SubjectAlternativeName:c=DNS:localhost,IP:127.0.0.1
b. Exportieren Sie das Serverzertifikat.
keytool -v -exportcert -file server.cer -alias server -keystore akka-keystore.jks -storepass secret -rfc
c. Erstellen Sie den Vertrauensspeicher für den Client, und importieren Sie das Serverzertifikat mit dem folgenden Befehl:
keytool -v -importcert -file server.cer -alias server -keystore akka-truststore.jks -storepass secret -noprompt
2. Erstellen Sie eine keystore.conf-Datei mit folgendem Inhalt:
{
security {
secret-provider = "com.thingworx.security.provider.keystore.KeyStoreProvider"
default-encryption-key-length = 128
keystore {
password-file-path = "I:\\ThingworxPlatform"
password-file-name = "keystore-password"
path = "I:\\ThingworxStorage"
name = "keystore"
}
}
}
* 
password-file-path muss der Pfad zum Ordner ThingworxPlatform sein. path muss der Pfad zum Ordner ThingworxStorage sein.
Das Folgende ist für a, b und c relevant. Fügen Sie dem ThingWorx Internal Keystore die Passwörter für keystore und truststore hinzu, um diese Werte zu schützen.
a. In den folgenden Teilschritten verwenden wir security-common-cli, ein internes ThingWorx Tool, mit dem Geheimnisse in den Keystore eingefügt werden können. Das Tool security-common-cli sollte im Installationsordner vorhanden sein. Weitere Informationen finden Sie im Hilfe-Center im Thema über das Sicherheitsmanagement-Tool. Wiederholen Sie diesen Prozess bei Bedarf für jede Plattform, mit unterschiedlichen Versionen der Datei "keystore.conf" unter Angabe der folgenden Parameter: password-file-path und path.
b. Führen Sie mit dem Tool security-common-cli über die Befehlszeile den folgenden Befehl aus (geben Sie den gültigen Pfad zu "security-common-tool" an)
:
cd [...]\security-common-cli-1.3.6.110\bin
security-common-cli
c. Führen Sie im Terminal von security-common-cli die folgenden Befehle aus, und ersetzen Sie secret durch Ihre benutzerdefinierten Passwörter für keystore und truststore. Geben Sie einen gültigen Pfad zur Datei keystore.conf ein.
> init [...]\keystore.conf
> set encrypt.akka.keystore.password "secret"
> set encrypt.akka.truststore.password "secret"
3. Legen Sie die Dateien akka-keystore.jks und akka-truststore.jks in einem bekannten Pfad ab. Der Pfad kann relativ oder absolut sein. So ist beispielsweise /ThingworxPlatform/[...]/akka-keystore.jks ein relativer Pfad. Dagegen ist beispielsweise C:/akkaCerts/akka-keystore.jks ein absoluter Pfad.
* 
Sie dürfen nur über jeweils eine Kopie von akka-keystore.jks und akka-truststore.jks verfügen. Da Sie diese Dateien einmal für alle Plattformen im Cluster erstellen und für alle Plattformen dieselben Dateien verwenden, müssen Sie für jede Plattform dieselben Kopien verwenden.
* 
Es wird empfohlen, die Dateien im Ordner/ThingworxPlatform abzulegen und einen relativen Pfad zu verwenden.
4. Bearbeiten Sie die Datei ThingworxPlatform\platform-settings.json, und fügen Sie unter dem Abschnitt ClusteredModeSettings die folgenden Parameter hinzu:
"ClusteredModeSettings": {
"CoordinatorConnectionTimeout": 10000,
"CoordinatorHosts": "localhost:2181",
"CoordinatorMaxRetries": 3,
"CoordinatorRetryTimeout": 3000,
"CoordinatorSessionTimeout": 90000,
"LoadBalancerBase64EncodedCredentials": "QWRtaW5pc3RyYXRvcjp0clVmNnl1ejI/X0d1Yg==",
"PlatformId": "platform1",
"ZKNamespace": "",
"MetricsCacheFrequency": "60000",
"ModelSyncPollInterval": "100",
"ModelSyncTimeout": "120000",
"ModelSyncMaxDBUnavailableErrors": "10",
"ModelSyncMaxCacheUnavailableErrors": "10",
"IgnoreInactiveInterfaces": true,
"IgnoreVirtualInterfaces": true,
"HostAddressFilter": "",
"AkkaSSLEnabled": true,
"AkkaKeyStore":"C:/tempcerts/akka-keystore.jks",
"AkkaTrustStore":"C:/tempcerts/akka-keystore.jks",
"AkkaKeyStorePassword":"encrypt.akka.keystore.password",
"AkkaTrustStorePassword":"encrypt.akka.truststore.password"
}
Geben Sie den gültigen Pfad für akka-keystore.jks und akka-truststore.jks an.
"AkkaSSLEnabled": true,
"AkkaKeyStore":"[...]/akka-keystore.jks",
"AkkaTrustStore":"[...]/akka-truststore.jks",
"AkkaKeyStorePassword":"encrypt.akka.keystore.password",
"AkkaTrustStorePassword":"encrypt.akka.truststore.password"
* 
AkkaTlsProtocolVersion ist ein optionaler Parameter. Der Standardwert für diesen Parameter ist TLSv1.2, was bei Bedarf in Zukunft geändert werden kann.
5. Starten Sie die Anwendung neu.
War dies hilfreich?