Cifrado de contraseñas
Para obtener más información, consulte el tema Herramienta de gestión de seguridad en este centro de ayuda.
Cifrado de contraseñas de base de datos y licencia
El proveedor de KeyStore utiliza un token seguro almacenado cifrado en un fichero para trabajar con el KeyStore. Todos los datos que se escriben en el KeyStore se almacenarán de forma segura mediante la contraseña. Cuando el proveedor se inicia por primera vez, genera un valor de contraseña aleatoria y un fichero de keystore, si aún no existen.
* 
La contraseña de KeyStore y el fichero de KeyStore deben estar restringidos solo al usuario de la aplicación. El usuario de la aplicación debe tener permisos de lectura y escritura para los ficheros.
* 
Los siguientes ejemplos se basan en Windows. Si se utiliza un sistema operativo basado en Linux, se deben cambiar los comandos según sea necesario.
Para crear previamente un fichero de KeyStore y almacenar los datos iniciales en él, se debe utilizar la Herramienta de gestión de seguridad.
1. Obtenga el fichero ZIP de la herramienta de gestión de seguridad del sitio de soporte técnico de PTC.
2. Extraiga el contenido del fichero comprimido en una carpeta.
3. Cree un fichero de configuración con los siguientes parámetros y colóquelo en la carpeta bin de los ficheros descomprimidos. En este ejemplo, el fichero se denomina keystore.conf, la versión de la herramienta es 1.0.3.48 y se encuentra en C://security-common-cli-1.0.3.48/bin.
* 
El parámetro default-encryption-key-length debe coincidir con la configuración de la aplicación. En ThingWorx, el parámetro InternalAesCryptographicKeyLength se encuentra en platform-settings.json. El valor por defecto es 128, pero se puede utilizar la codificación de 256 bits si se utiliza Java 1.8.0_162 o superior. Si fuese necesario, también se pueden utilizar versiones anteriores de Java mediante la actualización de la directiva de Java para el límite de tamaño de la clave.
{
security {
secret-provider = "com.thingworx.security.provider.keystore.KeyStoreProvider"
default-encryption-key-length = 128
keystore {
password-file-path = "/ThingworxPlatform"
password-file-name = "keystore-password"
path = "/ThingworxStorage"
name = "keystore"
}
}
}
4. Inicie un símbolo del sistema y vaya a la ubicación de common-cli-1.0.3.48\bin.
5. Ejecute lo siguiente para crear un fichero de contraseña y KeyStore en la ubicación configurada:
Contraseña de la licencia:
C:\security-common-cli-1.0.3.48\bin> security-common-cli.bat <path to keystore>\keystore.conf
set encrypt.licensing.password "add-password-here"
Contraseña de base de datos:
C:\security-common-cli-1.0.3.48\bin> security-common-cli.bat <path to keystore>\keystore.conf
set encrypt.db.password "add-password-here"
Contraseña de proxy de licencia:
C:\security-common-cli-1.0.3.48\bin> security-common-cli.bat <path to keystore>\keystore.conf
set encrypt.proxy.password "add-password-here"
Contraseña de RabbitMQ (si se ha instalado ThingWorx Flow):
C:\security-common-cli-1.0.3.48\bin> security-common-cli.bat <path to keystore>\keystore.conf
set encrypt.queue.password "add-password-here"
6. Abra ThingworxPlatform\platform-settings.json y realice las siguientes actualizaciones:
Contraseña de la licencia: en LicensingConnectionSettings, cambie el valor de password a encrypt.licensing.password. Por ejemplo, "password": "encrypt.licensing.password"
Contraseña de la base de datos: en PersistenceProviderPackageConfigs ConnectionInformation para el proveedor de persistencia que se utilice, cambie el valor de password a encrypt.db.password. Por ejemplo, "password": "encrypt.db.password"
Contraseña de proxy de licencia: en LicensingConnectionSettings, cambie el valor de la contraseña a encrypt.proxy.password. Por ejemplo, "proxyPassword": "encrypt.proxy.password"
Contraseña de RabbitMQ (si se ha instalado ThingWorx Flow): en el fichero platform-settings.json, en OrchestrationSettings, cambie el valor de QueuePassword a encrypt.queue.password. Por ejemplo, "QueuePassword": "encrypt.queue.password"
Esta contraseña indica a ThingWorx Platform que busque la contraseña cifrada en el keystore cuando se encuentre.
¿Fue esto útil?