使用 SSL 進行安全連線
您的網站可以使用雙向 SSL 來保護 ThingWorx 伺服器與 Windchill 應用程式之間的通訊。PTC 建議在生產環境中工作時使用 SSL。延伸功能可以使用 SSL 來讓伺服器彼此之間進行驗證,並保護通訊本身。
SSL 連線需要兩個系統之間彼此信任;為達成此目的,必須將 SwaggerConnector 與 ptc-windchill-Odata-connector 配置為參考保留在 ThingWorx 伺服器中的 Java KeyStore 與 TrustStore 檔案,以提供用於交易的金鑰。Windchill 伺服器中的 HTTP 伺服器必須配置為信任這些金鑰。
SSL 組態會有明顯不同,本主題不會嘗試描述 SSL 組態中的所有可用選項。相反地,下列步驟提供了 SSL 配置流程概觀。
此程序假設 ThingWorx 與 Windchill 都配置為針對其標準通訊使用 SSL。它也依賴隨附於 PTC HTTP 伺服器最新版本的組態指令集。Windchill 11.0 M030 及更新版本中包含最新的 PTC HTTP 伺服器。
• 您可以針對 Windchill 使用商業信任的萬用字元憑證。
• 您可以在 ThingWorx 與 Windchill 之間使用自行簽署憑證或商業信任的萬用字元憑證。
使用金鑰庫與信任庫配置 ThingWorx
ThingWorx 需要 Java KeyStore 與 TrustStore。建立這些檔案的指示在主題
針對 ThingWorx Navigate 建立 KeyStore 與 TrustStore 檔案 中。
1. 為 ThingWorx 建立 TrustStore 並匯入 Windchill SSL 憑證。
2. 針對 ThingWorx 建立 KeyStore,並在 KeyStore 中產生 KeyPair。
3. 將 Windchill 配置為信任 ThingWorx。
4. 在用來將 ThingWorx 連線至要保護的 Windchill 系統之 WindchillConnector 物範本的組態中參考它們。
為 Windchill 配置用戶端驗證
在 Windchill 伺服器上,配置 PTC HTTP 伺服器中的 SSL 驗證以信任 ThingWorx 金鑰與憑證。
|
程式碼範例已重新設定格式以符合頁面大小,因此可能包含行號、隱藏的編輯字元 (例如 tab 和行尾字元),以及額外的空格。如果您剪下並貼上程式碼,請檢查這些字元並將其移除再嘗試在您的應用程式中使用範例。
|
1. 更新 PTC HTTP 伺服器組態,以參照 CA 憑證檔案。
a. 在 <HTTPSERVER_HOME>\conf\ca-bundle.crt 中建立檔案。建議使用此位置,但並非必要。
b. 儲存 ca-bundle.crt。
c. 在 <HTTPSERVER_HOME>\conf\sslvhostconf.d 中建立 sslclientauth.conf 檔案。
d. 將 SSLCACertificateFile 新增至 <PATH_TO>\ca-bundle.crt,以使其參照 ca-bundle.crt 檔案.例如:
SSLCACertificateFile
<HTTP_Server>\conf\ca-bundle.crt
e. 儲存變更。
2. 將 ThingWorx 用戶端憑證新增至 PTC HTTP 伺服器的信任 CA 憑證清單。
a. 編輯您之前在 SSLCACertificateFile 項目中指向的 ca-bundle.crt 檔案。
b. 編輯 ca-bundle.crt 並貼上 ThingWorx 用戶端憑證的 PEM 檔案內容。
c. 儲存變更。
3. 針對 sslClientAuth URL 配置 PTC HTTP 伺服器。
a. 在 <windchill-home>/codebase/wt.properties 的 wt.webapp.name 項目中尋找 Windchill web app 名稱。
b. 開啟 shell 或指令提示,然後輸入下列指令︰
cd <HTTPSERVER_HOME>ant -f webAppConfig.xml -DappName=[windchill-web-app] -Dresource=sslClientAuth -DresourceAuthType=sslClientAuth addAuthResource
c. 將 Windchill 配置為信任 ThingWorx 憑證。
a. 編輯 <windchill-home>/codebase/WEB-INF/web.xml。
b. 尋找 <filter-name>TrustedSSLAuthFilter</filtername>。
c. 在現有的 <init-param> 元素之後新增另一個此類元素,其中 [Subject] 是憑證名稱。
下列範例可用作參考:
<init-param>
<param-name>trustedSubjectPattern.1</param-name>
<param-value>[Subject]</param-value>
</init-param>
在上面的範例中,將 [Subject] 取代為憑證「主旨」中提供的憑證名稱。例如,如果憑證「主旨」是 CN=navigate.domain.com,則將 [Subject] 取代為 CN=navigate.domain.com。
d. 儲存變更。
e. 重新啟動 Windchill 與 PTC HTTP 伺服器。