AKKA の SSL/TLS の設定
オンプレミス環境での AKKA の SSL/TLS の設定
* 
この配分機能は、ThingWorx 9.4 以降で使用できます。
オンプレミス環境で ThingWorx HA クラスタを使用しているときに AKKA の SSL を設定するには、次の手順を実行します。
1. すべてのプラットフォームが使用するキーストアトラストストアを作成します。
* 
キーワード secret は、カスタマイズされたパスワードに置き換えることができます。このパスワードを使用して、作成されたキーストアとトラストストアにアクセスします。
a. 公開キーと秘密キーを使用してキーストアを作成するには、端末で次のコマンドを実行します。
keytool -v -genkeypair -dname "CN=SEEKERS,OU=RND,O=PTC,C=IL" -keystore akka-keystore.jks -storepass secret -keyalg RSA -keysize 2048 -alias server -validity 3650 -deststoretype pkcs12 -ext KeyUsage=digitalSignature,dataEncipherment,keyEncipherment,keyAgreement -ext ExtendedKeyUsage=serverAuth,clientAuth -ext SubjectAlternativeName:c=DNS:localhost,IP:127.0.0.1
b. サーバー証明書をエクスポートします。
keytool -v -exportcert -file server.cer -alias server -keystore akka-keystore.jks -storepass secret -rfc
c. クライアントのトラストストアを作成し、次のコマンドを使用してサーバー証明書をインポートします。
keytool -v -importcert -file server.cer -alias server -keystore akka-truststore.jks -storepass secret -noprompt
2. 次のコンテンツを含む keystore.conf を作成します。
{
security {
secret-provider = "com.thingworx.security.provider.keystore.KeyStoreProvider"
default-encryption-key-length = 128
keystore {
password-file-path = "I:\\ThingworxPlatform"
password-file-name = "keystore-password"
path = "I:\\ThingworxStorage"
name = "keystore"
}
}
}
* 
password-file-pathThingworxPlatform フォルダへのパスでなければなりません。pathThingworxStorage フォルダへのパスでなければなりません。
以下は a、b、および c に関連します。keystore および truststore のパスワードを ThingWorx 内部キーストアに追加して、これらの値を保護します。
a. 以下のサブステップでは、ThingWorx 内部ツール security-common-cli を使用して、シークレットをキーストアに挿入します。security-common-cli ツールはインストールフォルダに存在している必要があります。詳細については、ヘルプセンターの「セキュリティ管理ツール」を参照してください。必要に応じて、このプロセスをプラットフォームごとに繰り返します。このとき、各バージョンの keystore.conf で password-file-path および path パラメータを指定します。
b. security-common-cli ツールを使用して、コマンドラインから次のコマンドを実行します (security-common-tool への有効なパスを指定します)。
:
cd [...]\security-common-cli-1.3.6.110\bin
security-common-cli
c. security-common-cli ターミナルから、以下のコマンドを実行し、secretkeystore および truststore のカスタムパスワードに置き換えます。有効な keystore.conf パスを入力します。
> init [...]\keystore.conf
> set encrypt.akka.keystore.password "secret"
> set encrypt.akka.truststore.password "secret"
3. akka-keystore.jks および akka-truststore.jks ファイルを既知のパスに配置します。相対パスまたは絶対パスを指定できます。たとえば、相対パスは /ThingworxPlatform/[...]/akka-keystore.jks になります。絶対パスの場合は C:/akkaCerts/akka-keystore.jks などになります。
* 
akka-keystore.jksakka-truststore.jks のコピーは 1 つだけ使用します。これらのファイルはクラスタ内のすべてのプラットフォームに対して一度作成し、すべてのプラットフォームで同じファイルを使用するので、プラットフォームごとに同じコピーを使用する必要があります。
* 
これらのファイルを /ThingworxPlatform フォルダに配置し、相対パスを使用することをお勧めします。
4. ThingworxPlatform\platform-settings.json を編集し、ClusteredModeSettings セクションに以下のパラメータを追加します。
"ClusteredModeSettings": {
"CoordinatorConnectionTimeout": 10000,
"CoordinatorHosts": "localhost:2181",
"CoordinatorMaxRetries": 3,
"CoordinatorRetryTimeout": 3000,
"CoordinatorSessionTimeout": 90000,
"LoadBalancerBase64EncodedCredentials": "QWRtaW5pc3RyYXRvcjp0clVmNnl1ejI/X0d1Yg==",
"PlatformId": "platform1",
"ZKNamespace": "",
"MetricsCacheFrequency": "60000",
"ModelSyncPollInterval": "100",
"ModelSyncTimeout": "120000",
"ModelSyncMaxDBUnavailableErrors": "10",
"ModelSyncMaxCacheUnavailableErrors": "10",
"IgnoreInactiveInterfaces": true,
"IgnoreVirtualInterfaces": true,
"HostAddressFilter": "",
"AkkaSSLEnabled": true,
"AkkaKeyStore":"C:/tempcerts/akka-keystore.jks",
"AkkaTrustStore":"C:/tempcerts/akka-keystore.jks",
"AkkaKeyStorePassword":"encrypt.akka.keystore.password",
"AkkaTrustStorePassword":"encrypt.akka.truststore.password"
}
有効な akka-keystore.jks および akka-truststore.jks へのパスを指定します。
"AkkaSSLEnabled": true,
"AkkaKeyStore":"[...]/akka-keystore.jks",
"AkkaTrustStore":"[...]/akka-truststore.jks",
"AkkaKeyStorePassword":"encrypt.akka.keystore.password",
"AkkaTrustStorePassword":"encrypt.akka.truststore.password"
* 
AkkaTlsProtocolVersion はオプションのパラメータです。このパラメータのデフォルト値は TLSv1.2 で、必要に応じて後で変更できます。
5. アプリケーションを再起動します。
これは役に立ちましたか?