SSL/TLS für Ignite konfigurieren
Sie können SSL oder TLS für Ignite konfigurieren, wenn Sie ThingWorx HA Clustering verwenden.
Ignite konfigurieren
Um Ignite mit SSL auszuführen, müssen wir SslContextFactory in der Ignite-Konfigurationsdatei instanziieren, in der Sie den Schlüsselspeicherpfad und das Passwort hinzufügen. Im folgenden Beispiel ist unser Schlüsselspeicherpfad /ThingworxPlatform/ignite-keystore/ignite.pfx:
<bean id="grid.cfg" class="org.apache.ignite.configuration.IgniteConfiguration">
<property name="sslContextFactory">
<bean class="org.apache.ignite.ssl.SslContextFactory">
<property name="keyStoreFilePath" value="/ThingworxPlatform/ignite-keystore/ignite.pfx"/>
<property name="keyStorePassword" value="ptcptc"/>
<property name="trustManagers">
<bean class="org.apache.ignite.ssl.SslContextFactory" factory-method="getDisabledTrustManager"/>
</property>
</bean>
</property>
</bean>
Run Ignite:
./ignite.sh config/default-config.xml
Der folgende Text sollte beim Starten von Ignite in der Konsole angezeigt werden: Security status [authentication=off, tls/ssl=on].
ThingWorx konfigurieren
Jetzt können Sie Ignite in ThingWorx konfigurieren. Ignite kann als Client oder eingebettet ausgeführt werden. Diese Konfiguration funktioniert für beide Optionen.
1. Kopieren Sie die Ignite-Zertifikate in Ihre Instanz, oder stellen Sie sicher, dass sie auf dem Rechner verfügbar sind, auf dem ThingWorx ausgeführt wird.
2. Ändern Sie die Datei platform-settings.json in aktives SSL. Ändern Sie auch igniteKeyStoreFilePath und igniteKeyStorePassword.
"cache": {
"init-timeout": "30 seconds",
"provider-type": "com.thingworx.cache.ignite.IgniteCacheProvider",
"cache-mappings": {},
"ignite": {
"instance-name": "twx-core-server",
"client-mode": false,
"address-resolver" : {
"type": "zookeeper",
"connection": "localhost:2181"
},
"ssl-active": true,
"igniteKeyStoreFilePath": "/ThingworxPlatform/ignite-keystore/ignite.pfx",
"igniteKeyStorePassword": "ptcptc"
}
Passwörter mit dem ThingWorx Sicherheitsmanagement-Tool verschlüsseln
Wenn Sie kein einfaches Passwort in die Datei platform-settings.json einfügen möchten, können Sie es in twx-keystore mit dem Sicherheits-Tool verschlüsseln. Sie müssen das Passwort mit encrypt.ignite.keystore.password verschlüsseln.
./security-common-cli keystore.conf set encrypt.ignite.keystore.password "ptcptc"
Ändern Sie dann die Datei platform-settings.json, sodass ThingWorx das Passwort aus dem Schlüsselspeicher abruft:
"ssl-active": true,
"igniteKeyStoreFilePath": "/ThingworxPlatform/ignite-keystore/ignite.pfx",
"igniteKeyStorePassword": "encrypt.ignite.keystore.password"