Шифрование паролей
Дополнительные сведения см. в разделе Инструмент управления безопасностью в этом справочном центре.
Пароли шифрования лицензий и баз данных
Поставщик хранилища KeyStore использует для работы с KeyStore защищенную лексему, хранящуюся в файле в зашифрованном виде. Все данные, записанные в KeyStore, будут храниться безопасно, защищенные паролем. При первом запуске поставщика генерируется случайное значение пароля и файл хранилища ключей KeyStore, если они еще не существуют.
* 
Использование пароля KeyStore и файла KeyStore должно быть ограничено только пользователем приложения. Пользователь приложения должен иметь разрешения на чтение/запись для файлов.
* 
Ниже приведены примеры для Windows. При использовании ОС на основе Linux при необходимости измените команды.
Чтобы предварительно создать файл KeyStore и хранить в нем исходные данные, необходимо использовать Инструмент управления безопасностью.
1. ZIP-файл инструмента управления безопасностью можно получить на сайте поддержки PTC.
2. Извлеките содержимое ZIP-файла в какую-либо папку.
3. Создайте файл конфигурации со следующими параметрами и поместите его в папку bin разархивированных файлов. В этом примере имя файла: keystore.conf, версия инструмента: 1.0.3.48, расположение файла: C://security-common-cli-1.0.3.48/bin.
* 
Параметр default-encryption-key-length должен соответствовать конфигурации приложения. В ThingWorx это параметр InternalAesCryptographicKeyLength, находящийся в файле platform-settings.json. Значение по умолчанию: 128, но можно использовать 256-разрядное шифрование, если используется версия Java 1.8.0_162 или более поздняя. Если необходимо, можно также использовать более ранние версии Java, обновив политику Java для ограничения размера ключа.
{
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. Откройте окно командной строки и перейдите в расположение security-common-cli-1.0.3.48\bin.
5. Выполните следующее, чтобы создать файл пароля и KeyStore в настроенном расположении:
Пароль лицензии:
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"
Пароль базы данных:
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"
Пароль прокси-сервера лицензий:
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"
Пароль RabbitMQ (если установлен 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. Откройте файл ThingworxPlatform\platform-settings.json и измените его следующим образом:
Пароль лицензии: в разделе LicensingConnectionSettings измените значение password на encrypt.licensing.password. Например, "password": "encrypt.licensing.password".
Пароль базы данных: в разделе PersistenceProviderPackageConfigs ConnectionInformation для используемого поставщика хранилища данных измените значение password на encrypt.db.password. Например, "password": "encrypt.db.password".
Пароль прокси-сервера лицензий: в разделе LicensingConnectionSettings измените значение password на encrypt.proxy.password. Например, "proxyPassword": "encrypt.proxy.password".
Пароль RabbitMQ (если установлен ThingWorx Flow): в файле platform-settings.json в разделе OrchestrationSettings измените значение QueuePassword на encrypt.queue.password. Например, "QueuePassword": "encrypt.queue.password".
Такой пароль является сигналом для ThingWorx Platform, что при его обнаружении нужно инициировать поиск зашифрованного пароля в хранилище KeyStore.
Было ли это полезно?