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:
<?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>
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"
}
Consulte la sección de configuración de caché y ejemplo en Configuración de plataforma para la alta disponibilidad de ThingWorx.
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"
Configuración de SSL/TLS para Zookeeper
Para configurar SSL/TLS para ZooKeeper, consulte Configuración de SSL/TLS para ZooKeeper.
¿Fue esto útil?