암호 암호화
자세한 내용은 이 도움말 센터의
보안 관리 도구 항목을 참조하십시오.
라이선스 및 데이터베이스 암호 암호화
키 저장소 공급자는 키 저장소에서 사용할 수 있도록 파일에 암호화된 상태로 저장된 보안 토큰을 사용합니다. 키 저장소에 작성되는 모든 데이터는 암호를 사용하여 안전하게 저장됩니다. 처음으로 공급자가 시작되면 공급자가 임의의 암호 값과 키 저장소 파일을 생성합니다(아직 없는 경우).
|
키 저장소 암호 및 키 저장소 파일은 응용 프로그램 사용자로만 제한되어야 합니다. 응용 프로그램 사용자는 파일에 대한 읽기/쓰기 권한이 있어야 합니다.
|
|
아래 예는 Windows를 기반으로 합니다. Linux 기반 OS를 사용하는 경우 필요한 대로 명령을 변경하십시오.
|
키 저장소 파일을 미리 만들고 해당 파일에 초기 데이터를 저장하려면
보안 관리 도구를 사용해야 합니다.
2. ZIP 파일의 콘텐츠를 폴더에 추출합니다.
3. 다음 매개 변수를 포함하는 구성 파일을 만들어 압축을 푼 파일의 bin 폴더에 배치합니다. 이 예에서는 파일의 이름이 keystore.conf이고, 도구의 버전은 1.0.3.48이며, 위치는 C://security-common-cli-1.0.3.48/bin입니다.
|
default-encryption-key-length는 응용 프로그램 구성과 일치해야 합니다. ThingWorx에서는 이 값이 platform-settings.json에 있는 InternalAesCryptographicKeyLength 매개 변수입니다. 기본값은 128이지만 Java 1.8.0_162 이상을 사용하는 경우 256비트 암호화를 사용할 수 있습니다. 필요한 경우 키 크기 제한에 대한 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. 다음을 실행하여 구성된 위치에 암호 파일 및 키 저장소를 만듭니다.
◦ 라이선스 암호:
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에서 암호 값을 encrypt.proxy.password로 변경합니다. 예를 들어, "proxyPassword": "encrypt.proxy.password"입니다.
◦ RabbitMQ 암호(ThingWorx Flow를 설치한 경우): platform-settings.json 파일의 OrchestrationSettings 아래에서 QueuePassword 값을 encrypt.queue.password로 변경합니다. 예를 들어, "QueuePassword": "encrypt.queue.password"입니다.
이 암호는 키 저장소에서 암호화된 암호를 발견하면 조회하도록 ThingWorx Platform에 신호를 보냅니다.