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
AkkaSettings die folgenden Parameter hinzu:
AkkaSSLEnabled,
AkkaKeyStore,
AkkaTrustStore,
AkkaKeyStorePassword,
AkkaTrustStorePassword,
AkkaTlsProtocolVersion, wie unter
Plattformeinstellungen für ThingWorx HA beschrieben. Geben Sie den gültigen Pfad für
akka-keystore.jks und
akka-truststore.jks an.
Beispiel:
"AkkaSSLEnabled": true,
"AkkaKeyStore":"[...]/akka-keystore.jks",
"AkkaTrustStore":"[...]/akka-truststore.jks",
"AkkaKeyStorePassword":"encrypt.akka.keystore.password",
"AkkaTrustStorePassword":"encrypt.akka.truststore.password"
"AkkaTlsProtocolVersion":"TLSv1.2"
|
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.