Configuración de SSL/TLS para Ignite
Se puede configurar SSL o TLS para Ignite al utilizar la agrupación de alta disponibilidad de ThingWorx:
Configuración de Ignite
Para ejecutar Ignite con SSL, realice los siguientes pasos:
1. Cree el keystore de Ignite.
2. Cree una instancia de SslContextFactory en el fichero de configuración de Ignite, especificando la ruta y la contraseña de keystore. En el siguiente ejemplo, la ruta de keystore es /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>
Ejecutar Ignite:
./ignite.sh -v -J"${JVM_XOPTS}" config/default-config.xml
El siguiente texto debe aparecer en la consola cuando se inicie Ignite: Security status [authentication=off, tls/ssl=on].
Configuración de ThingWorx
Ahora se puede configurar Ignite en ThingWorx. Ignite se puede ejecutar como cliente o se manera integrada. Esta configuración funciona para cualquiera de las opciones.
1. Copie los certificados de Ignite en la instancia o asegúrese de que estén disponibles en el ordenador en el que se ejecuta ThingWorx.
|
|
Los usuarios de Tomcat deben tener acceso a los certificados o copiarlos en el directorio ThingworxPlatform.
|
2. Modifique el fichero platform-settings.json a SSL activo. Modifique también igniteKeyStoreFilePath e 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"
}
Cifrado de contraseñas con la herramienta de gestión ThingWorx Security
Para evitar la inserción de la contraseña sin formato en el fichero platform-settings.json, se puede cifrar la contraseña en twx-keystore con la herramienta de seguridad. La contraseña se debe cifrar mediante el encrypt.ignite.keystore.password.
./security-common-cli keystore.conf set encrypt.ignite.keystore.password "ptcptc"
A continuación, cambie el fichero platform-settings.json para que ThingWorx seleccione la contraseña del almacén de claves:
"ssl-active": true,
"igniteKeyStoreFilePath": "/ThingworxPlatform/ignite-keystore/ignite.pfx",
"igniteKeyStorePassword": "encrypt.ignite.keystore.password"