Crittografia delle password
Crittografia delle password di licenze e database (8.4.0+)
Il provider del keystore impiega un token sicuro memorizzato crittografato in un file per utilizzare il keystore. Tutti i dati scritti nel keystore vengono memorizzati in modo sicuro tramite la password. La prima volta che il provider viene avviato, genera un valore di password a caso e un file di keystore se non esistono già.
|
La password e il file del keystore devono essere limitati solo all'utente dell'applicazione. L'utente dell'applicazione deve disporre dei permessi di lettura/scrittura per i file.
|
|
Gli esempi riportati di seguito sono basati su Windows. Modificare i comandi in base alle esigenze se si utilizza un sistema operativo basato su Linux.
|
2. Estrarre il contenuto del file ZIP in una directory.
3. Creare un file di configurazione con i parametri seguenti e posizionarlo nella cartella bin dei file decompressi.
|
In questo esempio il file è denominato keystore.conf, la versione dello strumento è 1.0.0.36 e si trova in C://security-common-cli-1.0.0.36/bin.
|
|
Il parametro default-encryption-key-length deve corrispondere alla configurazione dell'applicazione. In ThingWorx è il parametro InternalAesCryptographicKeyLength situato in
platform-settings.json. Il valore di default è 128 ma, se si utilizza Java 1.8.0_162 o versioni successive, è possibile utilizzare la crittografia a 256 bit. Se necessario, è inoltre possibile usare le versioni precedenti di Java aggiornando i criteri di Java per il limite di dimensione della chiave.
|
{
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. Avviare un prompt dei comandi e andare al percorso security-common-cli-1.0.0.36\bin.
5. Eseguire quanto segue per creare un file di password e il keystore nel percorso configurato.
◦ Password di licenza:
C:\security-common-cli-1.0.0.36\bin> security-common-cli.bat <path to keystore>\keystore.conf
set encrypt.licensing.password "add-password-here"
◦ Password di database:
C:\security-common-cli-1.0.0.36\bin> security-common-cli.bat <path to keystore>\keystore.conf
set encrypt.db.password "add-password-here"
◦ Password proxy di licenza:
C:\security-common-cli-1.0.0.36\bin> security-common-cli.bat <path to keystore>\keystore.conf
set encrypt.proxy.password "add-password-here"
◦ Password di RabbitMQ (se è stato installato 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. Aprire ThingworxPlatform\platform-settings.json ed eseguire gli aggiornamenti seguenti.
◦ Password di licenza: in LicensingConnectionSettings impostare il valore della password su encrypt.licensing.password, ad esempio "password": "encrypt.licensing.password".
◦ Password di database: in PersistenceProviderPackageConfigs ConnectionInformation per il provider di persistenza in uso impostare il valore della password su encrypt.db.password, ad esempio "password": "encrypt.db.password".
◦ Password proxy di licenza: in LicensingConnectionSettings impostare il valore della password su encrypt.proxy.password, ad esempio "password": "encrypt.proxy.password".
◦ Password di RabbitMQ (se è stato installato ThingWorx Flow): nel file platform-settings.json, in OrchestrationSettings, modificare il valore di QueuePassword in encrypt.queue.password. ad esempio "QueuePassword": "encrypt.queue.password".
Questa password indica a ThingWorx Platform di cercare la password di licenza crittografata nel keystore quando viene rilevato.
Crittografia delle password di licenza e database (8.3.x e versioni precedenti)
Fare riferimento alle versioni precedenti della
guida all'installazione per questo processo.