|
|
This distributed capability is available after ThingWorx 9.4 and up.
|
|
|
The keyword secret can be replaced with a customized password. Use this password to access the created keystore and truststore.
|
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
keytool -v -exportcert -file server.cer -alias server -keystore akka-keystore.jks -storepass secret -rfc
keytool -v -importcert -file server.cer -alias server -keystore akka-truststore.jks -storepass secret -noprompt
{
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-path should be the path to the ThingworxPlatform folder. path should be the path to the ThingworxStorage folder.
|
cd [...]\security-common-cli-<latest>\bin
security-common-cli
> init [...]\keystore.conf
> set encrypt.akka.keystore.password "secret"
> set encrypt.akka.truststore.password "secret"
|
|
You should only have one copy of akka-keystore.jks and akka-truststore.jks. Because you create these files once for all the platforms in the cluster and use the same files for all the platforms, you need to use the same copies for each platform.
|
|
|
It is recommended that you place the files in the/ThingworxPlatform folder and use a relative path.
|
"AkkaSSLEnabled": true,
"AkkaKeyStore":"[...]/akka-keystore.jks",
"AkkaTrustStore":"[...]/akka-truststore.jks",
"AkkaKeyStorePassword":"encrypt.akka.keystore.password",
"AkkaTrustStorePassword":"encrypt.akka.truststore.password"
"AkkaTlsProtocolVersion":"TLSv1.2"
|
|
AkkaTlsProtocolVersion is an optional parameter. The default value for this parameter is TLSv1.2, which, if necessary, can be changed in the future.
|