Configurazione di SSL/TLS per Ignite
È possibile configurare SSL o TLS per Ignite quando si utilizza il clustering a disponibilità elevata ThingWorx:
Configurazione di Ignite
Per eseguire Ignite con SSL, attenersi alla procedura descritta di seguito.
1. Creare il keystore di Ignite.
2. Creare un'istanza di SslContextFactory nel file di configurazione di Ignite, specificando il percorso del keystore e la password. Nell'esempio riportato di seguito il percorso del keystore è /ThingworxPlatform/ignite-keystore/ignite.pfx:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd">
<!-- Define Ignite configuration bean -->
<bean id="grid.cfg" class="org.apache.ignite.configuration.IgniteConfiguration">
<property name="peerClassLoadingEnabled" value="false"/>
<!-- SSL Context Factory -->
<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="keyStoreType" value="PKCS12"/>
<property name="trustStoreFilePath" value="/ThingworxPlatform/ignite-keystore/truststore.pfx"/>
<property name="trustStorePassword" value="ptcptc"/>
<property name="trustStoreType" value="PKCS12"/>
<property name="protocol" value="TLS"/>
</bean>
</property>
<!-- Other Ignite properties can go here -->
</bean>
</beans>
Esecuzione di Ignite:
./ignite.sh -v -J"${JVM_XOPTS}"  config/default-config.xml
Il testo seguente deve essere visualizzato nella console all'avvio di Ignite: Security status [authentication=off, tls/ssl=on].
Configurazione di ThingWorx
A questo punto è possibile configurare Ignite in ThingWorx. È possibile eseguire Ignite come client o in modalità incorporata. Questa configurazione funziona con entrambe le opzioni.
1. Copiare i certificati di Ignite nell'istanza o assicurarsi che siano disponibili nel computer in cui ThingWorx è in esecuzione.
* 
Gli utenti Tomcat devono avere accesso ai certificati o copiarli nella directory ThingworxPlatform.
2. Modificare il file platform-settings.json in un certificato SSL attivo. Modificare ancheigniteKeyStoreFilePath eigniteKeyStorePassword.
"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"
}
Vedere le sezioni Impostazioni della cache ed Esempio in Impostazioni di piattaforma per ThingWorx a disponibilità elevata.
Crittografia delle password con ThingWorx Security Management Tool
Se si desidera evitare di inserire la password semplice nel file platform-settings.json, è possibile crittografarla all'interno di twx-keystore utilizzando lo strumento di sicurezza. È necessario crittografare la password utilizzando encrypt.ignite.keystore.password.
./security-common-cli keystore.conf set encrypt.ignite.keystore.password "ptcptc"
Quindi, modificare il file platform-settings.json in modo che ThingWorx selezioni la password dal keystore:
"ssl-active": true,
"igniteKeyStoreFilePath": "/ThingworxPlatform/ignite-keystore/ignite.pfx",
"igniteKeyStorePassword": "encrypt.ignite.keystore.password"
Configurazione di SSL/TLS per ZooKeeper
Per configurare SSL/TLS per ZooKeeper, vedere Configurazione di SSL/TLS per ZooKeeper.
È stato utile?