セキュアな接続のための SSL の使用
ThingWorx サーバーと Windchill アプリケーションの間の通信を保護するために、サイトで双方向 SSL を使用できます。本番環境で作業する際には SSL を使用することを PTC は推奨しています。拡張機能は、SSL を使用してサーバーを相互に認証するとともに、通信自体を保護することもできます。
SSL 接続は、両方のシステム相互間の信頼関係を必要とします。このためには、トランザクション用のキーを提供する ThingWorx サーバーの Java キーとトラストストアを参照するように、新旧の WindchillConnector Thing Template を設定する必要があります。これらのキーを信頼するように Windchill サーバー上の HTTP サーバーを設定する必要があります。
SSL コンフィギュレーションは環境によって大きく異なり、このトピックでは SSL コンフィギュレーションで使用できるすべてのオプションについては説明しません。代わりに、次の手順で SSL を設定するプロセスの概要を説明します。
この手順では、ThingWorx と Windchill の両方が標準の通信に SSL を使用するように設定されていることが前提です。また、PTC HTTP サーバーの最新バージョンに付属するコンフィギュレーションスクリプトを使用します。最新の PTC HTTP サーバーは、Windchill 11.0 M030 以降に付属しています。
|
商用のトラステッドワイルドカード証明書を Windchill に使用し、自己署名証明書を ThingWorx と Windchill の間で使用できます。
|
KeyStore と TrustStore を使用した ThingWorx の設定
ThingWorx は、Java キーストアとトラストストアを必要とします。
1. ThingWorx 用の TrustStore を作成し、Windchill SSL 認証をインポートします。
2. ThingWorx 用の KeyStore を作成し、KeyStore に KeyPair を生成します。
3. ThingWorx を信頼するように Windchill を設定します。
4. 保護する Windchill システムに ThingWorx を接続するために使用する、WindchillConnector Thing Template のコンフィギュレーション内でこれらのストアを参照します。
クライアント認証用の Windchill の設定
Windchill サーバー上で、ThingWorx キーと証明書を信頼するように PTC HTTP サーバーで SSL 認証を設定します。
|
コード例はページに収まるように整形されており、行番号、隠し編集文字 (タブや行末文字など)、および余分なスペースが含まれる場合があります。コードを切り取って貼り付ける場合は、アプリケーション内で例を使用する前に、これらの文字を確認して除去してください。
|
1. CA 証明書ファイルを参照するように PTC HTTP サーバーの設定を更新します。
a. <HTTP サーバーホーム>\conf\ca-bundle.crt 内にファイルを作成します。この場所が推奨されますが、必須ではありません。
b. ca-bundle.crt を保存します。
c. <HTTP サーバーホーム>\conf\sslvhostconf.d に sslclientauth.conf ファイルを作成します。
d. SSLCACertificateFile を <上位のパス>\ca-bundle.crt に追加して、ca-bundle.crt ファイルを参照するようにします。以下に例を示します。
SSLCACertificateFile
<HTTP_Server>\conf\ca-bundle.crt
e. 変更を保存します。
2. PTC HTTP サーバーのトラステッド CA 証明書のリストに ThingWorx クライアント証明書を追加します。
a. SSLCACertificateFile エントリ内で以前指定した ca-bundle.crt ファイルを編集します。
|
ファイルがまだ存在しない場合は、ファイルと必要なディレクトリを作成します。
|
b. ca-bundle.crt を編集し、ThingWorx クライアント証明書の PEM ファイルのコンテンツを貼り付けます。
c. 変更を保存します。
3. sslClientAuth URL を指すように PTC HTTP サーバーを設定します。
a. <Windchill_ホーム>/codebase/wt.properties 内のエントリ wt.webapp.name で、Windchill Web アプリケーション名を見つけます。
b. シェルまたはコマンドプロンプトを開き、以下を入力します。
cd <HTTPSERVER_HOME>ant -f webAppConfig.xml -DappName=[windchill-web-app] -Dresource=sslClientAuth -DresourceAuthType=sslClientAuth addAuthResource
c. ThingWorx 証明書を信頼するように Windchill を設定します。
a. <Windchill_ホーム>/codebase/WEB-INF/web.xml を編集します。
b. <filter-name>TrustedSSLAuthFilter</filtername> を見つけます。
c. 以下のように、追加の <元のパラメータ> 要素を既存のものの後に追加します。ここで、[thingworx-cert-name] は ThingWorx 証明書の名前です。
<init-param><param-name>trustedSubjectPattern.1</param-name><param-value>
[thingworx-cert-name]</param-value></init-param>
d. 変更を保存します。
Windchill コネクタの設定
|
このコンフィギュレーションは、Info*Engine タスクを古いコネクタでのみ使用する場合に適用されます。
OData コネクタを使用して Info*Engine タスクを実行することもできます。「ThingWorx Navigate のカスタマイズ」の「Executing Info*Engine services with the OData Connector」を参照してください。
|
1. ThingWorx Composer で、設定している Windchill システムへの接続を表す WindchillConnector Thing Template を編集します。
2. ThingWorxKeyStore jks へのパスを指定し (スクリーンショットの例を参照)、パスワードも指定します。
3. ThingWorxTrustStore.jks へのパスを指定し (スクリーンショットの例を参照)、パスワードも指定します。
| タイプは JKS が推奨されますが、必須ではありません。 |
4. Windchillhttps アドレスと SSL ポートを指定します。
5. Thing を保存します。
6. ThingWorx アプリケーションログを表示して、設定エラーが発生していないことを確認します。
7. ptc-connected-demo-mashup を起動して、ThingWorx - Windchill のトラステッド SSL 設定を確認します。