Windchill 双方向 SSL 接続用 ThingWorx と ThingWorx Flow のセットアップ (9.0 のみ)
|
このトピックは ThingWorx Flow 9.0.2 以降を使用している場合には有効ではありません。
|
本番環境では Secure Sockets Layer (SSL) プロトコルを使用することをお勧めします。ThingWorx では SSL を使用してサーバーを相互認証し、サーバー間の通信を保護します。
HTTPS の設定には権限証明書が必要です。ThingWorx では、Java によって信頼されている証明書が必要です。Java によって信頼されていない証明書を使用する場合は、この証明書を Java で信頼されるように設定する必要があります。Verisign や Thawte などのサードパーティベンダーから提供されている証明書は、Java が信頼している権限証明書です。
|
このドキュメントでは、インストールに HTTPS を実装するために最低限必要な作業について説明します。これは、SSL コンフィギュレーションで使用可能なすべてのオプションを網羅したリストではありません。
|
必要条件
Windchill 双方向 SSL 接続用に ThingWorx と ThingWorx Flow をセットアップする前に、以下の必要条件を満たしていることを確認してください。
• Windchill は次の証明書を使用して設定します (Windchill 証明書が自己署名証明書である場合にのみ必要)。
◦ Windchill 証明書
このドキュメントでは、Windchill 証明書を server.crt ファイルに保存していることを前提としています。
◦ Windchill 証明書の作成に使用する CA 証明書。
このドキュメントでは、CA 証明書を rootCA.crt ファイルに保存していることを前提としています。
• JAVA_HOME/bin を PATH 環境変数に必ず追加してください。
手順
このプロセスの主な手順は以下のとおりです。
|
ThingWorx Navigate 用の ThingWorx の同じインスタンスに対して SSL をすでに設定している場合は、この手順をスキップします。
|
手順 1: Windchill 双方向 SSL 接続のための ThingWorx の設定
Windchill 双方向 SSL 接続のために ThingWorx を設定するには、自己署名証明書を使用して SSL 接続を受け入れるためのキーストアファイルを生成する必要があります。この操作を行うには、次の手順を完了します。
1. 管理者としてコマンドプロンプトを開始し、キーストアファイルを保存する場所をブラウズします。
2. Java キーストア (JKS)ファイル、thingworx.jks を作成し、エイリアス thingworx を使用して公開キーと秘密キーの最初のペアを生成します。
keytool -genkey -alias thingworx -keyalg rsa -dname "CN=<ThingWorx サーバーの完全修飾ドメイン名>" -keystore thingworx.jks -storetype JKS
プロンプトが表示されたら、キーストアファイルと秘密キーに同じパスワードを入力します。
パスワードには文字と数字のみを含むようにします。特殊文字はサポートされていません。PTC は、ユーザーが生成する証明書やキーストアおよびトラストストアファイルのセキュリティについて責任を負いません。
|
管理者としてコマンドプロンプトを開始しなかった場合、次のエラーが表示されることがあります。
keytool error: java.io.FileNotFoundException: thingworx.jks (Access is denied)
|
3. キーの自己署名証明書を生成します。
keytool -selfcert -alias thingworx -validity 1825 -keystore thingworx.jks -storetype JKS
キーストアのパスワードの入力を求められたら、前のコマンドで入力したものと同じパスワードを入力します。
4. 新しい自己署名証明書の公開キーをエクスポートします。
keytool -export -alias thingworx -file thingworx.cer -rfc -keystore thingworx.jks -storetype JKS
手順 2: Windchill 双方向 SSL 接続のための ThingWorx Flow の設定
パート A - thingworx.jks キーストアと関連付けられている証明書と秘密キーを取得します。
2. キーストアエクスプローラで、手順 1 で作成した ThingWorx キーストアである thingworx.jks を開きます。
プロンプトが表示されたら、キーストアの正しいパスワードを入力します。
3. thingworx を右クリックし、 > の順にクリックして、thingworx.jks キーストアに関連付けられている証明書をエクスポートします。
4. 「Export Certificate Chain from entry 'thingworx'」ウィンドウで、次の操作を行います。
a. 「Export Length」で、「Head Only」を選択します。
b. 「Export Format」で、「X.509」を選択します。
c. 「PEM」チェックボックスをオンにします。
d. 「Export File」フィールドで、「Browse」をクリックして、エクスポートした証明書を保存する場所をブラウズします。たとえば、thingworx.crt です。
e. 「Export」をクリックします。
5. thingworx を右クリックし、 > をクリックして、thingworx.jks キーストアに関連付けられている秘密キーをエクスポートします。
6. 「Export Private Key Type」ウィンドウで、「PKCS#8」を選択して「OK」をクリックします。
7. 「Export Private Key as PKCS#8 from KeyStore Entry 'thingworx'」ウィンドウで、次の操作を行います。
a. 「Encrypt」チェックボックスをオフにします。
b. 「PEM」チェックボックスをオンにします。
c. 「Export File」フィールドで、「Browse」をクリックして、エクスポートした秘密キーを保存する場所をブラウズします。たとえば、thingworx.key です。
d. 「Export」をクリックします。
部品 B - ThingWorx および Windchill 証明書を ThingWorx Flow トラストストアに追加します。
1. secret パラメータの値を使用して、トラストストアを復号化します。secret パラメータの値を取得するには、ThingWorx Flow をインストールしたマシンで管理者としてコマンドプロンプトを起動し、次のコマンドを実行します。
a. pm2 ls
任意の ThingWorx Flow サービスの ID の値をメモしておきます。
b. pm2 env <ID>
、ここで、<ID> は ThingWorx Flow サービスの ID です。例: flow-api サービスの ID。
c. CONFIG_IMAGE 変数の値をコピーします。これは secret パラメータの値です。
2. 次のコマンドを実行します。
<ThingWorx Flow インストールディレクトリ>\cryptography\tw-security-common-nodejs npm link
3. 次のコマンドを実行して、thingworx.crt 証明書ファイルをトラストストアに追加します。
PtcOrchKeyFileTool set --keyName thingworx-crt --keyPath <thingworx.crt のパス> --configPath <<任意の Flow サービスの config.json ファイルの絶対パス> --secret <トラストストアを復号化するためのシークレット>
keyName パラメータの値は変更しないでください。これは、thingworx-crt に設定する必要があります。
4. 次のコマンドを実行して、thingworx.key 秘密キーファイルをトラストストアに追加します。
PtcOrchKeyFileTool set --keyName thingworx-key --keyPath <thingworx.key のパス> --configPath <任意の Flow サービスの config.json ファイルの絶対パス> --secret <トラストストアを復号化するためのシークレット>
keyName パラメータの値は変更しないでください。これは、thingworx-key に設定する必要があります。
5. Windchill 証明書が自己署名証明書である場合は、次の操作を行います。
a. 新しいファイル ca.crt を作成します。
b. rootCA.crt ファイルと server.crt ファイルのコンテンツを ca.crt ファイル内に貼り付けます。
c. 次のコマンドを実行して、Windchill 証明書をトラストストアに追加します。
PtcOrchKeyFileTool set --keyName <Windchill-crt>--keyPath <ca.crt ファイルのパス> --configPath <任意の Flow サービスの config.json ファイルの絶対パス> --secret <トラストストアを復号化するためのシークレット>
このコマンドでは、keyName パラメータの値を変更できます。複数の Windchill サーバーでは、keyName パラメータに別々の値を設定するようにしてください。
6. ThingWorx および ThingWorx Flow サーバーを再起動します。
Windchill 双方向 SSL 接続のための ThingWorx と ThingWorx Flow の設定が完了しました。
これで、Windchill 操作に対して Windchill 双方向 SSL 接続を追加できるようになりました。詳細については、
Windchill 双方向 SSL 接続の追加を参照してください。